Sandcastle 是用于编排 AI 编码 Agent 的 TypeScript 库。它把 Agent 运行、sandbox provider、Git worktree 与分支合并放进 run() 等 API,适合在脚本或 CI 中执行可隔离、可回收的代码任务。
来源:github.com/mattpocock/sandcastle 查看 GitHub 仓库 → 📘 使用教程 →run() 负责启动 Agent、传入提示、收集迭代与提交;createSandbox() 可保留一个暖 sandbox,在多次运行之间复用环境。内置 Docker、Podman 与 Vercel provider,也能实现自定义 bind-mount 或 isolated provider。noSandbox() 会直接在宿主执行,不提供隔离。
来源:github.com/mattpocock/sandcastlerun() 负责启动 Agent、传入提示、收集迭代与提交;createSandbox() 可保留一个暖 sandbox,在多次运行之间复用环境。
来源:github.com/mattpocock/sandcastle内置 Docker、Podman 与 Vercel provider,也能实现自定义 bind-mount 或 isolated provider。noSandbox() 会直接在宿主执行,不提供隔离。
来源:github.com/mattpocock/sandcastlehead、merge-to-head 和 branch 控制 Agent 修改落到当前工作区、临时 worktree 后合并,或指定分支。bind-mount 与隔离 provider 的默认策略不同。
来源:github.com/mattpocock/sandcastle提示词管线支持参数、动态上下文和结构化输出。v0.12.0 又为 Sandbox handle 增加 exec(),可在同一环境运行测试或 lint,并以 ExecResult 返回非零退出码。
来源:github.com/mattpocock/sandcastle/releases/tag/v0.12.0Sandcastle 把 AgentProvider、SandboxProvider、提示词处理和 Git 同步分开。bind-mount provider 把宿主目录或 worktree 挂进 Docker/Podman;isolated provider 把仓库同步进远端或独立环境,再将提交、diff 和文件带回。branchStrategy 决定结果进入当前 HEAD、合并回 HEAD 或保留在命名分支。Orchestrator 串联提示、Agent 事件、sandbox 生命周期、提交和日志。
来源:github.com/mattpocock/sandcastleGitnpm 与 TypeScript 运行环境Docker Desktop、Podman、Vercel Sandbox…对应 Agent 的凭据或本地认证适合并行运行多个后台编码任务、建立实现与复核流水线、在 CI 中让 Agent 修改分支,或在一个暖 sandbox 内连续运行 Agent 和验证命令。单次交互任务可以直接使用原 Agent CLI;没有容器或远程隔离边界时,不应把 noSandbox() 当成安全替代。
来源:github.com/mattpocock/sandcastle截至 2026-09-23,最新正式 release 是 v0.12.0,发布于 2026-06-29。该版把默认 Claude Code 模型更新为 claude-opus-4-8,为 createSandbox() 返回的 handle 增加 sandbox.exec(command, options?),并修复 file-mode 日志把流式文本逐行拆开的行为。
来源:github.com/mattpocock/sandcastle/releases/tag/v0.12.0status: docs-only | checked_at: 2026-09-23 | environment: 只核对官方 README、CHANGELOG、package metadata 和 v0.12.0 release | limitations: 未安装 npm 包,未创建容器或 Vercel sandbox,未调用任何编码 Agent、模型或 Git 合并流程 | observed_output: README 当前安装包为 @ai-hero/sandcastle,内置 Docker、Podman 与 Vercel provider;最新 release 为 v0.12.0,并新增 Sandbox.exec()、更新默认 Claude Code 模型和修复文件日志
来源:github.com/mattpocock/sandcastle/releases/tag/v0.12.0E2B 官方项目提供云端隔离 sandbox 基础设施和 JavaScript/Python SDK,重点是创建环境、执行命令、传文件与暴露端口;Sandcastle 位于更上层,负责选择编码 Agent、组织提示、管理分支并把提交带回。需要通用云执行环境时直接看 E2B;需要在 TypeScript 中编排编码 Agent 与 Git 流程时看 Sandcastle。
来源:github.com/e2b-dev/E2BSandcastle 适合已经把 Git、容器和 Agent 凭据管好的 TypeScript 团队。先锁定版本,选清 provider 与 branchStrategy,再用小任务验证提交回收和失败清理;只要权限、挂载或 noSandbox() 没说明白,就不宜接入自动执行。
来源:github.com/mattpocock/sandcastle不等于。bind mount 会让容器访问被挂载的宿主目录,仍需限制挂载、凭据和网络,并在可回滚分支里测试。
不应该。noSandbox() 直接在宿主执行,只适合外层已经有可信隔离的环境。
不能先假定兼容。0.x 期间公开 API、branchStrategy 和 provider 路径已有变化,应按锁定版本的 README、类型和 CHANGELOG 核对。
不一定。官方也支持本地 Docker Desktop、Podman 和自定义 provider;模型凭据与费用仍需另行评估。