自托管云编排器,用于在隔离 Linux 工作空间中运行和管理 AI 编码代理,支持多代理运行时、任务调度与 Git 版本管理的配置体系。
项目概述#
sandboxed.sh(曾用名 Open Agent)是一个专为 AI 编码代理设计的自托管云编排平台,核心价值在于为代理提供安全隔离的 Linux 执行环境与完整的生命周期管理。项目采用 Rust 构建高性能后端核心,结合 Next.js 与 SwiftUI 提供多端交互界面。
核心能力#
多代理运行时支持#
统一基础设施内支持运行 Claude Code(Anthropic 官方)、OpenCode(开源替代)及 Amp(Sourcegraph 前沿代理)。每个工作空间配备独立 Harness,负责后端与具体代理运行时的集成对接。
工作空间与隔离机制#
基于 systemd-nspawn(Linux 原生)或 Docker 提供强隔离容器化环境,每个任务拥有独立目录。支持 X11/Xvfb 配置,允许代理在隔离环境中启动并操作 GUI 桌面应用。
任务编排与调度#
Mission Control 支持远程启动、停止、监控代理,并提供实时流式传输。内置类 cron 触发器,支持定期自动运行代理任务。
模型路由与容灾#
支持配置提供商回退链,包含健康检查与速率限制处理。提供 OpenAI 兼容的 /v1/chat/completions 端点,当所有路由提供商均被限速时支持延迟执行。
配置管理与扩展#
Skills、工具、规则、代理配置及 MCP(Model Context Protocol)均通过单一 Git 仓库进行版本管理。支持按需挂载额外的 MCP 工具服务器(如桌面自动化、Playwright 等),以及 encrypted secrets 管理。
多端接入与集成#
Web Dashboard(Next.js)、iOS App(SwiftUI,支持画中画)及 CLI。可连接 Telegram 机器人,每个聊天自动创建对应任务,实现基于对话的 AI 助手。
典型应用场景#
- 长时间开发委派:指向 GitHub Issue,让代理全自动完成编码、测试并提交 PR
- 多天无人值守操作:通过 VPN 授予代理 SSH 权限以完成 GPU 模型训练配置
- 敏感数据本地处理:在隔离容器中本地推理,数据不离开本机(医疗、金融、国防等领域)
- 团队定制化代理行为:通过 Skills 编码团队规范(如修改支付模块时始终运行欺诈检测测试)
架构设计#
┌─────────────────────────────────────────────┐
│ 客户端层 │
│ Web Dashboard (Next.js) │ iOS App │ CLI │
└────────────┬──────────────┬────────┬────────┘
│ │ │
└──────────────┼────────┘
HTTPS
▼
┌─────────────────────────────────────────────┐
│ 服务器层 │
│ ┌──────────────────────────────────────┐ │
│ │ sandboxed.sh (Rust 核心) │ │
│ │ • 任务编排与监控 │ │
│ │ • 容器工作空间管理 (systemd-nspawn) │ │
│ │ • Git Library 同步 │ │
│ │ • 模型路由与健康检查 │ │
│ └──────────────┬───────────────────────┘ │
│ ▼ │
│ ┌──────────────────────────────────────┐ │
│ │ 代理运行时 │ │
│ │ Claude Code / OpenCode / Amp │ │
│ └──────────────────────────────────────┘ │
└─────────────────────────────────────────────┘
- 核心后端:Rust 编写(
src/目录),承担任务调度、容器生命周期管理及模型路由等高并发核心逻辑 - 持久会话设计:针对 Claude CLI 的会话管理进行了专门设计
- 前端分离:Web 控制台(
dashboard/,Next.js/TypeScript)与移动端(ios_dashboard/,SwiftUI)独立部署 - 文档体系:独立文档站点(
docs-site/,MDX),以及代理配置(agents.md/claude.md)和提供商配置(PROVIDERS.md)专项说明
安装部署#
Docker 安装(推荐,约 5 分钟)#
git clone https://github.com/Th0rgal/sandboxed.sh.git
cd sandboxed.sh
cp .env.example .env
# 编辑 .env 配置
docker compose up -d
部署完成后访问 http://localhost:3000。若需启用容器工作空间隔离功能,建议在 docker-compose.yml 中取消 privileged: true 的注释。
原生安装(裸金属 Ubuntu 24.04 LTS,约 30 分钟)#
需遵循官方 Native Installation Guide 进行手动部署。
AI 辅助部署#
支持直接将安装指南交给编码代理执行,例如:
"Deploy Sandboxed.sh on my server at 1.2.3.4 with domain agent.example.com"
配置要点#
- 主要通过
.env文件(基于.env.example模板)和docker-compose.yml管理后端连接与容器编排 - 通过
agents.md(及claude.md中的 harness 细节)配置代理行为 - 通过
PROVIDERS.md配置 LLM 提供商及路由回退链 - 支持在配置中指定 X11/Xvfb 环境变量以赋予代理操作图形界面的能力
- 依据文档配置 Telegram Bot Token 与 Webhook 实现聊天消息到任务的自动转化
待确认信息#
- Discord 社区链接(README 提及但未展示具体 URL)
- 当前稳定版本号(最新 Release 为 v0.11.1,项目标注为 WIP)
- Amp 运行时集成完成度
- 加密密钥管理的具体实现方案