返回

文章详情

自托管开发沙箱与预览 URL (Docker, Go, 无需 K8s)

Hacker News2026年6月3日 19:43

sandboxed 是一个开源引擎,用于 AI 应用构建工具产品。为每个用户提供一个隔离的云端开发环境,一个内置的编码代理和一个实时预览 URL — 自托管,在一台机器上,通过一条命令实现。 什么是 sandboxed?sandboxed 将一台 Linux 服务器变成一系列隔离的、按需的开发沙箱 — 每个沙箱都有一个真实的 shell、常用工具链、编码代理和自己的预览 URL。您可以通过一个小型 HTTP API 操作它:POST /sandbox → 一个隔离的容器被启动 POST .../tasks → 一个 AI 代理在其中构建应用 http://<id>.preview... → 正在运行的应用,可共享的实时 URL 当沙箱处于空闲状态时,会停止以释放内存,并在下一个请求时唤醒,因此一台适度的服务器可以托管许多沙箱。工作区在停止和重启之间持久保存在磁盘上。整个系统是一个单一的 Go 控制平面,驱动 Docker 守护进程,由 Traefik 作为前端 — 不需要 Kubernetes、不需要数据库服务器、不需要消息总线。这是支撑“描述一个应用 → 观看它构建 → 看到它运行”的产品的基础设施。sandboxed 为您提供这一核心,开源,运行在您自己的硬件上。┌──────────────── 您的主机(只需 Docker) ────────────────┐ 浏览器 ──▶│ Traefik ──▶ 沙箱(编码代理 + 开发服务器 :3000) │ │ ▲ ▲ ▲ │ API/CLI ──▶│ sandboxd ─────────┘ └─ 工作区目录(持久保存) │ │ │ SQLite(真实来源) · 空闲→停止 · 请求→唤醒 │ └─────┴────────────────────────────────────────────────────────-─┘ 为什么选择 sandboxed?如果您正在构建一个 AI 应用构建工具、代理平台、编码游乐场或每用户预览产品,困难的部分不是提示 — 而是底层的基础设施:多租户隔离,确保一个用户的代码不能接触到另一个用户的代码。每用户的预览 URL,具备自动路由和 TLS。成本控制 — 空闲环境必须释放内存,否则您的账单将暴涨。代理编排 — 对工作区运行编码代理,流式传输进度,捕获结果。持久性,按需唤醒,崩溃或重启后的对账。这是几个月的平台工作。sandboxed 就是那个平台,浓缩为一条命令:⚡ 一键安装。./install.sh,您将拥有一个运行的 API + 预览。🧠 包含代理。每个沙箱都装有 OpenCode 和 Claude Code CLI;交给沙箱一个提示,它会构建。💸 设计紧凑。空闲时停止 + 请求时唤醒意味着数十个沙箱共享一台主机,而不是每个沙箱各自独立使用一台虚拟机 — 这就是一台 20 美元的服务器与一台 2000 美元的集群之间的差别。🔓 您的。自托管,MIT 许可,无供应商锁定。拥有您的数据、利润和路线图。🪶 故意简单。SQLite + Docker CLI + Traefik。在每次启动时,协调器将 Docker 恢复到数据库。您可以在一个下午读懂整个控制平面。快速入门要求:在 Linux 上运行 Docker Engine + Compose 插件。就是这些。1. 安装 git clone https://github.com/tastyeffectco/sandboxes.git cd sandboxes ./install.sh install.sh 检查 Docker,写入 .env,构建沙箱基础镜像 + 控制平面,并启动堆栈。然后 API 在 http://127.0.0.1:9090 上激活(验证:curl http://127.0.0.1:9090/healthz → ok)。2. 让代理构建一个应用基础镜像已经包含 OpenCode 和 Claude Code CLI。给沙箱一个提示,然后观看其构建(OpenCode 在其免费的计划下开箱即用;通过 env 传入您自己的提供者密钥以使用您的帐户):API=http://127.0.0.1:9090 # 创建一个将提供在 3000 端口的沙箱 ID=$(curl -s -XPOST $API /sandbox -H 'content-type: application/json' -d ' {

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡