detachbox
СтраницыВыбор и настройка агента

Выбор и настройка агента

В каждом боксе работает один агент: его запускает каждая новая вкладка терминала. Claude Code, Codex, OpenCode и Gemini CLI предустановлены с выключенными подтверждениями, рядом с Docker и полным набором инструментов разработчика.

Выберите агента для бокса

Агента выбирают в блоке 2. Агент при создании бокса. Чтобы сменить его позже:

  1. Откройте бокс и оставайтесь на вкладке Обзор.
  2. В панели Агент выберите новое значение в поле Каждая новая вкладка запускает.
  3. Откройте новую вкладку. Изменение действует на вкладки, которые вы открываете с этого момента. Открытые вкладки сохраняют своего агента.
Страница бокса shipyard: процессор, память и диск в реальном времени, SSH-команда, агент и аккаунт Claude, под которым он входит, и переключатели того, что делать, когда агент остановился.
АгентКак входит
Claude CodeВаша подписка Claude, подключённая в кабинете, или вход внутри бокса
CodexВаша подписка ChatGPT, подключённая в кабинете, или вход внутри бокса
OpenCodeСобственный вход, внутри бокса
Gemini CLIСобственный вход, внутри бокса
Claude Code · Z.aiВаш собственный API-ключ Z.ai
Claude Code · DeepSeekВаш собственный API-ключ DeepSeek
ШеллОбычный login shell. Запускайте любой инструмент

Переход на агента с другой ячейкой подписки отвязывает старую подписку и выключает ротацию. Подключение подписок описано в разделе Подписки.

Что есть в каждом боксе

Новые боксы работают на образе box-v3:

  • Ubuntu 26.04 LTS, Docker Engine с compose, Node 24, Python 3.14, git и tmux.
  • Пользователь dev с sudo без пароля, в группе docker.
  • CLI агентов: Claude Code, Codex, OpenCode, Gemini CLI, Happy и DeepSeek Harness (dsh), а также обёртки claude-zai и claude-deepseek.
  • Git и GitHub: gh, glab, git-lfs, delta.
  • Поиск и данные: ripgrep, fd, fzf, jq, yq, bat, httpie.
  • Клиенты баз данных: sqlite3, psql, redis-cli, mariadb.
  • Менеджеры пакетов: pipx, uv, mise, bun, pnpm, yarn.
  • Облако: kubectl, helm, OpenTofu (tofu), AWS CLI v2.

Тулчейны языков не предустановлены, чтобы не занимать диск. Добавьте нужный через mise:

mise use -g go@latest

CLI живут в вашей домашней папке, поэтому обновляются без sudo. Бокс, созданный до box-v3, работает на старом образе Debian, пока вы его не сбросите. Строка Образ в Настройках показывает, на каком образе работает бокс.

Подтверждения выключены

Бокс — это песочница, которую можно сбросить, поэтому каждый агент работает в режиме без запросов. Агент, который в два часа ночи ждёт вашего «да», ничего не доделает.

АгентРежим
Claude CodebypassPermissions
CodexПолитика подтверждений never, полный доступ
Gemini CLI--approval-mode=yolo
OpenCodeРазрешение allow

Экраны первого запуска и вопросы о доверии к папкам уже пройдены. Откройте вкладку, и агент готов к задаче.

Общие инструкции в AGENTS.md

/etc/detachbox/AGENTS.md — единый файл инструкций, который читает каждый агент. Он объясняет агентам, как работают адреса превью и как дать вам SSH-команду для обычных TCP-портов. Он подключён в ~/.claude/CLAUDE.md, ~/.codex/AGENTS.md, ~/.config/opencode/AGENTS.md и ~/.gemini/GEMINI.md.

Держите свой файл в одном из этих мест, и он останется вашим. detachbox только добавляет ссылку на общий файл.

Claude Code на Z.ai или DeepSeek

claude-zai и claude-deepseek запускают Claude Code через Anthropic-совместимый эндпоинт поставщика на вашем собственном API-ключе. У каждой обёртки своя папка настроек, ~/.claude-zai или ~/.claude-deepseek, так что ваш вход в Claude в ~/.claude остаётся нетронутым.

Положите ключ в бокс один раз, и его подхватит каждая вкладка:

mkdir -p ~/.config/detachbox
read -rs -p 'Key: ' k && printf '%s\n' "$k" > ~/.config/detachbox/zai.key
chmod 600 ~/.config/detachbox/zai.key

Для DeepSeek запишите вместо этого ~/.config/detachbox/deepseek.key. Экспорт ZHIPU_API_KEY или DEEPSEEK_API_KEY тоже работает. Без ключа обёртка подскажет, куда его положить. Встроенные провайдеры Z.ai и DeepSeek в OpenCode включаются от тех же файлов с ключами.

Данные бокса в box.env

/etc/detachbox/box.env описывает бокс для каждого шелла и агента. detachbox перезаписывает его при создании, сбросе, запуске и смене размера, поэтому не редактируйте его.

ПеременнаяЗначение
DETACHBOX_BOXИмя бокса
DETACHBOX_SSHSSH-команда для этого бокса
DETACHBOX_PLANКод тарифа
DETACHBOX_CPUSЧисло vCPU
DETACHBOX_RAM_GBПамять в GB
DETACHBOX_DISK_GBДиск в GB
DETACHBOX_URLСтраница бокса в кабинете

Переменные загружаются в login-, интерактивных и неинтерактивных шеллах, включая ssh <name>@ssh.detachbox.com <command>.

Откройте страницу в своём браузере через detachbox-open

detachbox-open <url> открывает ссылку http или https в браузере человека, который сидит за терминалом бокса. xdg-open, open и $BROWSER указывают на него. Так входы, которые запускают gh, модуль webbrowser в Python или агент, открываются в вашем браузере.

Ссылка на собственный localhost:<port> бокса превращается в его адрес превью. Другие схемы, например file:, отклоняются. В руководстве по терминалу показано, что делает кабинет, когда приходит страница.

Передайте агенту промпт через detachbox-say

detachbox-say <tmux session> <text> передаёт текст агенту в этой вкладке как новый промпт. Он использует собственный механизм доставки агента, а не нажатия клавиш, поэтому строка, которую вы печатаете, остаётся целой. Работает с Claude Code и Codex.

Сервер через него впечатывает «continue», когда лимит сбрасывается. Код выхода 3 означает, что во вкладке нет запущенного Claude Code или Codex, которому можно передать текст.