sandboxd
在自有服务器上让编码代理构建并预览真实应用。
- Star 数
- ★ 982
- 最近更新
- 今天
- License
- MIT
- 主语言
- Go
- FA 评分
- 79/100 · 表现良好
30 秒速览
- 运行形态
- 可在哪里用
- 兼容但需适配Claude Code
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 正在构建 AI 应用生成产品的团队,需要为每位用户或每个项目分配可访问预览地址的隔离环境。
- 不适合
- 只需要一两个容器给自己用的个人用户,脚本或 docker run 更简单
- 需要虚拟机级隔离或面向不受信任多租户的团队
- 不想维护 Linux 服务器和 Docker 的团队
- 源码审查
- 79/100 · 表现良好
这个 Agent 能做什么,适合哪些场景?
sandboxd 是一个自托管的开源 AI 应用构建引擎:它在服务器上为每个应用创建隔离容器,并提供独立的预览 URL。核心由一个 Go 程序驱动 Docker,使用 Traefik 路由 URL,并以 SQLite 保存状态;无需 Kubernetes、独立数据库或队列。它提供可脚本化的 /v1 HTTP API,以及作为纯 API 客户端的可选 Web 控制台。控制台可创建应用、与编码代理对话、查看实时预览、编辑文件、审阅 Git diff,并提交和推送代码。空闲沙箱会休眠,并在请求到达时唤醒;项目处于 Beta 0.x 阶段,定位为单服务器部署。
调用方通过 /v1 API 创建 sandbox,指定如 3000 的端口,然后向 /v1/sandboxes/$ID/tasks 提交 prompt 和 agent,例如 opencode。sandboxd 启动具有独立文件系统与资源限制的 Docker 容器,在其中运行编码代理,并为应用输出预览 URL。它还支持在控制台中从 React/Vite、Next.js、FastAPI 等运行时预设启动项目,导入公开 Git 仓库,或一键运行精选开源应用。内置 OpenCode 与 Claude Code;凭据由代理在网络链路中注入,而非进入沙箱。任务可检查点化和回退,并提供快照、fork、恢复、进程日志、活动时间线、文件编辑及 Git 提交/推送功能。
- 正在构建 AI 应用生成产品的团队,需要为每位用户或每个项目分配可访问预览地址的隔离环境。
- 开发者平台团队要把 /v1 API 接入自己的产品,让编码代理根据用户提示创建和迭代应用。
- 需要为分支或临时项目提供预览环境的工程团队,并希望空闲应用自动休眠。
- 自托管用户希望从浏览器启动 Ghost、n8n、Grafana 或其他精选应用,而不逐一编写容器启动流程。
- 维护公开 Git 仓库的开发者希望导入仓库,让编码代理修改代码、查看 diff,并从控制台提交推送。
如何安装或部署这个 Agent?
在具备 Docker、Docker Compose plugin 和 Git 的 Linux 主机上运行:
curl -fsSL https://raw.githubusercontent.com/tastyeffectco/sandboxd/main/install.sh | bash安装会构建镜像、启动包含 Web 控制台的服务,并输出控制台 URL 与生成的登录信息。默认 API 为 http://127.0.0.1:9090;可用 curl http://127.0.0.1:9090/healthz 验证。控制台默认地址为 http://console.localhost;若遗失登录信息,运行 ./console-login.sh。macOS 通过 Docker Desktop 属于 best-effort 支持;项目说明原生支持 amd64 与 arm64。
如何使用这个 Agent?
先在控制台的 Settings 中连接代理,或通过 API 配置 Claude Code 凭据。以下命令创建一个暴露 3000 端口的沙箱,并让 OpenCode 构建待办应用;将 sk-ant-... 替换为有效密钥:
API=http://127.0.0.1:9090
curl -s -XPOST $API/v1/agents/claude-code/api-key -d '{"api_key":"sk-ant-..."}'
ID=$(curl -s -XPOST $API/sandbox -d '{"ports":[3000]}' | sed -E 's/.*"id":"([^"]+)".*/\1/')
curl -s -XPOST $API/v1/sandboxes/$ID/tasks -d '{"prompt":"build a todo app on port 3000","agent":"opencode"}'完成后在 http://s-$ID-3000.preview.localhost 打开预览。若只需 API 服务,可用 SANDBOXD_CONSOLE=0 或 --no-console 关闭控制台。
这个 Agent 有哪些优点和局限?
- 每个应用运行在独立 Docker 容器中,并获得独立预览 URL,适合多应用和多用户场景。
- 空闲沙箱支持休眠与按需唤醒,可在单台普通服务器上承载多个应用。
- 同时提供 /v1 API 和纯 API 客户端式 Web 控制台,既可嵌入产品,也可无代码操作。
- 集成文件编辑、Git diff、提交推送、快照、fork、恢复、任务回退和进程日志,覆盖应用迭代后的常见操作。
- 凭据通过代理在网络链路中注入,文档明确说明不会进入沙箱。
- 项目明确标注为 Beta 0.x,1.0 前可能发生破坏性变更,采用时应固定版本并逐步升级。
- 隔离方式是容器而非虚拟机;面向不受信任的多租户部署前需要额外加固。
- API 认证默认关闭,文档明确建议在面向不受信任用户前进行安全收紧。
- 部署边界是单台服务器,需要自行准备 Linux、Docker、Docker Compose plugin 和 Git;macOS 仅为 best-effort。
- 内置代理文档只明确列出 OpenCode 与 Claude Code,其他代理或模型提供商的接入方式未在给定材料中说明。
这个 Agent 与同类方案有什么区别?
README 将 sandboxd 对比为 Lovable、Bolt、v0 和 Replit 这类“输入提示后生成可运行网站”的体验所依赖的自托管引擎。差异在于 sandboxd 将容器、基础设施、代码和数据部署在你的服务器上,并通过 API 或本地控制台管理,而非把这些执行边界描述为托管产品服务。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| sandboxd 当前 | 79 · 表现良好 | 自托管服务免费 + 模型费 | ★ 982 | 今天 | Go | Claude Code |
| Coven | 66 · 存在缺口 | 命令行工具免费 | ★ 75 | 今天 | Rust | Codex · Claude Code |
| opencode-rust | 50 · 缺口较多 | — | ★ 39 | 8 天前 | Rust | OpenAI API · Claude API |
| Claudex | 49 · 缺口较多 | 命令行工具免费 | ★ 97 | 4 个月前 | JavaScript | Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
沙箱隔离、API 认证选项、Docker socket 的主机级权限说明、凭据代理与加密存储均有明确描述;卸载数据删除会确认,升级支持备份和失败回滚。扣分:沙箱内 Agent 使用 --dangerously-skip-permissions,容器是主要隔离边界;README 的 API 认证默认状态与 SECURITY.md 的说明不一致,且源归属主要是仓库自述。
CI 文件列出 Go、控制台、安装脚本及 Docker 生命周期检查,文档也描述健康检查与失败回退。扣分:AGENTS.md 称认证默认开启,而 SECURITY.md 称 API_AUTH_DISABLED 默认 true;静态材料未解决这一冲突,部分保障也只是流程声明。
材料明确面向需要为多人运行多个沙箱的平台,同时说明个人少量容器的替代方案;列出 API、控制台、桌面端、预设、运行清单及其边界。扣分:默认配置偏向本地单机,macOS 标注为 best-effort,公开或多租户部署需要额外加固。
README、AGENTS.md 和专项文档提供结构清楚的安装、运维、卸载、示例、故障排查及限制说明;许可证清晰为 MIT,也提示 0.x 可能有破坏性变更。扣分:版本信息在材料中有 0.x、1.0 发布宣传和代码版本常量等不同线索,维护者身份及长期维护承诺没有独立验证。
产品能从提示词生成运行中的应用,提供预览、代码编辑、Git、快照恢复和 API 自动化,功能价值明确。扣分:使用需管理 Docker 主机、模型或代理凭据及运行成本;成本说明和适用部署规模较有限。
多处材料将产品声明对应到 API、配置、CI 工作流和实现文件,且安全文档披露重要信任边界。扣分:关键安全行为大多由项目自述或测试配置支持,本次材料无法执行验证;README 与安全策略的认证默认描述冲突,需谨慎区分事实与声明。
- 部署前核对实际 API 认证配置;材料对默认值说法不一致。
- 控制平面挂载 Docker socket,按文档所述具有近似主机 root 的权限;不要把它当作强 VM 隔离,也不要在未加固配置下开放给不可信多租户。
- 安装与升级材料描述了镜像签名验证、备份及回滚,但本次评估未执行安装或核验这些流程。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
Desktop 0.3.27 preview with the v0.3.26 engine. These builds are unsigned, so Windows SmartScreen and macOS will warn on first launch. New since 0.3.26 - Engine updates now go through. Installing a new desktop app over an older one updates the engine on the next launch. 0.3.26 always rolled back, because the engine's settings still named the previous release's images. It also retries when the connection to the image registry drops. Your database and settings are backed up first, and it goes back to the previous engine if the update fails. Tested on Windows: v0.3.25 → v0.3.26 wi …在 GitHub 查看 ↗ -
发布说明摘录
Added - OpenClaw joins Hermes on the Agents page. Add it with your model connection, chat with it in sandboxd, and ask it to build or change apps through the same tools (no deleting, at most 10 new apps a day). It runs from its official image under the same protections as Hermes and uses up to 3 GB of memory; the Agents page shows each agent's download and memory before you add it. Fixed - Updating the desktop app now updates its engine. The app installs its engine once; until now an app update kept the old engine, so new features …在 GitHub 查看 ↗ -
发布说明摘录
Added - Agents, starting with Hermes. Add Nous Research's Hermes assistant from the new Agents page, chat with it there or on Telegram, and ask it to build apps: it creates and changes apps on your sandboxd (at most 10 new apps a day, no deleting, every action in the app's activity log). Hermes runs in its own container from its official image, pinned, as a non-root user with no Linux capabilities and a read-only root; it reaches its model through your model connection and sandboxd's tools through its own secret, never seeing a …在 GitHub 查看 ↗
常见问题
它是免费的吗?
能否不使用 Web 控制台?
是否适合直接向不受信任的外部用户开放?
支持哪些机器架构?
谢谢反馈,我们会据此改进页面。