aerovato/container

GitHub: aerovato/container

为 AI 自主编码代理提供轻量级 Docker 隔离环境的容器管理工具,让开发者在安全隔离的前提下授予代理完整权限。

Stars: 308 | Forks: 31

Banner

#### `container`:为您的自主编码环境提供隔离的 Docker 环境。 #### 简单。轻量。安全。 ## 快速开始 ### 前置条件 - **一台 Windows、Mac 或 Linux 机器**(现支持 Windows 原生环境和 WSL!) - **Docker 或 Podman** — Docker Desktop/Engine 或 Podman ### 安装 **macOS / Linux:** ``` curl -fsSL https://container.aerovato.com/install.sh | sh ``` **Windows:** ``` irm https://container.aerovato.com/install.ps1 | iex ``` **通过 npm 安装**(需要 Node.js): ``` npm uninstall -g code-container # Uninstall V2 if present npm install -g @aerovato/container # Install container V3 ``` ### 首次运行 运行 `container init`(交互式引导)。它将: - 检测已安装的 harness(Claude Code、OpenCode 等) - 检测已安装的开发工具,并让您选择启用哪些 - 迁移您现有的配置 - 让您选择 Docker 或 Podman - 配置 SSH 和 git 挂载 接受提示以构建镜像(首次构建可能需要 5 分钟以上)。 大功告成。`container` 已准备就绪,可以使用了。 ## 用法 导航到任何项目并运行 `container`: ``` cd /path/to/your/project container ``` 在容器内:启动您的 harness 并像往常一样进行开发。 ``` opencode # Start OpenCode npm install # Persists per container # ... ``` 您的项目挂载在 `/root/<项目名称>`。更改会在多次会话之间保留。Harness 配置在所有容器中共享。 您可能希望定期重新构建镜像以更新 harness 和软件包: ``` container build # Trigger full rebuild container build tools # Rebuild dev tools, harnesses, and user packages container build harness # Rebuild harnesses and user packages container build user # Rebuild user packages ``` ### 常用命令 ``` container # Enter container for current directory container run /path/to/project # Enter for a specific project container run /path -- -p 8080:80 # Pass extra runtime flags container list # List all containers container stop # Stop container container remove # Remove container container init # Re-run onboarding ``` ## 自定义 自定义通过以下两个地方完成: ### 1. `~/.code-container/Dockerfile.User` 在此处添加软件包和设置步骤。示例: ``` FROM localhost/aerovato/container-v3-harness:latest RUN npm install -g bun typescript RUN pip install requests RUN npx opencode plugin opencode-quotes-plugin -g ``` 编辑完成后,运行 `container build user` 来重新构建镜像 ### 2. `~/.code-container/settings.json` 主配置文件。有关更多详细信息,请参阅 [docs/Settings.md](docs/Settings.md)。 常用设置: - `enabledHarnesses` — 要安装哪些 harness - `enabledTools` — 要包含哪些开发工具和配置 - `runtime` — `"docker"` 或 `"podman"` - `dockerfileCore` — 对基础镜像的高级控制 - `systemMounts` — gitconfig 和 SSH 挂载 - `dockerRunFlags` / `dockerExecFlags` — 额外的运行时标志 提示:克隆此仓库,并让您的 agent 为您进行配置。 ### 对于 V2 用户 升级到 V3 后,所有配置都将归档到 `~/.code-container/archive`。要迁移配置,请让您的 agent 阅读并执行 [docs/Migration.md](docs/Migration.md) 中的步骤。 ## 功能 - **隔离性** — 破坏性操作被限制在容器内 - **Harness 包** — 选择要安装哪些编码 harness - **工具包** — 选择要包含哪些开发工具和配置 - **可配置的运行时** — Docker 或 Podman - **跨平台** — Linux、macOS、Windows(原生和 WSL 均支持) - **持久化状态** — 工作区和配置可在不同会话间保留 - **同步工作** — 多个 agent 可以安全地在同一个项目上工作 ## 安全性 - `container` 保护您的主机文件系统免受 `rm -rf` 操作的破坏 - 容器内的软件包和配置保持在本地化状态 - 隔离可防止跨容器的交叉污染 **重要限制**: - `container` 无法防止 prompt 注入或 agent 意图偏离 - 容器内具有网络访问权限 - Harness 配置将被挂载到容器内部 ## 卸载 **二进制安装:** ``` rm -rf ~/.code-container ``` **npm 安装:** ``` npm uninstall -g @aerovato/container rm -rf ~/.code-container ``` 在删除之前,请考虑备份 `~/.code-container/configs` 中的 harness 配置。
标签:AI合规, AI编程工具, Cutter, Docker, MITM代理, NIDS, Podman, 安全防御评估, 容器化, 开发环境, 暗色界面, 沙箱环境, 网络调试, 自动化, 自动化攻击, 请求拦截