Docker песочница
Предварительный просмотр: Claude Code, Codex, Grok Build и Kimi Code сессии доступны Он Linux и macOS. Местное исполнение остается доступным и остается по умолчанию. Проверенные циклы сохраняют существующее локальное время выполнения во время этого просмотра.
AirCode Ø сохраняет свой контрольный план на вашем компьютере или сервере. Выбор Docker песочницы перемещает только эту прямую сессию агента в контейнер для рабочих с короткой продолжительностью службы. Это предназначено для разработки с правами обхода: агент может писать в выбранный клонированный проект, не получая остальную часть вашего домашнего каталога или разъема Docker .
Web / Desktop / mobile
↓
AirCode Ø API + auth + tunnel (host)
↓
Local tmux / Windows ConPTY OR one Docker worker per session
Это вариант выполнения, а не вторая контейнерная установка AirCode Ø . Аутентификация, состояние сеанса, уведомления, WebSockets, удаленный доступ и UI остаются на хостере.
Где появляется выбор
- Веб: Новая сессия → Исполнительная среда.
- Desktop: тот же запуск, потому что Desktop встраивает веб-рабочий стол.
- Народное мобильное: Новая сессия → Исполнительная среда, продолжается сохраненное серверное соединение.
- API:
POST /api/sessionsпринимаетexecutionMode: "local" | "docker".
Подробности сеанса показывают эффективную среду и имидж. Сервер подтверждает дамон, изображение и двигатель; он никогда не возвращается тихо к локальному.
Используйте предварительную версию источника сегодня
Docker Engine или Docker Desktop должен работать:
git clone https://github.com/spartaquant/aircode.git
cd aircode
npm run docker:runtime:build
npm run docker:runtime:check
npm run docker:session:smoke
Перезагрузите AirCode Ø, создайте сессию, а затем выберите Docker песочницу в среде исполнения ****. Если Docker или изображение недоступно, пусковая установка показывает точную причину и не возвращается к локальному.
После этой первой сборки кассовый аппарат поддерживает изображение в курсе своего хоста: когда обновление набирает новые версии Claude Code, Codex, Grok Build или Kimi Code или активирует другой упакованный CLI, AirCode Ø перестраивает aircode-session-runtime:local на фоне, а новые сессии Docker используют текущие версии и список двигателей.
Во время просмотра изображение имеет ярлык aircode-session-runtime:local. Выпуски продуктов с этикеткой создают и проверяют как linux/amd64 , так и linux/arm64, публикуют неизменный тег версии Docker Hub и записывают его диссертацию в подписанном манифесте выпуска AirCode Ø . Отдельный ручной рабочий процесс Docker публикует только канал preview . Публичные репозитории и релиза конфигурируются, но тег становится вытягиваемым только после его первой успешной публикации.
Когда доступна общедоступная тег, не потребуется перестроить AirCode Ø :
AIRCODE_DOCKER_IMAGE=aircodezero/session-runtime:<version> aircode
К чему может получить доступ работник
AirCode Ø не копирует репозиторий в изображение. Он монтирует уже клонированный проект на Абсолютный путь Внутри рабочего Редакторы, следовательно, приземляются в реальном отчете и остаются после выхода контейнера.
| Монтаж | Доступ | Почему |
|---|---|---|
| Выбранный проект | Читать и писать | Код, файлы и Git чек |
| Выбранный профиль двигателя | Читать и писать | Автентификация, история и врожденное резюме |
За сессию /home/aircode |
Читать и писать | Частный временный дом |
/run/aircode Договор запуска |
Читать только | Команды и первоначальная просьба |
/tmp |
In-memory read-writing (Читать и писать в памяти) | Временные файлы |
Он не не получает полный домашний каталог, разъем Docker или возможности хоста Linux . Корневая файловая система является только для чтения, и AirCode Ø применяет PID, память и CPU контроли.
AirCode Ø loopback API остается частным. Стабильный, защищенный возможностями контрольный порт принимает только собственные завершающие хаки работника, в том числе после перезагрузки сервера Desktop.
Профиль двигателя содержит аккредитации и является общим чтением-писанием в предварительном просмотре. Контейнерная изоляция защищает не связанные с ней хост-файлы; она не делает идентификационные данные двигателя нечитаемыми для двигателя или вредоносного кода, работающего в качестве одного и того же пользователя контейнера.
Что происходит во время сеанса
- Клиент читает каталог runtime от хоста.
- Хост подтверждает Docker, договор изображения и выбранный двигатель.
- AirCode Ø создает одного маркированного работника и обратный звонок с возможностями URL.
- Работник запускает tmux в монтированном проекте.
- Существующий терминал WebSocket управляет этой сессией tmux через Docker.
- Обычный выход или сессия Kill удаляет работника, но оставляет изменения проекта и история двигателя на хостеле.
- Если AirCode Ø перезапустить, он снова обнаружит работника и восстановит завершение Звонки
VPN и трафик на сервере-разработчике
Контейнерная эгрегация обычно следует маршрутизации хоста Docker и правилам NAT . Хост VPN несет его только тогда, когда этот VPN включает Docker мостовой трафик. Управляемый туннель Hetzner/AirCode Ø предназначен для входящего доступа к контрольному плану AirCode Ø ; он не автоматически маршрутизирует рабочий эгрег.
| Трафик | маршрут |
|---|---|
| Телефон/Браузер → AirCode Ø | LAN, VPN или туннель Hetzner → хост |
| Терминал → рабочий | хост → Docker API → рабочий tmux |
| Агент API/Git трафик | Docker мост/NAT → хостинг VPN политика → Интернет |
| Трудовой завершающий кулак | рабочий → защищенный порт звонка хоста |
Рабочий порт пока не опубликован. Автентифицированное перенаправление на разработчики через AirCode Ø и маршрут Hetzner является следующим увеличением сетей. Локальные сеансы AirCode Ø и существующий удаленный доступ продолжают работать без изменений.
Превью пределов
- Claude Code, Codex, Grok Build и Kimi Code упакованы и доступны для обыкновенные сессии Docker . Пропавшие, нечитаемые или устаревшие версии все еще не удается закрыть перед запуском.
- Прямые сессии охватываются. Проверенные циклы продолжают использовать локальное исполнение.
- Linux и macOS являются целевыми хостами. Windows Desktop поддерживает native ConPTY Local Сеансы ; семантика пути Docker еще не сертифицирована.
- Возможности браузера хоста и внешние оболочки для оптимизации токенов не используются еще не вводили в рабочие.
Конфигурация
| Переменная окружающей среды | config.json |
По умолчанию | Цель |
|---|---|---|---|
AIRCODE_DEFAULT_EXECUTION_MODE |
defaultExecutionMode |
local |
По умолчанию среда запуска |
AIRCODE_DOCKER_ENABLED |
dockerEnabled |
true |
Docker переключатель функций |
AIRCODE_DOCKER_BIN |
dockerBin |
docker |
Docker CLI |
AIRCODE_DOCKER_IMAGE |
dockerImage |
aircode-session-runtime:local |
Изображение работника |
AIRCODE_DOCKER_NETWORK |
dockerNetwork |
aircode-runtime |
Деятельный мост |
AIRCODE_DOCKER_CONTROL_PORT |
dockerControlPort |
AirCode Ø порт + 1000 | Мост с прицепом на емкость |
AIRCODE_DOCKER_ENGINES |
dockerEngines |
claude,codex,grok,kimi |
Список двигателей Fallback для обычных сеансов для изображений, оставшихся в прошлом |
AIRCODE_DOCKER_PIDS_LIMIT |
dockerPidsLimit |
512 |
На одного работника PID ограничение |
AIRCODE_DOCKER_MEMORY |
dockerMemory |
8g |
Предельный объем рабочей памяти |
AIRCODE_DOCKER_CPUS |
dockerCpus |
Установка | Опциональный CPU Ограничение |
Держите порт звонков стабильным, пока рабочие работают. Troubleshooting для кодов ошибок.
Daemon Docker остается надежным компонентом хоста. Любой, кто контролирует этот дамон, может обойти изоляцию контейнеров.