Logo
活死人の行知路

OpenClaw多代理实践-产研团队


📅 | 📝 410 字
#AI #openclaw

1. 准备

  1. OpenClaw 部署
  2. OpenClaw 模型配置
  3. OpenClaw 接入飞书

2 配置

之前在 《OpenClaw 接入飞书》添加了两个飞书渠道,一个项目经理Alex,一个是产品经理Mia,下面我分别为两个机器人创建对应的Agent。

2.1 创建产品经理Agent

# 使用可视化UI终端配置,默认工作区为 ~/.openclaw/workspace-pm-alex,回车之后全部选择 No
openclaw agents add pm-alex

# 或者
openclaw agents add pm-alex --workspace ~/.openclaw/workspace-pm-alex

执行完后在「代理」页面会看到新加的Agent:

也可以运行如下命令验证 Agent 是否添加成功:

openclaw agents list

还可以在 ~/.openclaw/openclaw.jsonagents 下的 list查看:

修改配置文件中的Agent:

agents: {
    ...
    list: [
      {
        id: 'main',
        workspace: '/home/node/.openclaw/workspace',
      },
      {
        id: 'pm-alex',
        name: 'pm-alex',
        workspace: '/home/node/.openclaw/workspace-pm-alex',
        agentDir: '/home/node/.openclaw/agents/pm-alex/agent',
        model: 'zhipu/glm-4.7',
      },
    ],
  },

添加飞书账号 Alex

channels: {
    feishu: {
      enabled: true,
      appId: 'cli_a93dd554f179dcd4',
      appSecret: '__OPENCLAW_REDACTED__',
      connectionMode: 'websocket',
      domain: 'feishu',
      groupPolicy: 'open',
      accounts: {
        main: {
          appId: 'cli_a93dd554f179dcd4',
          appSecret: '__OPENCLAW_REDACTED__',
          botName: '数字助手-Aei',
        },
        alex: {
          appId: 'cli_a931ce2188fadcd1',
          appSecret: '__OPENCLAW_REDACTED__',
          botName: '项目经理-Alex',
        },
      },
    },
  },

2.2 创建飞书群

➜ 1. 点击飞书客户端左上角的【+】加号按钮,点击“创建群组”,输入群名称和其他信息后点击【创建】。 2. 点击群组的右上角三个点号按钮后选择【设置】按钮: 3. 添加“群机器人”,选择创建的“项目经理-Alex”进行添加。 4. 在群里“@项目经理-Alex”,问它“群ID是多少”,它会告诉你这个飞书群以oc_开头的群ID,记下来 chat_id,例如:oc_a1b2c3d4e5f6g7h8i9j0k。 也可以点击右上角,选择【设置】,在底部查看群ID:

2.3 配置 Bindings(核心中的核心)

编辑 ~/.openclaw/openclaw.json 配置文件:

{
  bindings: [
    { agentId: "pm-alex", match: { channel: "feishu", accountId: 'alex', peer: { kind: "group", id: "oc_a1b2c3d4e5f6g7h8i9j0k" } } }
  ],

  ...
}

执行下面命令查看绑定情况:

openclaw config get bindings

2.4 配置 Agent 间通信

OpenClaw 支持 agentToAgent 通信配置,编辑 ~/.openclaw/openclaw.json 配置文件:

{
  "tools": {
    "agentToAgent": {
      "enabled": true,
      "allow": ["pm-alex"]
    }
  }

  ...
}

2.5 重启 Gateway

重启 Gateway 以加载新配置:

openclaw gateway restart

3 产品经理Agent-Mia

创建Agent

# 使用可视化UI终端配置,默认工作区为 ~/.openclaw/workspace-pm-alex,回车之后全部选择 No
openclaw agents add po-mia

# 或者
openclaw agents add pm-mia --workspace ~/.openclaw/workspace-pm-mia

配置

{
  agents: {
    defaults: {
      ...
      workspace: '/home/node/.openclaw/workspace',
      compaction: {
        mode: 'safeguard',
      },
    },
    list: [
      {
        id: 'main',
        workspace: '/home/node/.openclaw/workspace-pm',
      },
      {
        id: 'pm-alex',
        name: 'pm-alex',
        workspace: '/home/node/.openclaw/workspace-pm-alex',
        agentDir: '/home/node/.openclaw/agents/pm-alex/agent',
        model: 'zhipu/glm-4.7',
      },
      {
        id: 'po-mia',
        name: 'po-mia',
        workspace: '/home/node/.openclaw/workspace-po-mia',
        agentDir: '/home/node/.openclaw/agents/po-mia/agent',
        model: 'zhipu/glm-4.5-air',
      },
    ],
  },
  channels: {
    feishu: {
      enabled: true,
      appId: 'cli_a93dd554f179dcd4',
      appSecret: '__OPENCLAW_REDACTED__',
      connectionMode: 'websocket',
      domain: 'feishu',
      groupPolicy: 'open',
      accounts: {
        main: {
          appId: 'cli_a93dd554f179dcd4',
          appSecret: '__OPENCLAW_REDACTED__',
          botName: '数字助手-Aei',
        },
        alex: {
          appId: 'cli_a931ce2188fadcd1',
          appSecret: '__OPENCLAW_REDACTED__',
          botName: '项目经理-Alex',
        },
        mia: {
          appId: 'cli_a930a4dd46ba1cb1',
          appSecret: '__OPENCLAW_REDACTED__',
          botName: '产品经理-Mia',
        },
      },
    },
  },
  bindings: [
    {
      agentId: 'pm-alex',
      match: {
        channel: 'feishu',
        accountId: 'alex',
        peer: {
          kind: 'group',
          id: 'oc_xxxxxxxxxxxxxxxxxxxxxx',
        },
      },
    },
     {
      agentId: 'po-mia',
      match: {
        channel: 'feishu',
        accountId: 'mia',
        peer: {
          kind: 'group',
          id: 'oc_xxxxxxxxxxxxxxxxxxxxxx',
        },
      },
    },
  ],
}

4 测试验证 Agent 隔离效果

配置完成后,我们需要验证 Agent 之间的隔离是否生效。

测试 1:群组消息使用独立 Agent

  1. 在新创建的飞书群组中,向机器人提问:你所在的工作空间路径是什么?
  2. 验证机器人是否返回了新 Agent 的 workspace 路径:/root/.openclaw/workspace-pm-alex

5 小结

** 所有操作步骤**

  1. OpenClaw 部署
  2. 首次登录浏览器设备授权
  3. 添加模型列表
  4. 执行 openclaw plugins enable feishu 启用飞书插件
  5. 执行 openclaw onboard 通过设置向导添加飞书渠道
  • 添加 AppId 和 AppSecret
  • 选择 WebSocket
  • 选择 Open
  • 选择 Feishu
  1. 代生成 agents 顶级key后添加默认模型
  2. channels 下添加默认飞书机器人账号
  3. 飞书客户端找到上一步添加的机器人,随便发送个消息,等待返回配对码
  4. 创建多agent
  5. 修改添加的agent,手动指定模型,同时更新默认Main Agent的workspace
  6. channels 下添加agent的账号
  7. binding绑定账号路由
  8. 设置tools下的agentToAgent
  9. 重启
  10. 继续添加其他agent,重复上面10、11、12、13、14步骤