乐于分享
好东西不私藏

OpenClaw 如何优雅配置多个飞书账号?

OpenClaw 如何优雅配置多个飞书账号?

导读随着业务场景的深入,单个飞书机器人往往已经无法满足复杂的 AI 需求。好消息是,从 OpenClaw v2.4+ 开始,系统正式支持了 多飞书账号(Multi-Account) 配置!

今天这篇文章,我们将通过实际示例,手把手教你在同一个 OpenClaw 实例下,挂载并管理多个飞书机器人,彻底实现“专机专用”。


一、 为什么我们需要多账号?🤔

在企业级落地中,多账号体系几乎是必选项。它的核心优势在于:

  • • 🛡️ 业务隔离:不同业务线使用独立的飞书应用,消息频率和 API 额度互不干扰。
  • • 🤖 多 Agent 分工:将不同账号路由给专门的 AI Agent。例如:一个是“代码助手”,另一个是“HR 知识库”,做到术业有专攻。
  • • 🧪 环境分离:生产账号与测试账号彻底分开,本地调试不再影响线上群聊。

二、 快速开始:以新增“Note助手”为例 🛠️

假设我们现在要新增一个名为 note 的飞书机器人。跟着以下四步走即可:

1️⃣ 创建新的 Agent

首先,在 OpenClaw 中为新账号创建一个专属的 Agent 和工作区:

# 推荐做法:创建 Agent 并手动指定工作区路径openclaw agents add note --workspace ~/.openclaw/workspace/note

执行后,系统会自动帮你建好工作区目录(workspace/note/)和配置目录(agents/note/agent/)。

2️⃣ 去飞书开放平台“领证”

前往飞书开放平台(open.feishu.cn),创建企业自建应用,并获取 App ID 和 App Secret

🚨 高危避坑:在“权限管理”中,除了基础的 im:message(接收消息),必须、务必、一定要开通 im:message:send_as_bot 权限! 没有这个权限,你的机器人只能听不能说。(选配权限:如需群聊请开 im:group,如需读文档请开 drive:drive 等)

最后,记得开启 WebSocket 长连接模式,并发布该应用。

3️⃣ 核心:配置 openclaw.json

这是最容易出错的一步。打开你的配置文件:

💡 老司机提醒:很多开发者喜欢把原有的 Default Bot 凭据一股脑移到 accounts 里面去。千万别这么干! 为了向后兼容,Default Bot 的凭据必须留在 channels.feishu 顶层!

参考以下正确配置:

{  "channels": {    "feishu": {      "enabled":true,      "domain": "feishu",      "connectionMode": "websocket",      // ⚠️ 原默认机器人的凭据,老老实实放在这里!      "appId": "cli_default_xxx",      "appSecret": "***",      "defaultAccount": "default",      // 👇 新增的多账号,写在 accounts 里面      "accounts": {        "note": {          "appId": "cli_note_xxx",          "appSecret": "***"        }      }    }  },  "agents": {    "list": [      {"id": "main", "workspace": "~/.openclaw/workspace", "default":true},      {"id": "note", "workspace": "~/.openclaw/workspace/note"}    ]  },  "bindings": [    // 路由规则:将飞书的 note 账号,绑定到 note Agent    {      "type": "route",      "agentId": "main",      "match": {"channel": "feishu", "accountId": "default"}    },    {      "type": "route",      "agentId": "note",      "match": {"channel": "feishu", "accountId": "note"}    }  ]}

4️⃣ 验证状态,一次点亮!

重启服务后,敲入这两行命令,看看是否大功告成:

# 检查 Agent 和通道绑定关系openclaw agents list --bindings# 探针检测飞书连接状态openclaw channels status --probe

🎉 期待的画面:当你看到所有账号都显示 enabled, configured, running, works,恭喜你,配置成功!


三、 避坑专区 (FAQ) 💣

Q1:机器人能收到我发的消息,但它就是不回我?

A:99% 是权限问题。去看飞书应用后台有没有开通 im:message:send_as_bot 权限。如果在控制台看到飞书报错 code: 99991672,直接去补权限并重新发布版本

Q2:刚建好的机器人,我给它发第一条私聊,完全没反应?

A:这不是 Bug!如果你的 OpenClaw 开启了 pairing 审批模式,陌生人的首条消息会被拦截。解法:输入 openclaw pairing list --channel feishu --account note 拿到配对验证码,然后用 openclaw pairing approve feishu <CODE> --account note 批准即可。

Q3:为什么我的 Default Bot 状态变成了 not configured

A:再读一遍本文第 3 步的“老司机提醒”,你肯定把顶层的 appId 和 appSecret 挪位置了,赶紧挪回去。


四、 终极调试 Checklist 🩺

如果你仍然卡壳了,请不要慌,按顺序对照这 6 步排查,不要跳步:

  1. 1.在线状态:Bot 的 WebSocket 在线了吗?
  2. 2.上行消息:OpenClaw 后台看到飞书发来的 Inbound log 了吗?
  3. 3.拦截器:是不是被 Pairing (配对) 或 Allowlist (白名单) 卡住了?
  4. 4.路由分发:根据 Bindings,消息 Dispatch 到正确的 Agent 了吗?
  5. 5.大模型:Agent 成功生成回复文本了吗?
  6. 6.下行消息:最后调用飞书 Send API 成功了吗?

💡 日志识别小技巧: 看到 feishu[note]: dispatching to agent 和 session=agent:note...,就证明路由配置彻底通了!


📝 总结

  1. 1. 凭证位置要留神:Default bot 凭据留顶层,新账号放 accounts。
  2. 2. 收发权限是两码事im:message:send_as_bot 是发消息的灵魂,别忘了开。
  3. 3. 首条消息遇冷漠:想一想是不是 Pairing 机制在作祟。
  4. 4. 相信日志的判断:直觉会骗人,但控制台的 Log 不会。

配置多账号虽然有门槛,但一旦打通,你的 AI 基础设施将迈上一个全新的台阶。赶紧动手试一试吧!


觉得这篇教程有用?欢迎点个 “赞” 和 “在看”,或分享给你的研发小群!遇到配置问题,也欢迎在评论区留言交流哦 👇