OpenClaw 多 Agent 配置总结

8 阅读4分钟

原文: OpenClaw多agents配置(语雀) 参考: 多 Agent 配置 | OpenClaw 中文教程 · OpenClaw 多 Agent 配置指南 — EasyClaw


一、核心概念

多 Agent 是 OpenClaw 的核心特性。每个 Agent 是一个独立的「虚拟员工」,拥有:

维度说明
Skills可调用的工具和能力
Memory对话上下文与历史
SOUL性格、行为准则与能力边界
Workspace配置与长期记忆存储

二、为什么需要多 Agent

  • 专业化分工:PM / Support / Coder 等不同角色各司其职
  • 隔离上下文:测试与生产、不同客户、工作与个人分离
  • 性能优化:分散负载、多 Agent 并行
  • 权限控制:按 Agent 分配 Skills 与敏感操作范围

三、基本管理命令

openclaw agents list                    # 列出所有 Agent
openclaw agents list --verbose          # 详细信息
openclaw agents add <name>              # 创建新 Agent
openclaw agents add <name> --workspace ~/.openclaw/workspace-<name>  # 指定工作区
openclaw agents remove <name>           # 删除
openclaw agents remove <name> --force   # 强制删除(非交互)
openclaw agents set-default <name>      # 设置默认 Agent
openclaw agents default                 # 查看当前默认
openclaw agents status <name>           # 状态
openclaw agents stats                   # 统计

注意:每个 Agent 必须有独立 workspace,不能与主 Agent 共用。


四、灵魂三件套(Workspace 核心配置)

每个 Agent 的工作区包含三个核心文件:

文件作用
SOUL.md性格、行为准则、能力边界(擅长/不擅长)
USER.md用户信息、技术栈、项目背景、偏好
AGENTS.md工作方式、记忆机制、协作与路由规则

重要:子 Agent 的 AGENTS.md 不能直接复制主 Agent,否则会以「主 Agent」自居;必须为子 Agent 写专属 AGENTS.md,明确「我是主 Agent 的 xxx 助手」。


五、路由配置(bindings)

openclaw.json 中通过 bindings 将消息路由到不同 Agent,常见方式:

  • 渠道路由channel(如 telegram / discord / feishu)
  • 用户路由channel + userId
  • 群组路由channel + serverId + channelId
  • 关键词路由keywords
  • 时间路由timeRange(如工作时间 / 夜间值班)
  • 飞书多账号(方案 B)channel: feishu + accountId,对应 channels.feishu.accounts 下多应用

六、主 Agent 调度子 Agent 的方式

方式适用场景特点
sessions_spawn一次性独立任务(调研、写作)最常用,完成后结果自动回传
sessions_send持续对话、传递上下文向已有 session 发消息
共享文件读写异步协作、数据共享多 Agent 读写同一文件

示例:sessions_spawn(agentId="researcher", task="帮我调研2026年AI行业最新动态") 主 Agent 需在 agents.list 中配置 subagents.allowAgents 才能 spawn 对应子 Agent。


七、配置文件核心结构(openclaw.json)

  • agents.list:定义所有 Agent(执行 openclaw agents add 后才会生成,此前 config get agents.list 会报 path not found)。

    • 主 Agent:可配置 subagents.allowAgents: ["researcher", "writer"]
    • 子 Agent:可单独设置 model(如轻量模型省成本)、workspaceagentDir
  • bindings:将 agentIdmatch(channel / accountId / userId 等)绑定。

  • channels.feishu.accounts(方案 B):多飞书应用时,每个 account 下放 appIdappSecretbotName;迁移时不要删原有顶层字段(如 allowFromdmPolicygroupPolicy),否则易出现 Bot 反复重启或 "terminated"。


八、配置步骤摘要

  1. 确认状态openclaw agents listopenclaw gateway status
  2. 添加子 Agentopenclaw agents add <id> --workspace ~/.openclaw/workspace-<id>
  3. 初始化人设:在子 Agent workspace 下写专属 SOUL.mdAGENTS.md(勿复制主 Agent 的 AGENTS.md)
  4. 主 Agent 调度权限openclaw config set agents.list[0].subagents.allowAgents '["researcher","writer"]' --json(索引以实际 list 为准)
  5. (可选)子 Agent 模型openclaw config set agents.list[1].model 'deepv-easyclaw/claude-haiku-4-5' --json
  6. (方案 B)多飞书账号:在 channels.feishu.accounts 增加账号,并在顶层配置 bindings;改完后用脚本校验 JSON 与字段完整性。
  7. 验证:多 Agent 与 bindings 支持热重载,无需重启 Gateway;用 openclaw agents listopenclaw channels status 与 spawn 测试验证。

九、注意事项与常见坑

  • 多 Agent 配置涉及系统配置与 Gateway,建议使用高智能模型(如 Claude Sonnet)执行,避免轻量模型误操作。
  • 子 Agent 若自称「我是主 Agent」→ 检查并重写 AGENTS.md,不要复制主 Agent。
  • 子 Agent 总反问、不执行 → 在 AGENTS.md 中写明「收到任务直接执行,不反问」。
  • openclaw agents bind 不存在,绑定只能通过编辑 bindings 完成。
  • 先执行 agents add 再执行 config set agents.list[0].subagents...,否则 path not found。
  • 迁移飞书多账号时误删 allowFrom 等字段会导致 Bot 异常或每 30 分钟重启,需从备份恢复并补全字段。
  • 不要依赖 gateway restart 应用多 Agent 配置;热重载即可,重启会影响当前会话。

十、参考链接