管理 MCP 服务
MCP 声明按agent_id + session_id 隔离。即使多个会话共用同一个工作区,状态型 MCP 的连接、Cookie 和登录状态也不会串到其他会话。客户端在该会话首次调用 list_mcps 时才会建立连接:
持久化遵循工作区自身的模型:未挂载主机
workdir 的临时 DockerWorkspace 只在内存中保存 MCP 列表,容器销毁后即丢失。管理技能
技能按agent_id 隔离。skill_paths 先写入 skills/.seed 模板;智能体首次访问时,工作区为它创建独立分区。add_skill、remove_skill 与 list_skills 只操作指定智能体的分区:
管理生命周期
三个方法贯穿工作区的一生,async with 协议则把 initialize / close 包装为作用域用法:
在服务中分配工作区
在多租户服务中,决定哪个请求使用哪个工作区(按用户、智能体或会话)、缓存活跃实例、淘汰空闲实例,是工作区管理器的职责,它是独立的服务侧组件,有专门的章节介绍:工作区管理器
分配与隔离策略、TTL 淘汰,以及与智能体服务的集成。