66
// 项目简介
Sandcastle 是一个 TypeScript 库,旨在在隔离且安全的沙箱环境中编排 AI 编码代理。它支持 Docker、Podman 和 Vercel 等多个提供商,以有效管理代理执行和分支策略。该库通过处理沙箱生命周期、git worktrees 和自动提交合并,简化了复杂的工作流程。
// 技术分析
Sandcastle 是一个 TypeScript 库,旨在通过利用 Git worktrees 和容器化沙箱,在安全、隔离的环境中编排 AI 编码代理。它通过提供一种结构化的方式来隔离更改、管理分支策略并在多个代理迭代中保持状态,从而解决了安全执行自主代理的挑战。该项目通过与提供商无关的架构优先考虑灵活性,允许开发人员在 Docker、Podman 和 Vercel 之间切换,或实现自定义沙箱提供商以满足特定的基础设施需求。
// 核心亮点
01
支持多种沙箱提供商,包括 Docker、Podman 和 Vercel,以实现灵活的环境隔离。
02
通过允许在单个持久化沙箱容器内进行多次运行,支持多步骤代理工作流。
03
与 Git worktrees 集成,可在特定分支上管理代理更改,而不影响主代码库。
04
为宿主和沙箱环境提供全面的生命周期钩子,以自动化依赖安装等设置任务。
05
为 CI 流水线、自定义工具和并行代理编排等高级用例提供程序化 API。
06
包含内置的日志记录和可观测性功能,以跟踪代理迭代、工具调用和生成的提交。
// 典型使用场景
01
并行化多个 AFK AI 编码代理
02
创建自动化代码审查流水线
03
通过隔离环境管理编排自定义 AI 代理
// 快速开始
首先,通过 npm 安装该包,并运行 'npx sandcastle init' 来构建必要的配置文件。在生成的 .sandcastle/.env 文件中配置环境变量,然后使用 'npx tsx' 运行主要的 TypeScript 文件来执行代理逻辑。之后,您可以在代码中定义代理和沙箱提供商,以开始编排您的 AI 编码任务。