2026-04-15
教程
0

目录

如何在飞书插件中配置 OpenClaw 关联多个飞书机器人,对应不同 Agent
概述
配置方式
前提
完整示例
路由规则优先级
常用命令
ID 格式参考
获取 ID 的方法
dmPolicy 参考
多账号会话隔离(dmScope)
故障排查
检查配置问题
自动修复配置问题
查看详细状态
查看日志

如何在飞书插件中配置 OpenClaw 关联多个飞书机器人,对应不同 Agent

插件版本 3.10 以上 且 为飞书官方插件

官方插件地址:OpenClaw飞书官方插件使用指南(公开版)

概述

OpenClaw 支持在同一台机器上配置多个飞书机器人账户,实现:

  • 账户隔离:每个飞书机器人独立管理,互不干扰
  • 路由分发:不同飞书机器人的消息路由到不同的 agent(工作空间)
  • 灵活控制:每个账户可以有不同的访问策略、技能权限等

配置方式

直接编辑配置文件 配置文件路径:~/.openclaw/openclaw.json

前提

创建新的飞书机器人,用于关联到新的账号上 一键创建一个OpenClaw 机器人

完整示例

飞书多机器人账号 + 多 Agent 路由

json
{ // 定义多个 agent(隔离的工作空间和记忆) "agents": { "list": [ { "id": "main", "name": "主助手", "default": true, "workspace": "~/.openclaw/workspace-main", "model":{ "primary": "ollama/qwen3.5:35b" // 配置模型 } }, { "id": "test1", "name": "工作助手", "workspace": "~/.openclaw/workspace-test1", "model":{ "primary": "ollama/deepseek" } }, { "id": "test2", "name": "客服助手", "workspace": "~/.openclaw/workspace-test2", "model":{ "primary": "ollama/qwen3.5:35b" } } ] }, // 配置会话隔离 "session": { "dmScope": "per-account-channel-peer" }, // 配置飞书多账户 "channels": { "feishu": { "enabled": true, "threadSession": true, // 原生openclaw 4.12版本中不存在这个属性 "replyMode": "auto", // 默认机器人配置,必须要有!! "appId": "cli_xxx", // 可为空 "appSecret": "xxx", // 可为空 "accounts": { "default": {}, // 工作机器人1 // agents.list[1].id 保持一致 "test1": { "appId": "cli_work_yyy", "appSecret": "work_secret_yyy", "botName": "工作机器人", //openclaw 4.12版本中不存在这个属性 可用name "dmPolicy": "allowlist", "allowFrom": ["ou_5b990e213988b9bcf396f955a50b2a22", "ou_1234567890abcdef"], //类似于白名单 }, // 机器人2 // agents.list[2].id 保持一致 "test2": { "appId": "cli_support_zzz", "appSecret": "support_secret_zzz", "botName": "客服机器人", "dmPolicy": "open", "allowFrom": ["*"] // 所有人可使用 } }, // 群组配置 "groups": { "*": { "requireMention": true }, "oc_83e1c0d069b94efc09ad22e05bc06365": { "requireMention": false, "groupPolicy": "open" }, "oc_dev_123456789": { "requireMention": false, "groupPolicy": "allowlist", "allowFrom": ["ou_dev_001", "ou_dev_002"], } }, "groupPolicy": "allowlist", "groupAllowFrom": [ "ou_user1", "ou_user2", "oc_chat1" ] } }, // 路由绑定 "bindings": [ { "agentId": "main", "match": { "channel": "feishu", "accountId": "default" } }, { "agentId": "work", "match": { "channel": "feishu", "accountId": "work" } }, { "agentId": "support", "match": { "channel": "feishu", "accountId": "support" } }, { "agentId": "test1", // 绑定agent "match": { "channel": "feishu", // 消息通道使用飞书 "peer": { "kind": "direct", "id": "ou_owner_user" } } }, { "agentId": "test2", "match": { "channel": "feishu", "peer": { "kind": "group", "id": "oc_support_group_123" } } } ] }

路由规则优先级

当收到飞书消息时,OpenClaw 按以下顺序匹配路由:

  1. 精确匹配:peer.kind + peer.id(特定用户/群组)
  2. 父级匹配:线程继承
  3. 账户匹配:accountId
  4. 渠道匹配:channel + accountId: "*"
  5. 默认 Agent:agents.list[].default 或第一个 agent

常用命令

命令说明
openclaw channels list查看所有渠道账户状态
openclaw channels status查看渠道状态
openclaw agents bindings查看路由绑定
openclaw gateway status查看 Gateway 状态
openclaw logs --follow查看日志

ID 格式参考

类型格式示例
App IDcli_xxxcli_a1b2c3d4e5f6g7h8
用户 Open IDou_xxxou_5b990e213988b9bcf396f955a50b2a22
群组 Chat IDoc_xxxoc_83e1c0d069b94efc09ad22e05bc06365

获取 ID 的方法

群组 ID(chat_id)

  1. 启动 Gateway,在群里 @机器人
  2. 运行 openclaw logs --follow 查看 chat_id

用户 ID(open_id)

  1. 启动 Gateway,私聊机器人
  2. 运行 openclaw logs --follow 查看 open_id

dmPolicy 参考

行为
"pairing"默认。未知用户收到配对码,需要管理员批准
"allowlist"只有 allowFrom 中的用户可以聊天
"open"允许所有用户(需要在 allowFrom 中添加 "*")
"disabled"禁用私聊

多账号会话隔离(dmScope)

隔离粒度行为
main最粗粒度所有私聊共用一个会话
per-peer按用户粒度同一用户跨不同 channel 共享会话
per-channel-peer按 channel + 用户 粒度不同 channel 的同一用户各自独立,但同 channel 下多账号仍共享
per-account-channel-peer按账号 + channel + 用户 粒度多账号推荐,每个机器人与每个用户的会话完全独立

按账号 + channel + 用户 粒度设置隔离的快捷指令:

bash
openclaw config set session.dmScope "per-account-channel-peer"

注意

仅设置 session.dmScope 不够——还需通过 agents + bindings 将不同账号绑定到不同 agent,才能实现记忆完全隔离


故障排查

检查配置问题

bash
openclaw doctor

自动修复配置问题

bash
openclaw doctor --fix

查看详细状态

bash
openclaw status --deep

查看日志

bash
openclaw logs --follow

本文作者:苏皓明

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!