Skip to main content
工作区的资源并非在创建时就固定不变。MCP 服务与技能都可以在工作区运行期间添加或移除,且每次变更都会持久化,重启后依然生效。生命周期方法则负责把工作区从开通带到释放。

管理 MCP 服务

add_mcp 注册一个新的 MCP 服务,remove_mcp 按名称注销。变更写入工作区目录下的 .mcp 文件,重启后的工作区会自动重连相同的服务,无需重新传入种子:
持久化遵循工作区自身的模型:未挂载主机 workdir 的临时 DockerWorkspace 只在内存中保存 MCP 列表,容器销毁后即丢失。

管理技能

add_skill 把本地的技能目录(必须包含 SKILL.md)复制到工作区的 skills/ 目录下,内部通过 tar 归档传输,因此对本地目录和远程沙箱的行为一致。remove_skill 按技能对智能体暴露的名称(SKILL.md frontmatter 中的 name 字段)删除:

管理生命周期

三个方法贯穿工作区的一生,async with 协议则把 initialize / close 包装为作用域用法:
reset() 清空工作区,而非恢复初始状态:构造时传入的 default_mcpsskill_paths 种子不会被重新应用。

在服务中分配工作区

在多租户服务中,决定哪个请求使用哪个工作区(按用户、智能体或会话)、缓存活跃实例、淘汰空闲实例,是工作区管理器的职责,它是独立的服务侧组件,有专门的章节介绍:

工作区管理器

分配与隔离策略、TTL 淘汰,以及与智能体服务的集成。