开发与工程 self-hostedmcpopencodecodexcontainer-isolationsystemd-nspawnmission-orchestration

sandboxed.sh

自托管的自主 AI 代理任务执行后端:隔离的 Linux 工作区、Git 版本化的技能库和 MCP 驱动的任务编排。

FollowAgents 评估 · FARS-2.1
不推荐
52/ 100 五分制 2.6 / 5
1 2 3 4 5 6
1信任安全13 / 29 · 2.2/5

最小权限:README 建议 Docker 下启用 privileged: true,原生模式用 systemd-nspawn,容器隔离有一定设计但 privileged 容器实质上放弃了隔离,扣分严重。用户确认:自治 mission 可开 PR、SSH 到家用 GPU、无人值守多天运行,未见到强制人工确认点。数据流透明:架构图与 docs/AGENT_CONTROL_PLANE.md 把项目/任务/回执/证据结构描述得较清楚,给 2。敏感数据:Cargo.toml 显示 AES-GCM/PBKDF2 加密密钥,README 强调本地推理与隔离,但加密实现本身未在样本中可见,给 2。依赖安全:Cargo.toml 版本声明常规,无锁定策略或审计说明,1 分偏上给 2 不够——未见 cargo audit/deny,扣为 2。外部影响:mission 可写代码开 PR、SSH 远程主机,影响面大但文档有 grant(merge authority、budget)概念,部分缓解。回滚:仅提到 zip 备份/恢复依赖,无明确回滚流程。来源归属:作者为 'sandboxed.sh Contributors',未验证发行方,引用上游 hermes-agent 有 FORK.md 说明,给 1。

2可靠稳定8 / 14 · 2.9/5

自洽性:README 与 Cargo.toml 描述一致(版本 1.3.0、多个 MCP 二进制、Hermes 协同),无内部矛盾。依赖可用性:核心依赖 tokio/axum 均为主流维护版本,但 rust-version 1.91 与 Cargo.toml 中注释提到的 MSRV 1.75 存在张力,扣分。失败信息:测试文件显示测试大量使用 waitForTimeout 和宽泛的 catch 忽略,错误路径覆盖薄弱,样本中未见结构化错误文档。

3适用触发10 / 18 · 2.8/5

受众与场景:README 明确面向自托管开发自动化(交接开发周期、GPU 训练、本地数据分析),场景描述具体。能力边界:明确区分 coordinator 与 sandbox 职责、in-conversation 子代理与 mission 的分工规则,边界陈述清晰。触发精度:controller cron 触发机制只有概念性描述,样本中无配置示例,给 1。环境适配:Docker 与 Ubuntu 24.04 原生双路径,Xvfb/X11 桌面自动化说明,环境覆盖良好。

4规范维护10 / 18 · 2.8/5

信息架构:README 组织优秀,文档索引覆盖安装/架构/API/调试,导航清晰,给 3。安装说明:双安装指南+首次设置指南存在,但 Docker 默认非 privileged 与'建议取消注释 privileged'的顺序安排令人担忧。命名稳定性:项目'formerly known as Open Agent'更名,历史名称仍在代码/文档中可能残留,给 1。示例与 FAQ:无 FAQ,示例主要为安装命令,缺实际使用示例。已知局限:明确标注 'Work in Progress'。许可证:README 声明 MIT,但无 LICENSE 文件出现在样本中,且元数据'unknown',给 2。版本与变更日志:Cargo.toml 有版本号 1.3.0,但未见 CHANGELOG,发布依赖 GitHub 自动生成 notes。维护责任:'active development, contributions welcome',无具体维护者承诺或更新路径,给 1。

5有效结果7 / 13 · 2.7/5

输出可用性:结构化回执/证据/SSE 流式结果的设计表明输出被认真考虑,多端(web/desktop/iOS)呈现一致 roster。边际价值:将多运行时 agent 沙箱化编排+项目控制面组合是真实差异化,但生态依赖自家 Hermes fork,扣分。成本收益:部署成本(privileged Docker、Ubuntu 24.04、自托管)与自治收益之间的权衡未量化,~5/30 分钟的设置时间估计是唯一数据点,给 1。

6证据核验4 / 8 · 2.5/5

主张可追溯性:README 的许多主张(mission 隔离、加密、健康检查路由)引用了文档文件但样本中无法核实这些文档的实际内容,给 1。跨源印证:CI workflow、测试文件与 README 描述的 dashboard 功能部分印证,但核心安全主张(隔离、加密)在提供的文件中无法交叉验证。事实与推断分离:README 将 'Work in Progress' 与功能列表区分较清楚,愿景部分以'What if'明示为愿景,给 2。

证据充分度: 评估于 2026年9月7日 审查版本 18d8447b3744
使用前请注意
  • Docker 部署默认建议启用 privileged: true,这会基本消除容器隔离;在自治 agent 环境下这是高风险配置,部署前必须评估替代方案(如 rootless 容器或原生 systemd-nspawn)。
  • 自治 mission 可执行开 PR、SSH 远程主机等外部动作,样本中未见强制人工确认门槛;使用 autonomy grant/budget 前应核实其实际实现与默认值。
  • 许可证仅在 README 中声明 MIT,样本中未见 LICENSE 文件,法律层面应自行确认。
  • 未发现 CHANGELOG 与明确的维护者承诺;项目自我标注为 Work in Progress,API 与行为可能频繁变动。
  • 静态审查置信度低:隔离与加密等安全主张均来自文档描述,未经执行验证。
评估证据 [1][2][3][4][5][6][7]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

sandboxed.sh(前身为 Open Agent)是一个自托管的自主 AI 代理任务执行后端,在隔离的 Linux 工作区(systemd-nspawn 或 Docker 容器)中运行编码代理。它与协调器(如 Hermes 分支 hermes-agent)配合使用,后者通过 MCP 决定运行哪些任务;sandboxed.sh 则负责执行。它支持 Claude Code、OpenCode、Codex、Gemini 和 Grok 运行时,管理项目、控制器定时任务和具有结构化状态的 MCP 工具任务。一个 Next.js Web 控制面板和 SwiftUI iOS 应用提供实时监控、基于 Git 的库(技能、工具、规则、代理、MCP)以及类 cron 的自动化。部署方式为 Docker(约 5 分钟)或 Ubuntu 24.04 上的原生(约 30 分钟)。项目处于活跃开发中,采用 MIT 许可证。

通过 MCP 接收来自协调器(例如 hermes-agent)的 start_mission 和 list_projects 等任务,在 systemd-nspawn 或 Docker 的隔离工作区中启动代理运行时(Claude Code、OpenCode、Codex、Gemini、Grok),流式传输结果,并通过结构化的 MCP 工具(update_project_status、set_project_grant、link_mission_to_project)维护 projects.db 中的项目记录。支持带健康检查的提供商回退链模型路由、OpenAI 兼容的代理队列模式以及原生推理协议(Chat Completions、Responses、Anthropic Messages)。

  1. 将整个开发周期交给代理:指向 GitHub issue,编写代码,测试,并在测试通过时打开 PR。
  2. 运行多天无人值守操作:在隔离沙箱中设置模型微调。
  3. 保持敏感数据本地:在隔离容器中进行本地推理,不将数据发送到外部服务。
  4. 通过调度控制器管理具有结构化自治授权的多个长期项目。
  5. 通过控制面板的实时流和系统指标远程监控任务。

这个 Agent 有哪些优点和局限?

优点
  • 通过 systemd-nspawn/Docker 实现真实的容器隔离,确保代理操作被限制范围。
  • 多运行时支持:在相同基础设施上运行 Claude Code、OpenCode、Codex、Gemini 和 Grok。
  • MCP 原生:任何 MCP 兼容的助手都可以充当协调器;Hermes 是参考实现。
  • 基于 Git 的库,用于对技能、工具、规则和代理进行版本控制。
  • 结构化项目状态(授权、跟踪、决策),而非自由格式的文本。
局限
  • 需要协调器(MCP 客户端)才能有用;sandboxed.sh 是两部分系统的一半。
  • 原生安装仅支持 Ubuntu 24.04;Docker 路径需要 privileged: true 才能进行容器隔离。
  • 项目处于活跃开发中(进行中),可能存在不稳定性。
  • 编排架构(控制平面、任务、控制器)增加了学习成本。
  • 许可证仅列为 MIT;未提供其他合规性保证。

如何安装或部署这个 Agent?

Docker(推荐):git clone https://github.com/Th0rgal/sandboxed.sh.git && cd sandboxed.sh && cp .env.example .env(编辑设置)&& docker compose up -d,然后打开 http://localhost:3000。若要实现容器工作区隔离,请在 docker-compose.yml 中取消注释 privileged: true。原生(Ubuntu 24.04):遵循文档指南;需要 git pull + cargo build。

如何使用这个 Agent?

安装后,遵循入门指南配置后端连接、设置库仓库,并创建您的第一个任务。将 MCP 兼容的协调器(如 hermes-agent 或任何 MCP 助手)连接到任务的 MCP 工具。使用 Web 控制面板或 iOS 应用启动、停止和监控任务;在 Git 支持的库中管理技能和 MCP 服务器。

这个 Agent 与同类方案有什么区别?

源将 Hermes(hermes-agent)作为参考协调器,但明确指出任何 MCP 兼容的助手都可以担任该角色。

常见问题

我需要协调器吗?
是。sandboxed.sh 是通过 MCP 驱动的任务执行后端。README 的参考实现是 Th0rgal 的 Hermes 分支(hermes-agent),但任何 MCP 兼容的助手都可以进行协调。
支持哪些运行时?
Claude Code、OpenCode、Codex、Gemini 和 Grok,每个运行时都在隔离的工作区内执行。
是否有本机应用?
有。一个 Next.js Web 控制面板和一个带有画中画功能的 SwiftUI iOS 应用。
数据保留在本地吗?
架构支持仅本地推理,使用隔离容器,不向外部服务发送任何内容,如 README 所述。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents