Daytona
Daytona дає змогу запускати термінал і попередній перегляд у хмарному ізольованому середовищі Termbridge. Використовуйте цей режим для відтворюваного середовища, хмарного попереднього перегляду або щоб не навантажувати ноутбук.
Вимоги
- Ключ Daytona API
- Репозиторій URL, який можна клонувати в ізольоване середовище
- Облікові дані Git, якщо репозиторій приватний
Швидкий початок
Задайте для серверної частини значення Daytona і вкажіть конфігурацію репозиторію:
export TERMBRIDGE_BACKEND=sandbox-daytona
export TERMBRIDGE_DAYTONA_API_KEY=your_key
export TERMBRIDGE_SANDBOX_REPO=https://github.com/you/your-repo.git
export TERMBRIDGE_SANDBOX_BRANCH=main
export TERMBRIDGE_SANDBOX_PATH=your-repo
export TERMBRIDGE_SANDBOX_NAME=termbridge-sandbox
export TERMBRIDGE_SANDBOX_PUBLIC=true
export TERMBRIDGE_SANDBOX_PREVIEW_PORT=5173
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true
Потім запустіть Termbridge як зазвичай:
npx termbridge
Завжди задавайте TERMBRIDGE_SANDBOX_REPO (або --sandbox-repo). Якщо значення відсутнє, Termbridge наразі використовує вбудований типовий репозиторій, який недоступний публічно, тому ізольоване середовище створюється, але клонування завершується помилкою (#2).
Підключення Daytona
| Змінна | Призначення |
|---|---|
TERMBRIDGE_DAYTONA_API_KEY |
Ваш ключ Daytona API |
TERMBRIDGE_DAYTONA_API_URL |
Кінцева точка API (типово https://app.daytona.io/api) |
TERMBRIDGE_DAYTONA_TARGET |
Цільовий регіон Daytona (необов’язково) |
Вони передаються до SDK Daytona. Якщо одну з них не задано, SDK використовує власну змінну DAYTONA_API_KEY, DAYTONA_API_URL або DAYTONA_TARGET.
Прямий режим ізольованого середовища (без тунелю)
У прямому режимі сервер Termbridge працює всередині ізольованого середовища, а Cloudflare повністю пропускається. Посилання URL — це посилання Daytona для попереднього перегляду сервера в ізольованому середовищі.
export TERMBRIDGE_BACKEND=sandbox-daytona
export TERMBRIDGE_SANDBOX_DIRECT=true
export TERMBRIDGE_SANDBOX_SERVER_PORT=8080
TERMBRIDGE_SANDBOX_SERVER_PORT (або --port) типово має значення 8080. У прямому режимі створюється публічне ізольоване середовище, якщо не задати TERMBRIDGE_SANDBOX_PUBLIC=false, а UI приховує перемикач терміналів.
Попередній перегляд усе ще можна ввімкнути, задавши TERMBRIDGE_SANDBOX_PREVIEW_PORT; у прямому режимі це значення передається як порт сервера --proxy.
Клонування репозиторію
Termbridge створить ізольоване середовище та клонує репозиторій у робочий каталог цього середовища.
Використовуйте такі параметри:
| Змінна | Призначення |
|---|---|
TERMBRIDGE_SANDBOX_REPO |
URL репозиторію для клонування (обов’язково задайте, див. короткий посібник) |
TERMBRIDGE_SANDBOX_BRANCH |
Гілка для переходу (необов’язково) |
TERMBRIDGE_SANDBOX_PATH |
Шлях до репозиторію в ізольованому середовищі (необов’язково) |
TERMBRIDGE_SANDBOX_NAME |
Назва ізольованого середовища (необов’язково, типово termbridge-<random hex>) |
Якщо TERMBRIDGE_SANDBOX_PATH не задано, Termbridge формує його з назви репозиторію.
Приватні репозиторії
Під час клонування приватних репозиторіїв вкажіть облікові дані git:
export TERMBRIDGE_SANDBOX_GIT_USERNAME=your_github_username
export TERMBRIDGE_SANDBOX_GIT_TOKEN=your_github_token
Також підтримується TERMBRIDGE_SANDBOX_GIT_PASSWORD; якщо задано, воно замінює токен.
Агенти для програмування
Termbridge може встановити агентів для програмування в ізольованому середовищі та синхронізувати локальні дані автентифікації, щоб вони були готові до роботи відразу.
Докладніше про налаштування, автоматичний режим і безпеку читайте в посібнику «Агенти для програмування».
Режим попереднього перегляду
Щоб відобразити режим попереднього перегляду, задайте для TERMBRIDGE_SANDBOX_PREVIEW_PORT порт, який використовує сервер розробки всередині ізольованого середовища.
Для Vite переконайтеся, що сервер прив’язаний до всіх мережевих інтерфейсів:
npm run dev -- --host 0.0.0.0 --port 5173
Termbridge отримує посилання Daytona для попереднього перегляду та проксіює його через сервер Termbridge, щоб попередній перегляд завантажувався в UI.
Публічні й приватні ізольовані середовища
| Змінна | Дія |
|---|---|
TERMBRIDGE_SANDBOX_PUBLIC=true |
Створює публічне ізольоване середовище |
TERMBRIDGE_SANDBOX_PUBLIC=false |
Створює приватне ізольоване середовище |
Якщо змінну не задано, ізольовані середовища приватні, крім прямого режиму, у якому вони публічні.
Для приватних ізольованих середовищ Termbridge автоматично передає токен попереднього перегляду під час проксіювання.
Очищення та життєвий цикл
Щоб видаляти ізольовані середовища після завершення Termbridge:
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true
Для короткочасних або тестових ізольованих середовищ використовуйте префікс:
export TERMBRIDGE_SANDBOX_NAME=termbridge-test-$(date +%s)
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true
Це допомагає контролювати використання ізольованих середовищ і уникати перевищення дискової квоти.
Прапорці CLI
Також можна налаштувати Daytona за допомогою прапорців. Прапорець має пріоритет над відповідною змінною середовища.
| Прапорець | Змінна середовища | Призначення |
|---|---|---|
--backend sandbox-daytona |
TERMBRIDGE_BACKEND |
Використовувати серверну частину Daytona |
--sandbox-repo <url> |
TERMBRIDGE_SANDBOX_REPO |
Репозиторій URL |
--sandbox-branch <branch> |
TERMBRIDGE_SANDBOX_BRANCH |
Гілка |
--sandbox-path <path> |
TERMBRIDGE_SANDBOX_PATH |
Шлях до репозиторію в ізольованому середовищі |
--sandbox-name <name> |
TERMBRIDGE_SANDBOX_NAME |
Назва ізольованого середовища |
--sandbox-preview-port <port> |
TERMBRIDGE_SANDBOX_PREVIEW_PORT |
Порт попереднього перегляду |
--sandbox-public |
TERMBRIDGE_SANDBOX_PUBLIC=true |
Створити публічне ізольоване середовище |
--sandbox-direct |
TERMBRIDGE_SANDBOX_DIRECT=true |
Запустити сервер в ізольованому середовищі (без тунелю) |
Прапорця для приватного ізольованого середовища немає; використовуйте TERMBRIDGE_SANDBOX_PUBLIC=false. У вбудованому виводі termbridge --help усе ще відображаються назви --daytona-* і --backend daytona, які відхиляються (#1).
Усунення несправностей
Порожній екран попереднього перегляду
- Переконайтеся, що сервер розробки запущений в ізольованому середовищі.
- Використайте
--host 0.0.0.0, щоб порт попереднього перегляду був доступний. - Перевірте, чи відповідає
TERMBRIDGE_SANDBOX_PREVIEW_PORTпорту сервера розробки.
Не вдається створити ізольоване середовище через перевищення квоти
- Видаліть старі середовища на панелі керування Daytona.
- Використовуйте
TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=trueдля короткочасних сеансів.
Не вдається клонувати репозиторій
- Перевірте URL репозиторію, гілку й облікові дані.
- Переконайтеся, що токен Git має доступ для читання репозиторію.