aerovato/container
GitHub: aerovato/container
为 AI 自主编码代理提供轻量级 Docker 隔离环境的容器管理工具,让开发者在安全隔离的前提下授予代理完整权限。
Stars: 308 | Forks: 31
#### `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, 安全防御评估, 容器化, 开发环境, 暗色界面, 沙箱环境, 网络调试, 自动化, 自动化攻击, 请求拦截