搜索你想找的开源项目

输入名称、用途或关键词,也可粘贴 GitHub 仓库链接

分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

mattpocock/sandcastle

AI 工程

用 TypeScript 在可配置沙箱中编排 AI 编程代理,并把分支提交合并回来。

8,802
941
TypeScript
MIT
创建于 7 个月前

项目介绍

Sandcastle 是一个用 TypeScript 编排 AI 编程代理的库。调用 sandcastle.run() 后,Sandcastle 按可配置的分支策略创建隔离沙箱,再把代理在各分支上产生的提交合并回来。它不绑定特定供应商:自带基于操作系统进程沙箱的原生方案(Linux/WSL2 用 Bubblewrap,macOS 用 Seatbelt)、Docker 与 Podman 的镜像方案,以及 Daytona、E2B、Fly.io Sprites、Modal、Vercel 等云方案,也支持自定义。适合并行运行无人值守代理、搭建审查流水线,或管理自建代理 README lines 9–18。

快速使用

官方入门指南给出前置条件和快速开始;完整的文档位于 docs/guide,每个主要术语都收录在术语表中 README lines 19–34,文档也发布在 aihero.dev/sandcastle。README 没有给出安装命令和完整的 run() 示例,请按入门指南操作,不要自行推测调用签名。API 细节可查 run() 与 createSandbox()和 CLI 命令。

其他文档页覆盖沙箱提供方、分支策略、代理提供方、代理会话、迭代、结构化输出、提示词、钩子、初始化和运行日志。

开发构建

如果要参与库本身的开发,先安装依赖,再构建、测试和类型检查 README lines 35–43:

npm install
npm run build    # 用 tsup 打包
npm test         # 用 vitest 跑测试
npm run typecheck

使用约束

项目使用 TypeScript 编写,采用 MIT 许可证 README lines 44–46。沙箱行为取决于所选提供方:原生沙箱依赖宿主操作系统的机制,Docker、Podman 和云提供方则各有运行时和账号要求。代理行为取决于所选的代理提供方和会话配置。README 未说明支持的 TypeScript 或 Node 版本、除所列沙箱后端以外的平台范围,以及云提供方的费用影响。

HotRepo 点评

在 2026-11-03 的 TypeScript 日榜上,Sandcastle 记录到 8,802 星、941 个 fork,当日新增 28 星,位列该语言榜第 12 名。这只是一个快照,不是趋势序列,也没有全语言日榜名次记录。技术上看,它的抽象位于沙箱与分支这一层,而不是绑定某一家代理厂商,因此跨提供方并行跑代理、搭建审查流水线是可行的;代价是要沿用所选沙箱和代理提供方的配置方式与成本结构。

本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。