SandBase Harness
本地优先的 AI 代理运行时和 MCP 桥接器,自带沙箱、记忆、凭证管理与审计回放。
证据显示:代码中实现了基于角色的权限控制(如API密钥、CORS策略、沙箱隔离),但未发现细粒度的最小权限原则(如按工具或资源的最小权限分配)。用户确认机制存在但仅部分实现(如审批流程),未全面覆盖所有敏感操作。数据流透明度:有审计日志和会话记录,但未明确展示数据流向。敏感数据处理:测试中显示令牌被加密存储(encrypted_secret),但未全面覆盖所有敏感数据。依赖安全:使用npm依赖,但未提供依赖漏洞扫描结果。外部影响:沙箱和Docker隔离表明对外部系统的影响受控,但未详细说明。回滚:有会话重放功能,但未明确提供操作回滚。来源归属:未明确说明代码来源和贡献者。
自洽性:代码和测试一致,但未全面验证。依赖可用性:依赖版本未固定,可能影响可重现性。失败消息:测试中显示错误处理良好,但未全面覆盖。
目标受众和场景:README明确说明适用于需要安全运行代码的AI代理场景。能力边界:文档中列出了支持的功能,但未明确限制。触发精度:未明确说明触发条件。环境适配:支持本地、Docker、Kubernetes等,但未详细说明配置。
信息架构:README和文档结构清晰。安装说明:提供了安装步骤。命名稳定性:版本号明确。示例和FAQ:有示例但缺少FAQ。已知限制:未明确列出。许可证:Apache-2.0。版本变更日志:有CHANGELOG.md。维护责任:未明确说明维护者。
输出可用性:API设计清晰,有测试。边际价值:提供了独特的本地优先运行时。成本效益:未提供性能或成本数据。
声明可追溯性:README中的声明未完全对应代码。跨来源佐证:有多个目录列表,但未独立验证。事实与推断分离:文档中混合了事实和推断。
- 未验证发布者身份,需谨慎对待。
- 依赖版本未固定,可能影响可重现性。
- 用户确认机制不全面,敏感操作可能未充分提示。
- 文档中大量外部目录链接,需独立验证其真实性。
这个 Agent 能做什么,适合哪些场景?
SandBase Harness 是一款本地优先、可自托管的 AI 代理运行时,提供会话管理、沙箱执行、工具调用控制、内存、凭证管理和审计回放功能。它集成了 MCP 服务器作为桥接,支持通过官方 MCP 注册表和多种插件目录发现。该运行时支持 Docker、Kubernetes 和自有 worker 沙箱,兼容 OpenAI、Anthropic 和 OpenAI 兼容提供商如 DeepSeek V4。安装简单,基于 Node.js,数据存储在本地 SQLite 和文件系统中,不依赖托管控制平面。广泛收录于多个生态系统目录,并积极提交至社区列表。
SandBase Harness 提供一个 CLI 用于初始化和启动运行;运行后,它提供持久会话、可恢复的事件流、审计日志和回放、MCP 工具集、凭证保管库和权限策略,并包含一个本地控制台。它在多种沙箱(本地、Docker、Kubernetes、自有 worker)中执行工具调用,并通过适配器支持多家模型提供商。它实现了 MCP 服务器标准,暴露工具供代理使用。
- 对于需要隔离运行代码的个人开发者,可使用本地 Docker 沙箱执行工具调用。
- 对于需要长时运行代理并监控其操作的团队,可利用持久会话和审计回放功能。
- 对于需要控制代理工具访问权限的组织,可配置 MCP 工具集、凭证保管库和审批策略。
- 对于希望使用多种模型(OpenAI、Anthropic、DeepSeek 等)的用户,适配器提供统一接口。
- 对于有隐私要求的用户,可完全本地运行,数据保留在自身基础设施中。
这个 Agent 有哪些优点和局限?
- 真正的本地优先,无需托管控制平面。
- 支持多种执行沙箱,包括 Docker 和 Kubernetes。
- 包含审计日志和回放功能,便于追踪。
- 兼容多个模型提供商,无强绑定。
- 官方 MCP Registry 收录,易于发现。
- 需要 Node.js 和 npm 进行安装构建。
- 部署到 Kubernetes 需要额外配置。
- 隔离程度依赖所选后端,可能需自行加固。
- 社区目录收录的元数据可能滞后,需以官方源为准。
如何安装或部署这个 Agent?
克隆仓库并进入目录:git clone --branch v0.3.8 --depth 1 https://github.com/sandbaseai/sandbase-harness.git && cd sandbase-harness。安装依赖并构建:npm ci && npm run build。
如何使用这个 Agent?
创建代理项目目录并初始化:mkdir ../my-agents && cd ../my-agents && node ../sandbase-harness/dist/index.js init。启动运行时:node ../sandbase-harness/dist/index.js start。然后访问本地控制台 http://127.0.0.1:3000/dashboard。
这个 Agent 与同类方案有什么区别?
与 SandBase CLI 不同,CLI 是轻量级桥梁,侧重于连接多个客户端,而 Harness 提供完整的运行时和沙箱。