TOPIC / RESOURCE
OpenClaw 多 Agent 飞书 Bot 配置指南
如果你准备在飞书中让不同机器人绑定不同 Agent 来实现角色分工和渠道分流,这页先帮你把目录结构、配置文件模板、飞书应用创建步骤和常见报错排查顺序理清楚。建议先把单 Agent 路径跑稳并验证权限边界,再按实际需求逐步拆分为多 Agent 架构。
适合谁
- 已经把单机器人飞书路线跑稳
- 希望让不同机器人绑定不同 Agent
- 准备做角色分工、渠道分流或上下文隔离
先判断你是不是真的需要多 Agent
多 Agent 不是“更高级就一定更好”,而是一种更适合明确分工的配置方式。
更适合上多 Agent 的情况通常是:
- 你想让不同机器人承担不同角色
- 你想按渠道或账号分流
- 你想把个人场景和工作场景彻底分开
- 你已经把单 Agent 路线跑稳了
如果你现在连单个飞书机器人都还没完全跑通,先不要急着上这一层。
核心概念,先用这三个词理解
agentId
一个独立“大脑”。它应该拥有自己的工作区、自己的状态目录、自己的会话。
accountId
一个具体的飞书账号实例。最常见的理解就是:一个飞书应用 / 一个机器人身份。
binding
把某个渠道入站消息路由到哪个 agentId 的规则。
简单理解就是:
agentId决定“谁来干活”accountId决定“消息从哪个机器人进来”binding决定“这条消息交给谁”
目录结构先别搞混
多 Agent 场景里,最容易乱的是路径。更实用的心智是把它拆成三层:
~/.openclaw/
├── openclaw.json
├── agents/
│ ├── main/agent/
│ ├── dev/agent/
│ └── content/agent/
└── workspace/
├── main/
├── dev/
└── content/
你至少要分清:
workspace:长期规则、记忆、角色文件agentDir:认证、状态、模型注册等 Agent 状态sessions:会话和路由状态
最容易踩的坑就是:多个 Agent 共用同一个 agentDir,最后认证和会话互相打架。
先用一份最小模板跑通,不要一上来上 6 个角色
很多人一上来就照着 6 Agent 模板猛填,结果一处配错就全盘看不清。更稳的方式是先用 2 到 3 个 Agent 跑通,再扩。
{
"agents": {
"defaults": {
"model": {
"primary": "custom/qwen3.5-plus"
}
},
"list": [
{
"id": "main",
"default": true,
"name": "大总管",
"workspace": "/home/node/.openclaw/workspace/main",
"agentDir": "/home/node/.openclaw/agents/main/agent"
},
{
"id": "content",
"name": "内容助理",
"workspace": "/home/node/.openclaw/workspace/content",
"agentDir": "/home/node/.openclaw/agents/content/agent"
}
]
},
"channels": {
"feishu": {
"enabled": true,
"accounts": {
"main": {
"appId": "cli_xxxxxxxxxxxxxxx",
"appSecret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
"content": {
"appId": "cli_xxxxxxxxxxxxxxx",
"appSecret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}
}
},
"bindings": [
{ "agentId": "main", "match": { "channel": "feishu", "accountId": "main" } },
{ "agentId": "content", "match": { "channel": "feishu", "accountId": "content" } }
],
"tools": {
"agentToAgent": {
"enabled": true,
"allow": ["main", "content"]
}
}
}
重点不是把模板背下来,而是先确认:
- 每个
id唯一 - 每个
workspace独立 - 每个
agentDir独立 - 每个飞书机器人都有对应
accountId - 每个
accountId都有对应binding
飞书应用怎么配,先抓最关键的 5 步
1. 为每个 Agent 创建独立应用
例如:
OpenClaw-大总管OpenClaw-内容助理OpenClaw-开发助理
2. 记录每个应用的 App ID 和 App Secret
这一步别偷懒。后面一旦贴错,排障会非常痛苦。
3. 开启机器人能力
至少先确认:
- 机器人能力已开启
- 允许以机器人身份加入群聊
4. 事件订阅优先用长连接
第一次做多 Agent,不要再给自己加 webhook 复杂度。先用长连接,把最小消息链路跑通。
5. 权限开完后,记得发布版本
很多“为什么它就是不在线”的问题,根源不是配置写错,而是飞书应用根本还没发布。
启动与校验,按这个顺序来
1. 先让 OpenClaw 帮你建 Agent
openclaw agents add content
openclaw agents add dev
openclaw agents list --bindings
2. 再手动核对目录
mkdir -p /home/node/.openclaw/workspace/{main,content,dev}
mkdir -p /home/node/.openclaw/agents/{main,content,dev}/agent
3. 先校验 JSON
node -e "JSON.parse(require('fs').readFileSync('/home/node/.openclaw/openclaw.json'))" && echo "OK"
4. 再启动
openclaw start
如果你已经进入更正式的环境,再考虑后台或服务化启动。
5. 用日志确认是否真的上线
tail -f /home/node/.openclaw/run.log
如果日志里能看到类似 feishu main: running,说明对应机器人已经起来了。
最容易踩的坑,按这张排查表看
Bot offline
优先检查:
App ID / App Secret是否贴错- 飞书应用是否已发布
- 日志里是否有鉴权报错
Agent 之间不协作
优先检查:
tools.agentToAgent.allow是否包含所有 Agent- 每个工作区是否真的有
AGENTS.md - 是否有多个 Agent 共用同一个
agentDir
消息能发不能收,或能收不能回
优先检查:
- 事件订阅有没有勾
im.message.receive_v1 - 权限里有没有开消息权限
- 长连接是否正常
路由不生效
优先检查:
bindings有没有写错accountId是否和飞书账号实例一致- 是不是把更具体的规则放在了更泛的规则后面
下一步建议
- 还没把单机器人跑稳:先看 飞书接入
- 想先把机器人个性和协作规则写进去:看 飞书初始化配置指南
- 想做真实的自动化项目:看 AI Daily News Run 搭建指南
- 想先用问题型文章快速判断多 Agent 值不值得上:读 OpenClaw 多 Agent 怎么配
- 涉及精确字段、最新支持与路由细节时,以官方文档为准
- 查看 OpenClaw 官方文档 → docs.openclaw.ai
- 遇到问题 → GitHub Issues
- 飞书开放平台
FAQ
本页常见问题
当你已经把单机器人路径跑稳,并且确实需要角色分工、不同渠道分流或不同上下文隔离时,多 Agent 才值得上。
不一定,但对大多数人来说,一开始按一对一去理解和配置最容易排障,也最不容易把路由搞乱。
最常见的是多个 Agent 共用同一个 agentDir、bindings 配错、飞书应用没发布,以及把路径写成了错误的用户目录。