飞书单机器人配置多个 Agent 实践指南
📖 背景说明
在默认情况下,当你为飞书频道绑定一个机器人后,这个机器人对应的是一个独立的 Agent。无论你把这个机器人拉到多少个不同的群聊中,它在 OpenClaw 后端始终对应着同一个 Agent。
但这种配置存在一个局限性:所有群聊共享同一个 Agent 的数据、上下文和模型配置。
多bot多agents: 需要申请多个机器人,麻烦而且也没有必要。
本教程将教你如何实现:一个飞书机器人对应多个不同的 Agent,每个 Agent 拥有独立的数据隔离、可以使用不同的模型,从而实现群聊级别的数据隔离和个性化配置。
🎯 典型应用场景
- 技术群:使用编程能力强的模型(如 qwen-coder),Agent 身份为”架构师”
- 产品群:使用理解能力强的模型(如 GLM-5),Agent 身份为”产品经理”
- 管理群:使用综合能力强的模型(如 Kimi),Agent 身份为”总监”
一、新增 Agents
1.1 命令格式
openclaw agents add --workspace 工作空间路径 Agent名称
1.2 参数详解
| 参数 | 说明 | 示例 |
|---|---|---|
--workspace |
Agent 的独立工作空间路径,用于数据隔离 | Linux: /root/.openclaw/workspace/feishu/code<br>Windows: openclaw agents add —workspace C:\Users\Administrator\.openclaw\workspace\feishu\code |
Agent名称 |
唯一标识符,即 AgentId,建议见名知意 | code-agent、product-agent |
--model (可选) |
指定自定义模型 ID,不添加则使用默认模型 | bailian/qwen3-coder-plus |
1.3 实际示例
# 创建一个专门用于代码相关的 Agent
openclaw agents add --workspace openclaw agents add --workspace C:\\Users\\Administrator\\.openclaw\\workspace\\feishu\\code feishu-code
💡 提示:执行前请确保工作空间目录已存在,系统会自动创建必要的配置文件。
二、验证 Agent 是否创建成功
执行以下命令查看所有已创建的 Agent 列表:
openclaw agents list
你应该能看到刚创建的 Agent 出现在列表中。
三、飞书群组绑定
现在我们已经创建了多个 Agent,接下来需要将它们分别绑定到不同的飞书群聊中。
3.1 查看当前绑定关系
首先,让我们看看当前已经配置了哪些绑定:
openclaw config get bindings
3.2 获取飞书群 ID
在绑定群聊之前,我们需要先获取目标群聊的 ID。
操作步骤:
- 打开飞书群聊
- 点击右上角 设置 图标
- 在群信息中找到 会话 ID
⚠️ 注意:复制群 ID 时,注意不要包含多余的空格或字符。
3.3 查看飞书渠道配置
在配置绑定前,先了解你的飞书渠道配置信息:
openclaw config get channels.feishu
你会看到类似这样的配置结构:
{
"channels": {
"feishu": {
"accounts": {
"main": { // ← 这个是账号标识(accountId)
"appId": "xxx",
"appSecret": "xxx"
},
"default": {
"dmPolicy": "pairing"
}
},
"enabled": true,
"streaming": true,
"footer": {
"elapsed": true,
"status": true
}
}
}
}
关键点:记住 channels.feishu.accounts 下的账号名称(示例中是 main),后续配置绑定时会用到。
3.4 配置群组绑定
现在,我们使用以下命令将 Agent 绑定到具体的飞书群:
openclaw config set --json bindings '[
{
"agentId": "feishu-code", // ← 你的 Agent ID
"match": {
"channel": "feishu", // ← 固定值,表示飞书渠道
"accountId": "main", // ← 对应 channels.feishu.accounts 中的账号名
"peer": {
"kind": "group", // ← 固定值,表示群聊
"id": "oc_34fdfds3XXX" // ← 你的飞书群 ID
}
}
}
]'
参数说明:
| 参数 | 说明 | 示例 |
|---|---|---|
agentId |
要绑定的 Agent ID | feishu-code |
id |
飞书群 ID | oc_34fdfds3XXX |
accountId |
飞书渠道配置中的账号标识 | main |
3.5 配置安全策略(推荐)
默认情况下,channels.feishu.groupPolicy 是 open 模式,这意味着机器人会响应所有群组的消息。
建议:将其设置为 allowlist 模式,只响应白名单中的群组消息,提高安全性。
# 设置策略为白名单模式
openclaw config set channels.feishu.groupPolicy allowlist
# 添加允许访问的群组列表
openclaw config set --json channels.feishu.groupAllowFrom '["oc_34fdfxxx","oc_34fdfxxx"]'
四、完整配置示例
下面是一个完整的配置文件示例,展示了如何配置多个 Agent 和绑定关系:
{
// ============ 渠道配置 ============
"channels": {
"feishu": {
"accounts": {
"main": {
"appId": "cli_a917dxxx",
"appSecret": "3PFfvN3xxxx"
},
"default": {
"dmPolicy": "pairing"
}
},
"enabled": true,
"streaming": true,
"footer": {
"elapsed": true,
"status": true
}
}
},
// ============ Agent 配置 ============
"agents": {
"defaults": {
"model": {
"primary": "bailian/glm-5"
},
"models": {
"zai/glm-4.7": {
"alias": "GLM"
},
"zai/glm-4.7-flash": {
"alias": "glm-4.7-flash"
},
"zai/glm-5": {
"alias": "GLM"
},
"bailian/glm-5": {
"alias": "GLM"
}
},
"workspace": "C:\\Users\\Administrator\\clawd",
"timeoutSeconds": 86400
},
"list": [
// 主 Agent
{
"id": "main"
},
// 代码专家 Agent
{
"id": "feishu-code",
"name": "feishu-code",
"workspace": "C:\\Users\\Administrator\\.openclaw\\workspace\\feishu\\code",
"agentDir": "C:\\Users\\Administrator\\.openclaw\\workspace\\feishu\\code",
"model": {
"primary": "bailian/qwen3-coder-plus",
"fallbacks": [
"bailian/qwen3.5-plus",
"zai/glm-5"
]
},
"identity": {
"name": "架构师",
"emoji": "💻"
}
},
// 产品经理 Agent
{
"id": "feishu-product",
"name": "feishu-product",
"workspace": "C:\\Users\\Administrator\\.openclaw\\workspace\\feishu\\product",
"agentDir": "C:\\Users\\Administrator\\.openclaw\\workspace\\feishu\\product",
"model": {
"primary": "bailian/glm-5",
"fallbacks": [
"bailian/qwen3.5-plus",
"zai/glm-5"
]
},
"identity": {
"name": "产品经理",
"emoji": "📋"
}
},
// 总监 Agent
{
"id": "feishu-director",
"name": "feishu-director",
"workspace": "C:\\Users\\Administrator\\.openclaw\\workspace\\feishu\\director",
"agentDir": "C:\\Users\\Administrator\\.openclaw\\workspace\\feishu\\director",
"model": {
"primary": "bailian/kimi-k2.5",
"fallbacks": [
"bailian/qwen3.5-plus",
"zai/glm-5"
]
},
"identity": {
"name": "总监",
"emoji": "👔"
}
}
]
},
// ============ 绑定关系配置 ============
"bindings": [
{
"agentId": "feishu-code",
"match": {
"channel": "feishu",
"accountId": "main",
"peer": {
"kind": "group",
"id": "oc_ebfxxx"
}
}
},
{
"agentId": "feishu-product",
"match": {
"channel": "feishu",
"accountId": "main",
"peer": {
"kind": "group",
"id": "oc_b99xxx"
}
}
}
]
}
五、常见问题排查
❓ 问题 1: 绑定后机器人没有响应
可能原因:
- 群 ID 配置错误
- Agent ID 不存在
- 群组策略设置为
allowlist但群 ID 未加入白名单
解决方法:
# 检查绑定是否正确
openclaw config get bindings
# 检查 Agent 是否存在
openclaw agents list
# 如果使用了 allowlist,检查白名单
openclaw config get channels.feishu.groupAllowFrom
❓ 问题 2: 如何修改已存在的绑定?
方法一:使用命令重新设置(会覆盖整个 bindings)
方法二:直接编辑配置文件(适用于多个绑定的场景)
❓ 问题 3: 不同的 Agent 能否共享数据?
默认情况下,不同 Agent 的工作空间是独立的,数据相互隔离。如果需要共享数据,可以考虑:
- 使用统一的数据库后端
- 在 Agent 之间通过飞书机器人互相转发
六、最佳实践建议
✅ 推荐做法
- 命名规范: Agent ID 使用
feishu-{功能}格式,如feishu-code、feishu-product - 工作空间分离: 每个 Agent 使用独立的 workspace 路径,便于数据管理
- 模型选择: 根据群聊性质选择合适的模型
- 技术群:coder 系列、deepseek-coder
- 通用群:GLM-5、Qwen3.5-plus
- 长文本:Kimi、Claude 系列
- 安全策略:始终使用
allowlist模式,只允许授权群组访问
🎯 进阶技巧
- 为不同 Agent 设置不同的
identity.name和identity.emoji,让群成员一眼就能识别当前对话的 Agent 角色 - 配置
fallbacks确保主模型不可用时能自动降级 - 定期备份各 Agent 的工作空间数据
🎉 恭喜!你已经学会了如何配置一个飞书机器人对应多个 Agent。
现在你可以根据不同的业务场景,为每个群聊配置专属的 Agent,实现真正的智能化群聊管理!

微信收款码
支付宝收款码