openclaw通过独立workspace实现任务隔离:每个workspace有专属目录、agent职责、凭据和工具集,运行时互不共享文件、内存、环境变量及api密钥。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让多个任务在各自独立的上下文中运行,避免互相污染记忆、文件和权限——比如客服查询订单和财务审批付款不能共享同一份会话日志或API密钥。
创建隔离的工作空间目录
在终端执行 openclaw workspace init order-check,系统会在 ~/.openclaw/workspaces/ 下生成 order-check/ 文件夹。这个路径就是该任务的专属根目录,所有后续操作都限定在此范围内。
再执行 openclaw workspace init payment-approval,生成另一个完全独立的 payment-approval/ 目录。两个目录之间默认无任何文件、内存或环境变量共享。
【workspace 名称必须唯一,重复名称会导致配置覆盖】
为每个 Workspace 绑定专属 Agent
进入 order-check/ 目录,编辑 agent.md:只允许写入“读取订单状态、调用物流接口、不接触支付凭证”的职责描述。
进入 payment-approval/ 目录,编辑同名文件:明确限定“仅可访问财务系统、需二次签名、禁止输出原始银行卡号”。
这两份 agent.md 会被分别注入到各自 Workspace 的每轮提示词中,模型不会跨空间读取对方定义。
加载不同凭据与工具集
方法一:手动配置凭据文件
在 order-check/secrets.yaml 中只存物流平台的 API Key;在 payment-approval/secrets.yaml 中只存财务网关的 OAuth Token。Agent 启动时自动加载本 workspace 下的 secrets 文件,其他目录的凭据根本不可见。
方法二:通过 bindings 动态挂载
在 order-check/bindings.json 中声明:"tools": ["track_shipment", "query_order"];
在 payment-approval/bindings.json 中声明:"tools": ["verify_signature", "submit_payment"]。
运行时系统只加载当前 workspace 声明的工具,未声明的工具函数即使存在也不会注册进 Agent 能力列表。
启动任务并验证隔离性
第一步:在 order-check/ 目录下运行 openclaw run --mode=interactive,输入“查订单 #A7890”,观察日志是否只调用物流接口且不报错。
第二步:新开终端,cd 到 payment-approval/,同样执行 openclaw run --mode=interactive,输入“审批付款单 #P4561”,确认返回结果含财务签名流程,且未触发任何物流相关工具。
第三步:检查两个 workspace 下的 METADATA.md 文件——它们记录的会话 ID、时间戳、工具调用链完全不重叠,证明上下文未发生交叉。











