用途:把一批工单交给 Sandcastle 的沙箱智能体离线处理。每次运行称为 lane,拥有独立 worktree、分支和运行配置,只列出本批工单,因此并发 lane 互不干扰,也不查询共享池。循环每轮实现并审查一个工单,折叠到 lane 分支,直到某轮无提交落地(dry)结束,随后由 PR 智能体把守分支并开启该 lane 的 PR。
主要能力:Docker 沙箱中编排编码智能体 CLI,由仓库中受跟踪的 .sandcastle/ 模板驱动。前置条件:Docker 运行中,以及智能体令牌(CLAUDE_CODE_OAUTH_TOKEN)和 GitHub 令牌(GH_TOKEN)。配置读取一次;运行配置 run.json 含 branch、base、tickets、可选 cap(默认 tickets+1,仅作干燥停止余量)与 notes。终止条件为某轮无提交落地;沙箱智能体以 <promise>COMPLETE</promise> 结束回合。
用法:先确定批次工单并命名 lane(分支 sandcastle/<batch-slug>,worktree ../<repo>-<batch-slug>);用 git worktree add -b <branch> ../<repo>-<batch-slug> <base> 创建 worktree;若仓库无 .sandcastle/ 模板,用 npx sandcastle init(查看 --help,选 sequential-reviewer)再适配,如固定 docker imageName、只读挂载 ~/.claude/skills、持久化包管理器存储;在 worktree 写 .sandcastle/run.json;将令牌放入 .sandcastle/.env 并刷新 GH_TOKEN=$(gh auth token);随后以 pnpm sandcastle 或 npx tsx .sandcastle/main.mts 在后台启动。通过 .sandcastle/logs/ 与 docker ps 判断运行状态。
限制:合并仍需人工执行;沙箱无浏览器/模拟器,需以单元或 jsdom 测试验证;同一 worktree 只能有一个活跃 lane,重叠代码的 lane 需串行合并;cap 或工单列表写错只能重启,不能在运行中编辑。其余细节暂未提供。