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