Container Use
让多个编码代理在隔离的容器化环境中安全并行工作,互不干扰。
- Star 数
- ★ 4.1k
- 最近更新
- 1 个月前
- License
- Apache-2.0
- 主语言
- Go
- FA 评分
- 51/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Claude Code
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 使用 Claude Code 的开发者希望多个代理同时处理不同任务,而不互相覆盖文件或依赖。
- 不适合
- 需要稳定生产环境的团队:项目明确标注为早期实验阶段
- 无法运行本地容器(如受限或无容器环境)的机器
- 使用非 MCP 兼容编辑器或工作流的团队
这个 Agent 能做什么,适合哪些场景?
Container Use 是由 Dagger 团队开发的开源 MCP 服务器,同时也是一个 CLI 工具,为编码代理提供容器化的开发环境。每个代理在独立的容器和专属的 git 分支中工作,因此可以同时运行多个代理而不产生冲突。用户可以实时查看代理执行的完整命令历史和日志,也能随时进入代理的终端进行干预。它通过标准 MCP 协议接入,官方文档展示了与 Claude Code、Cursor 等 MCP 兼容代理的配合方式,且不锁定任何模型、代理或基础设施。项目目前处于早期实验阶段,功能仍在快速演进,采用前需评估其稳定性。
Container Use 以 container-use stdio(简写 cu stdio)作为 MCP 服务器运行。当代理接到任务时,它为该代理创建一个带有全新容器和独立 git 分支的隔离环境;代理在该环境中执行命令、构建和运行应用(例如 Flask 应用),并向用户返回可访问的 URL。用户可通过 git checkout <branch_name> 查看任意代理的工作成果,查看完整命令历史与日志,或直接进入代理终端接管控制。安装通过 Homebrew(brew install dagger/tap/container-use)或官方安装脚本完成,随后用 claude mcp add container-use -- container-use stdio 注册到 Claude Code,并可选地引入官方 agent 规则文件。
- 使用 Claude Code 的开发者希望多个代理同时处理不同任务,而不互相覆盖文件或依赖。
- 团队在评估代理产出时,需要通过 git 分支和完整命令日志审计代理实际执行了什么。
- 开发者想在丢弃成本极低的前提下并行试验多种实现方案,失败的环境可即时舍弃。
- Cursor 等 MCP 兼容工具的用户希望为代理提供带真实依赖栈的容器化运行环境。
- 代理卡住时,工程师需要直接进入其终端查看状态并手动接管。
如何安装或部署这个 Agent?
macOS 推荐:brew install dagger/tap/container-use。所有平台:curl -fsSL https://raw.githubusercontent.com/dagger/container-use/main/install.sh | bash。项目由 Dagger 驱动,容器运行时依赖应随工具就绪;完整前提条件见官方文档 container-use.com。
如何使用这个 Agent?
- 进入你的项目目录。2. 将其注册为 MCP 服务器:
claude mcp add container-use -- container-use stdio。3. (可选)添加代理规则:curl https://raw.githubusercontent.com/dagger/container-use/main/rules/agent.md >> CLAUDE.md。4. 直接向代理下达任务,例如:"Create a hello world app in python using flask"。代理会在隔离环境中工作,并给出预览 URL。cu是container-use的等价简写命令。
这个 Agent 有哪些优点和局限?
- 每个代理拥有独立容器加独立 git 分支,真正实现多代理并行且零冲突。
- 完整的命令历史和日志提供可审计的执行记录,而非仅凭代理的自我描述。
- 基于标准 git 工作流(
git checkout <branch_name>)审查成果,无需学习新工具。 - 通过开放 MCP 协议接入,兼容任意代理、模型和基础设施,无厂商锁定。
- 项目标记为 experimental,处于早期开发阶段,API 和行为可能随时变化。
- 需要本地容器化运行环境,对受限或无容器的开发机是额外部署成本。
- 仅适用于 MCP 兼容的代理工具,不兼容的编辑器或工作流需另行适配。
- 官方 README 未提供性能基准、安全隔离边界或多用户部署的证据,需自行验证。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Container Use 当前 | 51 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 4.1k | 1 个月前 | Go | Claude Code |
| Concord MCP | 67 · 存在缺口 | — | ★ 663 | 1 天前 | TypeScript | Codex · Claude Code |
| BrowserTools MCP | 81 · 表现良好 | — | ★ 7.3k | 8 天前 | TypeScript | Claude Code |
| Emulo | 78 · 表现良好 | Agent 插件 / 技能免费 + 模型费 | ★ 299 | 12 天前 | HTML | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示每个代理在隔离容器+独立git分支中运行,git工作流提供天然回滚路径,实时命令/日志可见性支持透明度,用户可通过git checkout直接接管。但敏感数据处理完全未提及(扣至0);最小权限仅在README层面以隔离性主张,未见容器内权限细化的文件证据;外部效果(容器生命周期、分支删除)只有断言;source_attribution依赖Dagger品牌但发布者未经验证;依赖清单存在但无扫描/审计/固定策略证据,安全得分薄。
README声称与任意MCP代理兼容且有明确安装路径,CI含构建与lint流程,内部命名一致(container-use/cu)。但依赖可用性依赖Dagger引擎'latest'版本(CI中version: latest,不可复现且易漂移);错误消息、失败处理仅有间接主张,无文件证据。
目标受众(使用Claude Code/Cursor等的开发者)与场景(并行多代理)描述清晰,强调通用兼容性、无厂商锁定,环境适配(容器)是产品核心。但能力边界描述薄弱(experimental徽章之外无具体限制说明);触发精度(MCP工具何时调用)无文件证据。
文档结构清晰、安装说明覆盖brew/curl两渠道并注明平台、命名稳定(container-use与cu双名并解释)、known_limitations以experimental徽章和早期开发声明诚实呈现、Apache-2.0许可证完整含版权声明、Discord等维护渠道明确。但无CHANGELOG或版本化记录文件;FAQ/示例仅有单个快速上手示例;installation脚本通过curl|bash执行存在供应链风险未提示。
输出可用性主张明确(URL访问应用、git分支审查工作)、边际价值清晰(从单个代理看护到并行多代理)、成本收益合理(容器+git即基础设施,Dagger生态)。但均基于README主张,无深入文件证据支撑差异化细节。
事实与推断区分良好:experimental状态、早期开发声明是明确的事实标注。但多数核心主张(隔离性、可见性、兼容性)在提供的文件内无法追溯到实现代码,跨源印证限于README自我声明与徽章(Awesome列表、Discord),独立验证证据缺失。
- 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
- 安装建议使用curl | bash管道脚本,存在供应链风险,企业环境应改用brew或从源码构建并校验哈希。
- CI工作流使用version: latest的Dagger引擎,构建不可复现,可能与本地环境漂移。
- 敏感数据(环境变量、密钥)在容器中的处理完全未文档化,代理可能在容器内接触宿主仓库凭据,使用前需自行审计。
- 项目自我标注为experimental早期阶段,接口与行为可能无预警变更,不宜直接用于生产关键路径。
- 发布者身份未经注册表验证,归属仅依赖仓库内声明。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
container-use v0.4.2 This is a mostly a patch release, but a feature or 2 snuck in. Notably: 1. Improved lock granularity around export -- fixes issues with cu list and other commands hanging while an agent is running a tool. 2. Added container-use stdio --single-tenant, an experimental mode intended for use with claude code or other CLI based agents. This mode locks each MCP server process to a single environment, reducing the tokens needed for each toolcall and improving subtask performance and accuracy. To try this out, add the --single-tenant flag to your agent's MCP server confi …在 GitHub 查看 ↗ -
发布说明摘录
container-use v0.4.1 Download the pre-compiled binaries from the assets below. Changelog * 71346865565c2a0d9dd92350ed30c86ed73e43b9: Fix concurrent server process resource contention bugs (and add a test to produce them) (#257) (@cwlbraa) * ef69a2daf79d64c2544887034667173f0acf6c25: install nix-hash for release builds (#260) (@cwlbraa) Full Changelog: https://github.com/dagger/container-use/compare/v0.4.0...v0.4.1在 GitHub 查看 ↗ -
发布说明摘录
Enhanced Developer Experience and Cross-Platform Support Container Use v0.4.0 brings streamlined command workflows, native Windows support, and a powerful new editing tool that reduces context rot for complex coding tasks. Key Improvements Context-Preserving File Editing - New environment_file_edit tool enables efficient find-and-replace operations - Massively reduces context rot during complex coding tasks by allowing targeted edits without full file rewrites Smarter Command Interface …在 GitHub 查看 ↗