語言繁體中文

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在主機上。

選項顯示的位置

  • Web: 新會話 → 執行環境
  • 桌面: 同一發射器,因爲桌面嵌入 Web 工作臺。
  • 原生移動: 新會話 → 執行環境,持續每 已保存的服務器連接。
  • API: POST /api/sessions 接受 executionMode: "local" | "docker".

會議細節顯示了有效的環境和形象。 服務器驗證了戴蒙,圖像和引擎;它從來沒有默默地回到本地。

今天使用源預覽

Docker 引擎或 Docker 桌面必須運行:

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 內存讀寫器 臨時文件

不是 接收您的完整的家庭目錄, Docker 接口或主機 Linux 功能。 根文件系統僅可讀,而 AirCode Ø 適用於 PID、內存和 CPU 控制。

AirCode Ø的路由背 API 仍然是私密的。 一個穩定的、受功能保護的控制端口只接受工人自己的完成夾,包括桌面服務器重新啓動後。

引擎配置文件包含憑證,並在預覽中共享讀寫。 容器隔離保護了無關的主機文件;它不會使引擎憑據無法讀取,也不會使引擎或與同一容器用戶運行的惡意代碼無法讀取。

會話中發生的事情

  1. 客戶端會讀取主機的運行時間目錄。
  2. 主機驗證 Docker,圖像合同和所選引擎。
  3. AirCode Ø 創建一個標記的工人和一個功能範圍的調用 URL。
  4. 工人在安裝項目中啓動 tmux 。
  5. 現有的終端 WebSocket 通過 Docker驅動該 tmux 會話。
  6. 正常退出或殺死會話刪除工作者,但留下項目更改 和引擎歷史記錄在主機上。
  7. 如果 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 桌面保持本地 ConPTY 局部 會話; 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 限制

在工作者運行時,保持回調端口穩定。 請參閱 故障排除 的運行時錯誤代碼。

Docker 戴蒙仍然是值得信賴的主機組件。 任何控制這種戴蒙的人都可以繞過容器隔離。