Container Use
让多个编码代理在隔离的容器化环境中安全并行工作,互不干扰。
证据显示每个代理在隔离容器+独立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),独立验证证据缺失。
- 安装建议使用curl | bash管道脚本,存在供应链风险,企业环境应改用brew或从源码构建并校验哈希。
- CI工作流使用version: latest的Dagger引擎,构建不可复现,可能与本地环境漂移。
- 敏感数据(环境变量、密钥)在容器中的处理完全未文档化,代理可能在容器内接触宿主仓库凭据,使用前需自行审计。
- 项目自我标注为experimental早期阶段,接口与行为可能无预警变更,不宜直接用于生产关键路径。
- 发布者身份未经注册表验证,归属仅依赖仓库内声明。
这个 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 有哪些优点和局限?
- 每个代理拥有独立容器加独立 git 分支,真正实现多代理并行且零冲突。
- 完整的命令历史和日志提供可审计的执行记录,而非仅凭代理的自我描述。
- 基于标准 git 工作流(
git checkout <branch_name>)审查成果,无需学习新工具。 - 通过开放 MCP 协议接入,兼容任意代理、模型和基础设施,无厂商锁定。
- 项目标记为 experimental,处于早期开发阶段,API 和行为可能随时变化。
- 需要本地容器化运行环境,对受限或无容器的开发机是额外部署成本。
- 仅适用于 MCP 兼容的代理工具,不兼容的编辑器或工作流需另行适配。
- 官方 README 未提供性能基准、安全隔离边界或多用户部署的证据,需自行验证。
如何安装或部署这个 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的等价简写命令。