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 има достъп за четене на хранилището.