sandboxd

在自有服务器上让编码代理构建并预览真实应用。

Star 数
★ 946
最近更新
26 天前
License
MIT
主语言
Go

30 秒速览

可在哪里用
兼容但需适配Claude Code
开始前需要
DockerDocker Compose pluginGitShell / 命令行网络访问本地文件系统
典型场景
正在构建 AI 应用生成产品的团队,需要为每位用户或每个项目分配可访问预览地址的隔离环境。
主要局限
项目明确标注为 Beta 0.x,1.0 前可能发生破坏性变更,采用时应固定版本并逐步升级。

这个 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 提交/推送功能。

  1. 正在构建 AI 应用生成产品的团队,需要为每位用户或每个项目分配可访问预览地址的隔离环境。
  2. 开发者平台团队要把 /v1 API 接入自己的产品,让编码代理根据用户提示创建和迭代应用。
  3. 需要为分支或临时项目提供预览环境的工程团队,并希望空闲应用自动休眠。
  4. 自托管用户希望从浏览器启动 Ghost、n8n、Grafana 或其他精选应用,而不逐一编写容器启动流程。
  5. 维护公开 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 当前 50 · 缺口较多 ★ 946 26 天前 Go Claude Code
Claudex 69 · 存在缺口 ★ 93 3 个月前 JavaScript Claude Code
ToolJet 50 · 缺口较多 ★ 41k 5 天前 JavaScript
amux 智能体控制平面 77 · 表现良好 ★ 492 1 天前 Rust Codex · Claude Code

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
50/ 100 五分制 2.5 / 5
信任安全 12/29
可靠稳定 6/14
适用触发 10/18
规范维护 10/18
有效结果 9/13
证据核验 3/8
查看各维度的扣分理由
信任安全12 / 29 · 2.1/5

证据显示:README明确说明沙箱隔离、代理注入凭据、API认证默认关闭、控制平面挂载Docker socket(SECURITY.md)。扣分:未提供最小权限的详细配置,用户确认机制未明确,数据流透明度仅部分描述,依赖安全未提供扫描证据,外部影响(如网络出口)未详细说明,回滚有升级脚本但未覆盖所有操作,来源归属仅通过README声明。

可靠稳定6 / 14 · 2.1/5

证据显示:CI包含单元测试和e2e测试,README描述一致。扣分:依赖可用性未提供锁定或镜像摘要,失败消息未在文档中详细说明。

适用触发10 / 18 · 2.8/5

证据显示:README明确目标用户(多沙箱场景)和边界(不适合单容器),支持多种运行场景。扣分:触发精度(如API调用)未详细说明,环境适配(如macOS)仅标注best-effort。

规范维护10 / 18 · 2.8/5

证据显示:README结构清晰,安装说明详细,有示例和FAQ链接,已知限制明确(beta、API认证默认关闭),MIT许可证。扣分:命名稳定性未明确,版本变更日志未提供,维护责任未明确(未验证发布者)。

有效结果9 / 13 · 3.5/5

证据显示:输出可用性(预览URL、API)明确,边际价值(自托管、多应用)突出,成本效益(单服务器多应用)合理。扣分:未提供实际运行证据,成本效益仅基于描述。

证据核验3 / 8 · 1.9/5

证据显示:README声明与代码结构一致,但未提供独立验证。扣分:声明可追溯性有限,跨来源佐证不足,事实与推断未明确区分。

风险与缓解建议
  • API认证默认关闭,暴露到非回环地址前必须启用认证。
  • 控制平面挂载Docker socket,相当于主机root权限,仅应在受控主机上运行。
  • 沙箱内代理使用--dangerously-skip-permissions,隔离边界是容器而非代理。
  • 发布者身份未验证,安装脚本和二进制应自行审查。
证据充分度: 评估于 2026年8月9日 审查版本 afa75bc43617 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

常见问题

它是免费的吗?
仓库采用 MIT 许可证;自托管被描述为免费。你仍需承担自己的服务器、Docker 环境和所使用代理相关成本。
能否不使用 Web 控制台?
可以。控制台是可选的纯 /v1 API 客户端;设置 SANDBOXD_CONSOLE=0 或使用 --no-console 可关闭它。
是否适合直接向不受信任的外部用户开放?
不应按默认配置直接开放。项目说明容器隔离不是 VM、API 认证默认关闭,并要求在不受信任多租户场景前完成加固。
支持哪些机器架构?
README 明确说明原生支持 amd64 和 arm64,包括 Apple Silicon Mac 与 arm64 Linux 主机;Linux 是正式安装前提,macOS Docker Desktop 为 best-effort。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

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

相关 Agents