跳转到主要内容
本文档从架构与能力层面介绍沙箱插件的扩展性、可靠性与安全性。该文档不包含接口或代码细节,适合产品、架构与集成读者。

1. 功能定位

沙箱插件为智能体提供隔离的执行与文件操作环境,用于:
  • 执行代码与工具调用,支持多语言与多工具链。
  • 隔离用户与项目的工作目录,实现多租户与多场景运行。
  • 对沙箱实例进行自动化管理、监测与生命周期治理。

2. 架构总览

沙箱插件由三层协同构成:
  • 编排层:负责请求路由、权限校验、任务调度与生命周期管理。
  • 执行层:由 Sandbox Provider 提供运行时环境,默认内置 Docker 沙箱。
  • 工具层:工具集通过统一协议访问沙箱,支持文件、终端、浏览器与项目能力。
整体流程以“请求 -> 选择 Provider -> 创建或复用沙箱 -> 执行任务 -> 监测与回收”为主干,确保一致的可观测与可运维性。

3. 扩展能力:自定义 Sandbox Providers

沙箱插件的核心能力之一是 Provider 插件机制。通过自定义 Provider,可以接入不同的运行时基础设施,例如: 自定义 Provider 需实现统一的沙箱协议,并注册为可选策略,系统会在运行时选择匹配的 Provider。这样可以在不改动核心编排逻辑的情况下,扩展新的执行后端。

4. 内置 Docker 沙箱能力与监测

内置 Docker 沙箱提供完善的运行时支持:
  • 自动创建与复用:按用户、项目或环境维度复用已有容器,提高性能与资源利用率。
  • 运行配置与资源治理:支持网络、端口、CPU、内存与共享内存配置,满足不同负载需求。
  • 生命周期治理:通过延迟清理与定期对账,保证容器可回收、状态可修复、异常可处理。
  • 可观测性:以统一标签标识租户、用途与环境归属,方便监测、追踪与运维。

5. 安全性设计

沙箱插件遵循最小权限与隔离原则,重点保障:
  • 多租户隔离:通过卷与上下文隔离不同租户的文件与执行空间。
  • 访问控制:敏感操作与管理接口受到权限保护。
  • 资源限制:可配置 CPU、内存与运行时限制,防止资源滥用。
  • 只读与受限执行:支持只读访问场景,降低数据面风险。

6. 可维护性与可靠性

沙箱插件设计强调长期可维护:
  • 模块化编排:分离编排、执行与工具层,便于扩展与演进。
  • 任务可追踪:统一的调度与对账机制减少状态漂移。
  • 自动恢复能力:异常或失联容器可被识别并修复。
  • 运维友好:提供清晰的生命周期边界与监测入口。

7. 工具生态与应用场景

Sandbox 工具集为智能体提供标准化能力入口,包括:
  • 文件系统与代码执行
  • 终端命令与项目管理
  • 浏览器自动化与内容生成
工具层的统一协议使新增工具或扩展能力更容易,与 Provider 扩展形成闭环。