乐于分享
好东西不私藏

Openclaw-如何管理和使用多个 Agent

Openclaw-如何管理和使用多个 Agent

管理和使用多个 Agent 是让 OpenClaw 从“一个全能助理”升级为“一支专业团队”的关键。它的核心逻辑是“分而治之”:每个 Agent 拥有独立的工作区(Workspace)、独立的记忆(Session)和独立的工具权限,通过配置路由规则(Bind

ings)来把不同渠道或会话的消息分配给指定的 Agent

你可以把多 Agent 理解为:

  • 独立办公室:每个 Agent 有自己专属的workspace文件夹,里面放着它的性格(SOUL.md)、对你的了解(USER.md)和工作手册(AGENTS.md),彼此完全隔离,记忆不会串台

  • 独立工具箱:每个 Agent 可以有不同的模型配置,也能通过tools.allow/deny控制它能使用哪些技能,实现“专人专权”

  • 独立门牌号:通过路由规则,把来自不同渠道(如飞书、Discord、微信)甚至同一个渠道下不同群聊/私聊的消息,分发给不同的 Agent 处理

🚀 多 Agent 管理三步走

以下是基于官方文档和实战经验的完整配置流程,你可以直接复制命令操作

第一步:创建你的 AI 团队成员

使用openclaw agents add命令为每个新成员创建独立的工作空间。

bash

# 创建一个名为 "writer" 的写作助手
openclaw agents add writer --workspace ~/.openclaw/workspace-writer
# 创建一个名为 "coder" 的代码专家
openclaw agents add coder --workspace ~/.openclaw/workspace-coder
# 创建一个名为 "ops" 的运维监控助手
openclaw agents add ops --workspace ~/.openclaw/workspace-ops
  • --workspace是关键:它指定了每个 Agent 专属的“办公室”目录。创建后,你会看到这些目录下自动生成了SOUL.mdAGENTS.md等配置文件,你可以随时修改它们来“调教”每个 Agent 的性格

第二步:配置“门牌号”——设置路由规则

这是多 Agent 配置中最核心的一步。你需要告诉网关,哪个“房间”的消息应该由哪个 Agent 来处理。路由规则配置在~/.openclaw/openclaw.json文件中

  1. 编辑配置文件

    bash

    nano ~/.openclaw/openclaw.json   # 或者使用你喜欢的编辑器
  2. 添加路由规则:在配置文件中找到bindings数组,添加类似下面的规则。规则遵循“最具体优先”的匹配原则,所以把更精确的规则放在前面

    • 场景一:单渠道多账户(推荐)——例如,你的团队在同一个 Discord 服务器,但希望两个不同的机器人账号(Bot)分别处理不同频道的事务。这需要你事先为每个 Agent 创建对应的 Bot 账号并获取 Token

      json

    • {

        "agents": {

          "list": [

            {

              "id": "main",

              "workspace": "~/.openclaw/workspace-main"

            },

            {

              "id": "coding",

              "workspace": "~/.openclaw/workspace-coding"

            }

          ]

        },

        "bindings": [

          {

            "agentId": "main",

            "match": {

              "channel": "discord",

              "accountId": "default"

            }

          },

          {

            "agentId": "coding",

            "match": {

              "channel": "discord",

              "accountId": "coding"

            }

          }

        ],

        "channels": {

          "discord": {

            "accounts": {

              "default": {

                "token": "DISCORD_BOT_TOKEN_MAIN"

              },

              "coding": {

                "token": "DISCORD_BOT_TOKEN_CODING"

              }

            }

          }

        }

      }

    • 场景二:多渠道多角色——例如,把来自飞书工作群的消息交给“工作助手”,把来自个人微信的消息交给“生活管家”。

      json

    • {

        "bindings": [

          {

            "agentId": "work",

            "match": {

              "channel": "feishu",

              "peer": {

                "kind": "group",

                "id": "feishu_group_id_here"

              }

            }

          },

          {

            "agentId": "personal",

            "match": {

              "channel": "wechat",

              "peer": {

                "kind": "direct",

                "id": "your_wechat_id_here"

              }

            }

          }

        ]

      }

      场景三:默认路由——如果没有任何规则匹配,网关会将消息发给默认 Agent(通常是agents.list中的第一个,或配置了"default": true的那个)。

第三步:注入灵魂——个性化配置

每个 Agent 的workspace里都有几个核心文件,这是你为 AI 成员注入“灵魂”的地方

  • SOUL.md:定义 Agent 的性格、语气、核心价值观。例如,让“作家”温柔细腻,“代码专家”严谨简洁。

  • USER.md:记录你对这个 Agent 的专属要求,比如“向我汇报工作时,请用表格形式”。

  • AGENTS.md:定义 Agent 的工作流程和规则。

  • TOOLS.md:如果你希望对不同 Agent 开放不同的技能(Skill),可以在这里配置tools.allowtools.deny白名单/黑名单。例如,禁止“作家” Agent 执行任何系统命令

第四步:重启并验证

所有配置完成后,重启网关使配置生效:

bash

openclaw gateway restart

然后验证你的 AI 团队是否已整装待发:

bash

# 查看所有 Agent 及其绑定的路由openclaw agents list --bindings

🔧 进阶配置与避坑指南

1. **隔离等级:如果你对数据安全有更高要求,可以为 Agent 启用沙箱(Sandbox)。例如,配置 Docker 容器隔离,让“运维” Agent 在一个独立的容器环境中执行高危命令

json

  • {

      "agents": {

        "list": [

          {

            "id": "ops",

            "sandbox": {

              "mode": "all",

              "scope": "agent",

              "docker": {

                "setupCommand": "apt-get update && apt-get install -y curl"

              }

            }

          }

        ]

      }

    }

    2.  **工具权限控制 (Tools Allow/Deny) —— 实现“专人专权”**
        你可以精确控制每个 Agent 能使用哪些工具。例如,让 `writer` 只能读写文件,而禁止它执行系统命令。
        *   **配置示例**:在 Agent 配置中加入 `tools` 字段,通过 `allow` 和 `deny` 来定义权限。注意 `deny` 的优先级高于 `allow`。
            ```json
            {
              "agents": {
                "list": [
                  {
                    "id": "writer",
                    "tools": {
                      "allow": ["read", "write", "edit"],   // 允许读写编辑
                      "deny": ["exec"]                      // 明确禁止执行命令
                    }
                  }
                ]
              }
            }
            ```
    3.  **广播组 (Broadcast Groups) —— 一次提问,全员“头脑风暴”**
        你可以将同一个消息同时发送给多个 Agent,让他们“各抒己见”。比如在一个产品讨论群里,同时触发 `pm-agent` 和 `dev-engineer` 来回复。
        *   **配置示例**:在配置文件中增加 `broadcast` 字段,指定哪个群组或私聊触发哪些 Agent:
            ```json
            {
              "broadcast": {
                "strategy": "parallel",      // 并行处理
                "120363403215116621@g.us": ["pm-agent", "dev-engineer"]  // 在此群中广播
              }
            }
            ```
  • 常见坑点

    1. 不要手动创建BOOTSTRAP.md:这个文件是 Agent 初始化时自动生成的,手动创建会导致 Agent 陷入“自举”状态卡死

    2. 不要复用agentDir:不同 Agent 的认证信息目录绝对不能共用,否则会导致会话和认证冲突

    3. 路由规则顺序:记得把带具体 ID 的规则放在前面,否则会被泛规则提前匹配

完成这些配置后,你就拥有了一支分工明确、互不干扰的 AI 团队。你可以针对之前提到的“创意助手”SOUL.md进行微调,让它在这个团队里扮演好属于自己的角色。