OpenClaw 多飞书 Agent 配置与模型切换完全指南
本文介绍了基于飞书的多Agent系统架构设计,通过OpenClaw Gateway实现飞书应用与AI Agent的对接。系统采用多Agent架构,每个飞书机器人对应独立的AI Agent,拥有专属的工作空间、知识库和模型配置。配置步骤包括:1)为每个Agent创建独立飞书应用并获取凭证;2)通过命令行创建不同功能的Agent;3)在配置文件中设置Agent列表、飞书通道账号和路由规则。这种架构实现
·
文章目录
一、架构概述
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ 飞书应用 A │ │ 飞书应用 B │ │ 飞书应用 C │
│ (cli_xxx) │ │ (cli_yyy) │ │ (cli_zzz) │
│ default │ │ coding │ │ writing │
└────────┬────────┘ └────────┬────────┘ └────────┬────────┘
│ │ │
└───────────────────────┼───────────────────────┘
│
┌────────────▼────────────┐
│ OpenClaw Gateway │
│ (WebSocket 长连接) │
└────────────┬────────────┘
│
┌─────────────────────┼─────────────────────┐
│ │ │
┌──────▼──────┐ ┌──────▼──────┐ ┌──────▼──────┐
│ main Agent │ │ coding Agent│ │writing Agent│
│ (通用助手) │ │ (编程专家) │ │ (文案大师) │
│ │ │ │ │ │
│ • workspace │ │ • workspace │ │ • workspace │
│ • data/ │ │ • data/ │ │ • data/ │
│ • config │ │ • config │ │ • config │
│ • 独立模型 │ │ • 独立模型 │ │ • 独立模型 │
└─────────────┘ └─────────────┘ └─────────────┘
核心优势:
- 每个飞书 Bot 对应独立 Agent
- 每个 Agent 拥有独立的工作空间、知识库、模型配置
- 通过 Bindings 实现精准路由
- 运行时通过命令动态切换模型
二、核心概念
| 层级 | 作用 | 配置位置 |
|---|---|---|
| 飞书应用 (Feishu App) | 飞书开放平台的机器人应用,提供 App ID 和 App Secret | 飞书开放平台 |
| OpenClaw Channel | 连接飞书的通道,管理 WebSocket 连接 | channels.feishu |
| Account | Channel 内的具体账号配置,对应一个飞书应用 | channels.feishu.accounts.<id> |
| Agent | AI 处理单元,包含模型、提示词、工具、知识库 | agents.list + ~/.openclaw/agents/ |
| Binding | 路由规则,将飞书消息映射到指定 Agent | bindings |
| Workspace | Agent 的独立工作目录 | 创建 Agent 时指定 |
三、配置步骤
步骤 1:准备飞书应用
为每个 Agent 创建独立的飞书应用:
| 应用 | 用途 | 获取凭证 |
|---|---|---|
| 应用 A | default | cli_a9145149cb395bca / Msgaj5nU6fqHAmSkqjquaeEkKuFLvsoj |
| 应用 B | coding | cli_a9155b5842f81bdf / ucipaeCG7oBduoE6LLrPKh3TKnm621te |
| 应用 C | writing | cli_... / ... |
每个应用必须:
- 开启"机器人"能力
- 开通权限:
im:message.receive_v1、im:message:send_as_bot - 事件订阅:使用长连接接收事件(WebSocket)
- 创建版本并发布
步骤 2:创建 Agent(带独立工作空间)
# 创建 main Agent(通用助手)
openclaw agents add main `
--model deepseek-lockin/deepseek-v3-250324 `
--workspace C:\Users\EDY\.openclaw\workspace-main
# 创建 coding Agent(编程专家)
openclaw agents add coding `
--model anthropic/claude-3-5-sonnet-20241022 `
--workspace C:\Users\EDY\.openclaw\workspace-coding
# 创建 writing Agent(文案大师)
openclaw agents add writing `
--model openai/gpt-4o `
--workspace C:\Users\EDY\.openclaw\workspace-writing
参数说明:
--model:指定默认模型(可选,后续可动态切换)--workspace:指定独立工作空间(实现数据隔离)
步骤 3:配置 OpenClaw
编辑 C:\Users\EDY\.openclaw\openclaw.json:
{
"agents": {
"list": [
{
"id": "main",
"workspace": "C:\\Users\\EDY\\.openclaw\\workspace-main",
"agentDir": "C:\\Users\\EDY\\.openclaw\\agents\\main\\agent"
},
{
"id": "coding",
"workspace": "C:\\Users\\EDY\\.openclaw\\workspace-coding",
"agentDir": "C:\\Users\\EDY\\.openclaw\\agents\\coding\\agent"
},
{
"id": "writing",
"workspace": "C:\\Users\\EDY\\.openclaw\\workspace-writing",
"agentDir": "C:\\Users\\EDY\\.openclaw\\agents\\writing\\agent"
}
]
},
"channels": {
"feishu": {
"enabled": true,
"domain": "feishu",
"connectionMode": "websocket",
"accounts": {
"default": {
"appId": "cli_a9145149cb395bca",
"appSecret": "Msgaj5nU6fqHAmSkqjquaeEkKuFLvsoj",
"botName": "主助手",
"requireMention": true
},
"coding": {
"appId": "cli_a9155b5842f81bdf",
"appSecret": "ucipaeCG7oBduoE6LLrPKh3TKnm621te",
"botName": "编程助手",
"requireMention": false
},
"writing": {
"appId": "cli_xxx",
"appSecret": "xxx",
"botName": "文案助手",
"requireMention": false
}
}
}
},
"bindings": [
{
"agentId": "main",
"match": {
"channel": "feishu",
"accountId": "default"
}
},
{
"agentId": "coding",
"match": {
"channel": "feishu",
"accountId": "coding"
}
},
{
"agentId": "writing",
"match": {
"channel": "feishu",
"accountId": "writing"
}
}
]
}
关键配置说明:
| 字段 | 说明 | 注意事项 |
|---|---|---|
agents.list |
声明所有 Agent | 必须包含 id、workspace、agentDir |
channels.feishu.accounts |
多账号配置 | 键名(如 coding)即为 accountId |
bindings |
路由规则 | accountId 必须与 accounts 键名一致 |
match.channel |
固定为 feishu |
表示飞书通道 |
match.accountId |
对应 accounts 的键 |
区分大小写 |
步骤 4:验证与启动
# 1. 验证配置格式
openclaw doctor
# 2. 查看 Agent 列表
openclaw agents list
# 预期输出:
# Agents:
# - main (default)
# Workspace: C:\Users\EDY\.openclaw\workspace-main
# ...
# - coding
# Workspace: C:\Users\EDY\.openclaw\workspace-coding
# ...
# - writing
# Workspace: C:\Users\EDY\.openclaw\workspace-writing
# ...
# 3. 查看绑定关系
openclaw agents list --bindings
# 预期输出:
# - main: routing rules: 1 (feishu accountId=default)
# - coding: routing rules: 1 (feishu accountId=coding)
# - writing: routing rules: 1 (feishu accountId=writing)
# 4. 启动 Gateway
openclaw gateway restart
# 5. 验证通道状态
openclaw channels status --probe
# 预期输出:
# - Feishu default: enabled, configured, running, works
# - Feishu coding: enabled, configured, running, works
# - Feishu writing: enabled, configured, running, works
四、模型切换
OpenClaw 支持在飞书对话中实时切换模型,无需重启服务。
命令列表
| 命令 | 作用 | 示例 |
|---|---|---|
/model |
查看当前模型 | /model |
/model <模型ID> |
切换到指定模型 | /model kimi |
/status |
查看 Agent 状态 | /status |
/reset |
重置会话(清空上下文) | /reset |
常用模型 ID
| 模型 | 完整 ID | 适用场景 |
|---|---|---|
| Kimi | kimi 或 moonshot/kimi-latest |
长文本处理、中文场景 |
| DeepSeek-V3 | deepseek-lockin/deepseek-v3-250324 |
代码生成、逻辑推理 |
| Claude 3.5 Sonnet | anthropic/claude-3-5-sonnet-20241022 |
编程、分析、创意写作 |
| GPT-4o | openai/gpt-4o |
通用任务、多模态 |
| GPT-4o-mini | openai/gpt-4o-mini |
快速响应、低成本 |
操作示例
场景:coding Agent 默认使用 Claude,临时切换到 DeepSeek 处理特定任务
-
在 coding 飞书群 @机器人:
/model deepseek-lockin/deepseek-v3-250324机器人回复:
Model switched to deepseek-lockin/deepseek-v3-250324 -
发送编程问题,获得 DeepSeek 的回答
-
完成后切回 Claude:
/model anthropic/claude-3-5-sonnet-20241022
隔离性说明
- 每个 Agent 的模型状态完全独立
mainAgent 切换到 Kimi 不影响codingAgent- 模型切换仅对当前会话生效(持久化到 Agent 配置)
五、验证与排错
常见问题排查
| 现象 | 原因 | 解决方案 |
|---|---|---|
Feishu coding: not configured |
配置格式错误或混用旧格式 | 确保完全使用 accounts 格式,删除顶层 appId |
agentId not found |
bindings 中的 agentId 不存在 |
先运行 openclaw agents add 创建 Agent |
unknown channel id: bindings |
bindings 放在了 channels 内部 |
将 bindings 移到与 channels 同级 |
| 机器人不响应 | 飞书应用未发布或权限不足 | 检查飞书后台:版本已发布、权限已开通 |
| 模型切换失败 | 模型 ID 错误或不可用 | 运行 openclaw models list 查看可用模型 |
验证命令速查
# 查看所有可用模型
openclaw models list
# 查看特定提供商模型
openclaw models list --provider deepseek
openclaw models list --provider anthropic
openclaw models list --provider openai
# 查看 Agent 详情(含当前模型)
openclaw agents describe main
openclaw agents describe coding
# 查看实时日志
openclaw logs --follow
# 查看配对列表(用于私聊授权)
openclaw pairing list feishu
openclaw pairing approve feishu <CODE>
六、最佳实践
1. 命名规范
| 层级 | 命名建议 | 示例 |
|---|---|---|
| 飞书应用 | 功能-环境-序号 | ai-helper-prod、ai-coding-dev |
| Account ID | 小写英文,无空格 | default、coding、writing、hr-helper |
| Agent ID | 与 Account ID 对应 | main、coding、writing |
| Workspace | 包含 Agent ID | workspace-coding、workspace-hr |
2. 模型选择策略
| Agent 类型 | 推荐默认模型 | 切换场景 |
|---|---|---|
| 通用助手 | DeepSeek-V3 / GPT-4o | 长文本切 Kimi,复杂推理切 Claude |
| 编程专家 | Claude 3.5 Sonnet | 算法题切 DeepSeek,快速查询切 GPT-4o-mini |
| 文案创作 | Claude 3.5 Sonnet / GPT-4o | 中文文案切 Kimi,营销文案切 GPT-4o |
| 数据分析 | Claude 3.5 Sonnet | 大数据量切 DeepSeek,可视化切 GPT-4o |
3. 数据隔离原则
- 严格隔离:每个 Agent 独立
workspace和data目录 - 知识库分离:不同 Agent 的向量数据库不共享
- 配置独立:
config.json中定义各自的systemPrompt和tools
4. 生产环境建议
{
"agents": {
"list": [
{
"id": "coding",
"workspace": "C:\\openclaw-prod\\workspace-coding",
"agentDir": "C:\\openclaw-prod\\agents\\coding\\agent"
}
]
},
"channels": {
"feishu": {
"accounts": {
"coding": {
"appId": "${FEISHU_CODING_APP_ID}",
"appSecret": "${FEISHU_CODING_APP_SECRET}"
}
}
}
}
}
- 使用环境变量注入敏感信息
- 定期备份
workspace和agents目录 - 监控 Gateway 日志:
openclaw logs --follow | Select-String "error|warning"
七、总结
通过本指南,您已完成:
✅ 多飞书应用配置 - 每个 Agent 绑定独立飞书 Bot
✅ 数据完全隔离 - 独立 workspace、data、config
✅ 动态模型切换 - 飞书内 /model 命令实时切换
✅ 灵活路由绑定 - 通过 bindings 精准控制消息流向
核心公式:
飞书应用 (App ID) → Account (accounts.<id>) → Binding (accountId) → Agent (id) → Model (/model 切换)
现在您可以在不同飞书群中@不同的机器人,每个机器人使用不同的模型和知识库,实现真正的多 Agent 智能协作!
更多推荐

所有评论(0)