Към съдържанието

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