有用户提问:

使用OpenClaw新增agent,但是发送没有发现怎么办?

最后检查是飞书
im.message.receive_v1
权限没有开通

https://cloud.tencent.com/developer/article/2626151

事件配置
点击“事件配置”页面中的 “添加事件”,

-在弹出的列表中,搜索并添加 “接收消息”,
点击 “确认添加”,按照指引确认

  • 开通权限
    im.message.receive_v1
    用户发送新消息至机器人或群聊后推送事件

引言:为什么要用多智能体?

在OpenClaw中,一个Agent就是一个拥有独立“大脑”的智能体,它拥有自己的工作空间(workspace)、人格设定(SOUL.md)、独立的会话存储和工具权限。通过部署多个Agent,你可以实现:

  • 角色隔离:让“文案红孩儿”和“技术助手”互不干扰,拥有各自独立的记忆和风格。
  • 负载分担:不同渠道或不同群的消息由专属Agent处理,避免上下文污染和token浪费。
  • 精细化管理:为每个Agent分配不同的模型、工具和权限。

第一部分:基础篇 – 创建你的第一个多Agent

1.1 查看现有Agent

首先,通过以下命令查看当前已配置的Agent列表及其关键信息:

openclaw agents list

输出示例:

Agents:
- main (default)
  Workspace: ~/.openclaw/workspace
  Agent dir: ~/.openclaw/agents/main/agent
  Model: deepseek/deepseek-chat
  Routing rules: 0
  Routing: default (no explicit rules)

可以看到,默认有一个 main Agent,它拥有独立的工作目录和默认模型。

1.2 新增一个Agent

使用 agents add 命令创建一个新的Agent,并为其指定独立的工作空间。这是实现角色隔离的关键。

openclaw agents add agile_marketing_write --workspace ~/.openclaw/workspace-marketing-write

再次运行 openclaw agents list,你将看到新Agent已创建:

- agile_marketing_write
  Workspace: ~/.openclaw/workspace-marketing-write
  Agent dir: ~/.openclaw/agents/agile_marketing_write/agent
  Model: deepseek/deepseek-chat (继承默认模型)
  Routing rules: 0

1.3 赋予Agent“灵魂”:SOUL.md

每个Agent都需要一个 SOUL.md 文件来定义其人格、职责边界和说话风格。你需要手动在它的工作目录中创建这个文件。

cd ~/.openclaw/workspace-marketing-write
nano SOUL.md

在文件中定义它的角色,例如:

# SOUL.md - 角色:市场推广文案红孩儿
你是“敏捷战队”的专属市场推广文案助手,负责创作所有对外宣传文案。你的风格热情、有感染力,善于用故事包装观点。

第二部分:进阶篇 – 多飞书机器人通道配置

OpenClaw 支持 一个 Gateway(网关)统一管理,多个 Channel(通道)独立接入。这意味着你可以为每个Agent配置一个独立的飞书机器人。

2.1 核心概念:agentId vs accountId

在配置多通道前,必须分清这两个核心ID:

标识符 代表什么 定义位置 作用
agentId 智能体(大脑/员工) agents.list 数组中的 id 字段 拥有独立人格、记忆和工具,负责处理消息。
accountId 通道账号(电话线/工位) channels.feishu.accounts 对象中的键名 代表一个具体的通信渠道实例(如一个独立的飞书机器人应用)。

2.2 正确配置多飞书账号(避免覆盖)

❌ 错误做法:直接使用 openclaw config set channels.feishu.appId 会覆盖整个飞书通道配置,导致原有配置失效。
✅ 正确做法:手动编辑配置文件 ~/.openclaw/openclaw.json,在 channels.feishu 下使用 accounts 字段配置多个账号。

以下是一个多账号配置示例,包含了你的 mainagile_marketing_write 两个飞书机器人:

{
  "channels": {
    "feishu": {
      "enabled": true,
      "domain": "feishu",
      "groupPolicy": "open", // 注意:生产环境建议改为 "allowlist" 以提高安全性
      "accounts": {
        "main": {
          "appId": "cli_a91be1951578dcca",
          "appSecret": "你的主应用Secret",
          "botName": "主助手"
        },
        "agile_marketing_write": {
          "appId": "cli_a910c62c59b8dcb5",
          "appSecret": "你的新应用Secret",
          "botName": "敏捷战队--产品运营/推广---文案写作红孩儿"
        }
      }
    }
  }
}

⚠️ 安全警告appSecret 是敏感信息,绝不能在文档或公开场合泄露。配置文件中请使用真实但保密的密钥。

2.3 飞书开放平台配置要点

为每个飞书机器人应用,你都需要在飞书开放平台完成以下关键步骤,缺一不可:

  1. 创建应用:为每个Agent分别创建“企业自建应用”。
  2. 添加机器人能力:在应用管理页面开启“机器人”。
  3. 获取凭证:在“凭证与基础信息”中复制 App IDApp Secret
  4. 配置事件订阅(最重要!)
    • 顺序很重要:必须先在OpenClaw中配置好 App ID/Secret 并重启Gateway,然后再去飞书后台配置事件。
    • 订阅方式:必须选择 “使用长连接接收事件”,而不是Webhook。
    • 添加事件:必须添加 im.message.receive_v1(接收消息事件)。
  5. 配置权限:通过“批量导入权限”添加必要的权限,至少包括:
    {
      "scopes": {
        "tenant": [
          "im:message",
          "im:message.p2p_msg:readonly",
          "im:message.group_at_msg:readonly",
          "im:message:send_as_bot",
          "contact:user.base:readonly"
        ]
      }
    }
    
  6. 发布应用:创建一个版本并发布上线。只有发布后的应用才能被搜索和添加。

2.4 核心路由:Bindings配置

有了Agent和飞书账号,你需要用 bindings 将它们连接起来:告诉OpenClaw,哪个飞书账号(accountId)收到的消息,应该交给哪个智能体(agentId)处理。

在你的 openclaw.json 中添加 bindings 数组:

{
  "bindings": [
    {
      "agentId": "main",
      "match": {
        "channel": "feishu",
        "accountId": "main"
      }
    },
    {
      "agentId": "agile_marketing_write",
      "match": {
        "channel": "feishu",
        "accountId": "agile_marketing_write"
      }
    }
  ]
}

配置解释

  • 第一条规则:main 这个飞书账号收到的所有消息,都由 main 这个Agent处理。
  • 第二条规则:“红孩儿”这个飞书账号收到的所有消息,都由 agile_marketing_write 这个Agent处理。

配置完成后,重启Gateway使配置生效:

openclaw gateway restart

使用以下命令验证绑定是否成功:

openclaw agents list --bindings

输出示例:

Agents:
- main (default)
  ...
  Routing rules: 1
  Routing rules:
    - feishu accountId=main
- agile_marketing_write
  ...
  Routing rules: 1
  Routing rules:
    - feishu accountId=agile_marketing_write

第三部分:排雷篇 – 常见问题与解决方案

问题1:配置了飞书机器人,但发消息没回复?

这是最常见的问题,请按以下步骤排查:

  1. 检查日志:运行 openclaw logs --follow,然后在飞书发消息。观察是否有消息进入、路由和错误信息。如果完全没有日志输出,请先检查Gateway是否运行 (openclaw status) 或查看系统日志 (journalctl -u openclaw -f)。
  2. 核对飞书应用配置(三步必查)
    • 发布状态:应用是否已发布?草稿状态的应用无法接收消息。
    • 事件订阅:是否为 “长连接”?是否添加了 im.message.receive_v1 事件?配置后是否重新发布了
    • 权限im:message 及相关权限是否已开启?
  3. 确认绑定openclaw agents list --bindings 显示的绑定规则是否正确?accountId 是否与配置文件中完全一致?
  4. 检查配对:如果是首次私聊,机器人可能会回复一个配对码。此时需要在服务器上执行 openclaw pairing approve feishu <配对码> 完成授权。

问题2:为什么默认配置中没有 bindings

bindings 是高级路由配置,不是自动生成的。如果没有 bindings,OpenClaw 会将所有消息路由给列表中的默认Agent(通常是 main 或第一个Agent)。这解释了为什么即使创建了新Agent,不配置 bindings 的话,所有飞书消息依然由旧Agent回复。

问题3:配置长连接时提示“应用未建立长连接”怎么办?

这通常是因为配置顺序错误。请严格遵循:

  1. 在 OpenClaw 中配置好 App IDApp Secret
  2. 重启 Gateway:openclaw gateway restart
  3. 再去飞书开放平台配置“使用长连接接收事件”。

如果仍报错,可以尝试在服务器上重启Gateway后,再回飞书后台保存事件配置。

结语

通过以上步骤,你成功地为“敏捷战队”搭建了多智能体架构,并为“市场推广红孩儿”配置了专属的飞书机器人。这不仅实现了角色的完全隔离,也为未来扩展更多AI助手(如技术助手、客服助手)奠定了坚实的基础。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐