语言简体中文

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 戴蒙仍然是值得信赖的主机组件。 任何控制这种戴蒙的人都可以绕过容器隔离。