Repolode
mattpocock

mattpocock/sandcastle

一个 TypeScript 库,在隔离沙箱中运行 AI 编码代理,并将其提交合并回主分支。

Star
8,891
Fork
955
未关闭 Issue
144
最近提交
昨天

这是什么?

Sandcastle 是一个用于编排 AI 编码代理的 TypeScript 库。调用一次 sandcastle.run(),即可在沙箱中运行代理,按可配置的分支策略工作,并把产生的提交合并回仓库。

它不绑定特定服务商。原生沙箱基于操作系统自带的进程沙箱(Linux 和 WSL2 上使用 Bubblewrap,macOS 上使用 Seatbelt);基于镜像的方案支持 Docker 和 Podman;云端方案支持 Daytona、E2B、Fly.io Sprites、Modal 和 Vercel。也可以自行实现自定义服务商。

它适合并行运行多个无人值守的代理、搭建代码审查流水线,或在代码中直接编排自己的代理。

核心功能

  • 01通过一次 sandcastle.run() 调用即可在隔离沙箱中运行代理。
  • 02支持操作系统原生沙箱、Docker、Podman 以及多家云端沙箱服务商。
  • 03可配置分支策略,并将代理产生的提交合并回来。
  • 04支持自定义沙箱服务商。
  • 05提供 CLI,以及 run() 和 createSandbox() 接口。

适用场景

  • 在独立分支上并行运行多个无人值守的编码代理。
  • 搭建自动化代码审查流水线,在合并前检查代理的产出。
  • 用 TypeScript 代码编排自己的 AI 编码代理。

快速上手

  1. 1

    克隆仓库并安装依赖

    npm install
  2. 2

    运行测试套件以确认环境正常

    npm test

使用前须知

  • 原生沙箱依赖 Bubblewrap(Linux 和 WSL2)或 Seatbelt(macOS),因此与平台相关。
  • README 未说明面向最终用户的安装方式;安装细节见单独的入门文档。

收录于专题

标签

常见问题

sandcastle 是什么?
一个 TypeScript 库,在隔离沙箱中运行 AI 编码代理,并将其提交合并回主分支。 Sandcastle 是一个用于编排 AI 编码代理的 TypeScript 库。调用一次 sandcastle.run(),即可在沙箱中运行代理,按可配置的分支策略工作,并把产生的提交合并回仓库。
sandcastle 可以免费使用吗?用的什么许可证?
sandcastle 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
sandcastle 还在维护吗?
活跃维护中。sandcastle 最近一次提交是在 2026年11月6日。
sandcastle 适合用来做什么?
在独立分支上并行运行多个无人值守的编码代理。 搭建自动化代码审查流水线,在合并前检查代理的产出。 用 TypeScript 代码编排自己的 AI 编码代理。
sandcastle 怎么安装和运行?
克隆仓库并安装依赖: npm install 运行测试套件以确认环境正常: npm test
在哪里获取 sandcastle?
源代码和安装说明在 GitHub 上:https://github.com/mattpocock/sandcastle

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目