OpenClaw 多飞书机器人配置指南
OpenClaw多飞书机器人配置指南:为不同Agent匹配专属通道
一、创建Agent
想让不同的飞书机器人负责不同的任务?第一步,就是为它们创建专属的智能体(Agent)。
1.1 创建Agent步骤
这很简单,一条命令就能搞定。打开你的终端,输入:
# 创建新的Agent
openclaw agents add
# 示例:创建 dailynews agent
openclaw agents add dailynews
1.2 查看Agent列表
创建完成后,最好确认一下。运行下面的命令,就能看到所有已存在的Agent:
openclaw agents list
命令的输出会清晰列出各个Agent,比如:
Agents:
- main (default)
Identity: ????✨ 小美
Workspace: ~/.openclaw/workspace
- dailynews
Workspace: ~/.openclaw/workspace-dailynews
1.3 配置 Agent 文件
每个Agent都像一个独立的数字员工,需要自己的“工作空间”和一套“行为准则”。关键的配置文件都放在其对应的workspace目录下:
| 文件 | 说明 |
|---|---|
IDENTITY.md |
Agent的身份信息(名字、性格、emoji) |
SOUL.md |
Agent的核心价值观和行为准则 |
USER.md |
人类用户信息 |
AGENTS.md |
Agent的行为规范 |
HEARTBEAT.md |
主动模式任务清单 |
MEMORY.md |
长期记忆 |
1.4 Agent完整配置示例
在OpenClaw的主配置文件(例如 openclaw.json)中,agents 部分会记录所有Agent的信息。一个典型的配置看起来是这样的:
{
"agents": {
"list": [
{
"id": "main",
"default": true,
"name": "小美",
"workspace": "/home/username/.openclaw/workspace"
},
{
"id": "dailynews",
"name": "dailynews",
"workspace": "/home/username/.openclaw/workspace-dailynews"
},
{
"id": "dev",
"name": "开发助理",
"workspace": "/home/username/.openclaw/workspace-dev"
}
]
}
}
二、配置 Channel(飞书)
Agent准备好了,接下来得给它们开通对外沟通的渠道,也就是配置飞书机器人。
2.1 在飞书开放平台创建机器人
- 打开 飞书开放平台。
- 创建(或使用现有的)一个“企业自建”应用。
- 在应用详情页面,找到并记下这两项关键信息:App ID(形如
cli_xxx)和 App Secret。 - 为应用添加必要的权限,通常包括:
contact:contact.base:readonly- 读取通讯录im:message:send_as_bot- 以机器人身份发送消息im:message:receive- 接收消息
- 最后,别忘了“发布”应用,让配置生效。
2.2 配置 openclaw.json
现在,把飞书机器人的信息告诉OpenClaw。在配置文件的 channels 部分,你可以为每个机器人(account)填写对应的凭证:
{
"channels": {
"feishu": {
"enabled": true,
"defaultAccount": "main",
"domain": "feishu",
"accounts": {
"main": {
"appId": "cli_第一个机器人的appId",
"appSecret": "第一个机器人的secret"
},
"dailynews": {
"appId": "cli_第二个机器人的appId",
"appSecret": "第二个机器人的secret"
},
"dev": {
"appId": "cli_第三个机器人的appId",
"appSecret": "第三个机器人的secret"
}
}
}
}
}
2.3 验证 Channel 配置
输入以下命令,检查飞书渠道是否已正确配置并启用:
openclaw channels list
如果一切正常,你应该能看到类似这样的输出,表明多个飞书账号通道已就绪:
Chat channels:
- Feishu main: configured, enabled
- Feishu dailynews: configured, enabled
- Feishu dev: configured, enabled
三、绑定 Agent 到 Channel
渠道和Agent都齐了,下一步就是“牵线搭桥”,指定哪个机器人归哪个Agent接待。
3.1 使用命令绑定
通过命令行可以快速完成绑定:
# 绑定 agent 到指定飞书账号
openclaw agents bind --agent --bind feishu:
# 示例
openclaw agents bind --agent main --bind feishu:main
openclaw agents bind --agent dailynews --bind feishu:dailynews
3.2 或直接在配置文件中添加 bindings
如果你更喜欢在配置文件中一次性定义清楚,可以在 openclaw.json 里直接加入 bindings 部分:
{
"bindings": [
{
"agentId": "main",
"match": {
"channel": "feishu",
"accountId": "main"
}
},
{
"agentId": "dailynews",
"match": {
"channel": "feishu",
"accountId": "dailynews"
}
},
{
"agentId": "dev",
"match": {
"channel": "feishu",
"accountId": "dev"
}
}
]
}
3.3 查看绑定结果
绑定完成后,运行下面的命令来确认路由关系是否已建立:
openclaw agents bindings
输出结果会明确显示每个飞书账号对应哪个Agent,一目了然:
Routing bindings:
- dailynews <- feishu accountId=dailynews
- main <- feishu accountId=main
- dev <- feishu accountId=dev
四、配置用户白名单
这里有个关键点需要注意。如果你尝试用 openclaw pairing approve 来授权多个机器人,可能会发现只有其中一个能正常工作。这是当前版本的一个已知情况。
更可靠的方案是改用白名单机制。
4.1 创建白名单文件
vim ~/.openclaw/credentials/feishu-allowFrom.json
文件内容如下,将允许使用机器人的用户Open ID填入数组:
{
"version": 1,
"allowFrom": [
"ou_用户的open_id_1",
"ou_用户的open_id_2"
]
}
4.2 获取用户 open_id
那么,如何获取用户的 Open ID 呢?有两种常用方法:
- 使用开放平台API工具:访问飞书开放平台的用户信息查询接口文档,通过API工具直接获取。
- 在飞书客户端查看:打开目标用户的个人主页,点击“分享”复制链接,链接中通常就包含了用户ID信息。
4.3 说明
- 一旦启用了
allowFrom白名单,就不再需要执行openclaw pairing approve命令了。 - 白名单方式实际上更安全,它能精确控制哪些用户有权限与机器人交互。
五、重启并验证
5.1 重启 Gateway
所有的配置修改完成后,必须重启网关服务才能使变更生效:
openclaw gateway restart
5.2 测试
现在,激动人心的测试时刻到了。分别向你配置好的不同飞书机器人发送消息,观察它们是否由对应的Agent(比如小美、dailynews等)进行回复。这是检验配置成功与否的最终标准。
六、注意事项
6.1 多账号限制
需要了解的是,在撰写本文时(基于OpenClaw 2026.3.x版本),飞书多账号功能仍在持续完善中。
一个主要的限制是:系统一次只能与一个机器人完成配对(pairing)流程。这正是在前文我们强烈推荐使用 allowFrom 白名单机制来替代配对的主要原因。白名单完美绕开了这个限制,让你能同时管理多个机器人。
七、完整配置示例
为了让你有一个全局的视野,这里展示一个整合了上述所有关键部分的配置文件示例:
{
"agents": {
"list": [
{
"id": "main",
"default": true,
"name": "小美",
"workspace": "/home/username/.openclaw/workspace"
},
{
"id": "dailynews",
"name": "dailynews",
"workspace": "/home/username/.openclaw/workspace-dailynews"
}
]
},
"channels": {
"feishu": {
"enabled": true,
"defaultAccount": "main",
"domain": "feishu",
"accounts": {
"main": {
"appId": "cli_xxx1",
"appSecret": "secret1"
},
"dailynews": {
"appId": "cli_xxx2",
"appSecret": "secret2"
}
}
}
},
"bindings": [
{
"agentId": "main",
"match": {
"channel": "feishu",
"accountId": "main"
}
},
{
"agentId": "dailynews",
"match": {
"channel": "feishu",
"accountId": "dailynews"
}
}
]
}
八、常见问题
Q: 提示 “access not configured”
A: 请首先检查
channels.feishu.accounts配置项,确保你正在使用的飞书账号(accountId)及其对应的appId和appSecret已正确无误地填写在其中。
Q: 提示权限错误
A: 这通常意味着你的飞书应用缺少必要的权限。你需要登录飞书开放平台,找到对应的应用,确保已成功添加并授权了前文提到的那些核心权限(如收发消息权限)。有时,访问一个特定的授权URL能快速完成这个过程,例如:
https://open.feishu.cn/app/{appId}/auth?q=contact:contact.base:readonly(请将{appId}替换为你的实际ID)。
Q: 绑定后不生效
A: 修改了绑定关系或任何渠道配置后,一个经常被遗忘的步骤就是重启服务。请务必执行
openclaw gateway restart命令,重启Gateway以使新的绑定配置生效。