Перейти до вмісту

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 має доступ для читання репозиторію.