第9章节 多平台集成
💡 本章节目标:学会将OpenClaw接入飞书、企业微信、钉钉、QQ等国内主流平台,实现随时随地使用AI助手。飞书作为最现代化、开发布友好的平台,将优先介绍。
📱 本章节内内容
- 9.1 飞书Bot配置
- 9.1.1 飞书机器人介绍
- 9.1.2 快速开始
- 9.1.3 创建飞书应用
- 9.1.4 配置 OpenClaw
- 9.1.5 启动并测试
- 9.1.6 访问控制
- 9.1.7 群组配置
- 9.1.8 获取群组/用户 ID
- 9.1.9 高级配置
- 9.1.10 多账号配置
- 9.1.11 多 Agent 配置
- 9.1.11.1 配合飞书使用
- 9.1.11.2 实战案例:4个专业助手
- 9.1.11.3 配置注意事项
- 9.1.11.4 故障排查
- 9.1.11.5 配置对比
- 9.1.11.6 使用建议
- 9.2 企业微信Bot配置
- 9.3 钉钉Bot配置
- 9.4 QQ Bot配置
- 9.5.1 ClawBot 是什么
- 9.5.2 安装步骤
- 9.5.3 工作原理
- 9.5.4 与第三方方案对比
- 9.5.5 配置与使用
- 9.5.6 注意事项
- 9.6.1 什么是浏览器渠道
- 9.6.2 适用场景
- 9.6.3 访问方式与功能
9.1 飞书Bot配置
💡 状态:生产就绪,支持机器人私聊和群组,使用 WebSocket 长连接模式接收消息。
9.1.1 飞书机器人介绍
飞书的优势:
现代化怎么办公
- 文档协作
- 多维表格
- 视频会议
高效沟通
- 消息卡片
- 互动组件
- 流式输出
开发布友好
- API设计优秀
- 文档详细
- WebSocket长连接
免费使用
- 功能强大
- 稳定可靠
9.1.2 快速开始
添加飞书渠道有两种方式:
方式一:通过安装向导添加(推荐)
如果您刚安装完 OpenClaw,可以直接运行向导:
openclaw setup向导会引导您完成:
- 创建飞书应用并获取凭证
- 配置应用凭证
- 启动网关
✅ 完成配置后,您可以使用以下命令检查网关状态:
openclaw gateway status # 查看网关运行状态
openclaw logs --follow # 查看实时日志方式二:通过命令行添加
如果您已经完成了初始安装,可以用以下命令添加飞书渠道:
openclaw channels add然后根据交互式提示选择 Feishu,输入 App ID 和 App Secret 即可。
✅ 完成配置后,您可以使用以下命令管理网关:
openclaw gateway status # 查看网关运行状态
openclaw gateway restart # 重启网关以应用新配置
openclaw logs --follow # 查看实时日志9.1.3 第一步:创建飞书应用
1. 打开飞书开放平台
访问 飞书开放平台,使用飞书账号登录。
💡 Lark(国际版):请使用 https://open.larksuite.com/app,并在配置中设置
domain: "lark"。
2. 创建应用
- 点击 创建企业自建应用
- 填写应用名称和描述
- 选择应用图标

3. 获取应用凭证
在应用的 凭证与基础信息 页面,复制:
- App ID(格式如
cli_xxx) - App Secret
❗ 重要:请妥善保管 App Secret,不要分分享给他人。

4. 配置应用权限
在 权限管理 页面,点击 批量导入 按钮,粘贴以下 JSON 配置一键导入所需权限:
{
"scopes": {
"tenant": [
"aily:file:read",
"aily:file:write",
"application:application.app_message_stats.overview:readonly",
"application:application:self_manage",
"application:bot.menu:write",
"cardkit:card:write",
"contact:user.employee_id:readonly",
"corehr:file:download",
"docs:document.content:read",
"event:ip_list",
"im:chat",
"im:chat.access_event.bot_p2p_chat:read",
"im:chat.members:bot_access",
"im:message",
"im:message.group_at_msg:readonly",
"im:message.group_msg",
"im:message.p2p_msg:readonly",
"im:message:readonly",
"im:message:send_as_bot",
"im:resource",
"sheets:spreadsheet",
"wiki:wiki:readonly"
],
"user": [
"aily:file:read",
"aily:file:write",
"im:chat.access_event.bot_p2p_chat:read"
]
}
}
5. 启用机器人能力
在 应用能力 > 机器人 页面:
- 开启机器人能力
- 配置机器人名称

6. 配置事件订阅
⚠️ 重要提醒:在配置事件订阅前,请务必确保已完成以下步骤:
- 运行
openclaw channels add添加了 Feishu 渠道 - 网关处于启动状态(可通过
openclaw gateway status检查状态)
在 事件订阅 页面:
步骤1:选择长连接模式
- 选择 使用长连接接收事件(WebSocket 模式)
步骤2:添加事件 2. 添加事件:im.message.receive_v1(接收消息)
步骤3:配置必需权限(重要)
在配置事件订阅的同时,请确保在 权限管理 页面已添加以下权限:
| 权限标识 | 权限名称 | 是否必需 | 说明 |
|---|---|---|---|
im:message | 获取与发布送单聊、群组消息 | ✅ 必需 | 接收和发布送消息 |
im:message:send_as_bot | 以应用身份发布消息 | ✅ 必需 | 以机器人身份回复 |
contact:contact.base:readonly | 获取通讯附录基本信息 | ✅ 必需 | 识别用户身份 |
💡 为什么需要
contact:contact.base:readonly权限?这个权限用于获取用户的基本信息(如用户名、部门等),OpenClaw需要这些信息来:
- ✅ 识别消息发布送者
- ✅ 实现访问控制(allowlist/denylist)
- ✅ 提供个性化服务
- ✅ 记附录对话历史
⚠️ 如果缺少此权限,机器人将无法正常响应消息!
配置截图示例:

⚠️ 注意:如果网关未启动或渠道未添加,长连接设置将保存失败。

常见错误排查:
如果遇到 "Gateway start blocked: set gateway.mode=local" 错误:
# 确保配置文件中设置了 gateway.mode
{
"gateway": {
"mode": "local"
}
}如果遇到 "Gateway auth is set to token, but no token is configured" 错误:
# 方式1:在配置文件中设置 token
{
"gateway": {
"auth": {
"mode": "token",
"token": "your-secure-token"
}
}
}
# 方式2:使用环境变量
export OPENCLAW_GATEWAY_TOKEN="your-secure-token"7. 发布布应用
- 在 版本管理与发布布 页面创建版本
- 提交审核并发布布
- 等待管理员审批(企业自建应用通常自动通过)
9.1.4 第二步:配置 OpenClaw
安装 Feishu 插件
# 安装 Feishu 插件
openclaw plugins install @openclaw/feishu
# 本地 checkout(在 git 仓库内运行)
openclaw plugins install ./extensions/feishu通过向导配置(推荐)
运行以下命令,根据提示粘贴 App ID 和 App Secret:
openclaw channels add选择 Feishu,然后输入您在第一步获取的凭证即可。
通过配置文件配置
编辑 ~/.openclaw/openclaw.json:
{
"channels": {
"feishu": {
"enabled": true,
"dmPolicy": "pairing",
"accounts": {
"main": {
"appId": "cli_xxx",
"appSecret": "xxx",
"botName": "我的AI助手"
}
}
}
}
}通过环境变量配置
export FEISHU_APP_ID="cli_xxx"
export FEISHU_APP_SECRET="xxx"Lark(国际版)域名配置
如果您的租户在 Lark(国际版),请设置域名为 lark:
{
"channels": {
"feishu": {
"domain": "lark",
"accounts": {
"main": {
"appId": "cli_xxx",
"appSecret": "xxx"
}
}
}
}
}9.1.5 第三步:启动并测试
1. 启动网关
# 安装并启动网关
openclaw gateway install
# 检查网关状态
openclaw gateway status
# 查看实时日志
openclaw logs --follow网关启动成功的标志: ✅ Gateway: running (pid xxxxx, state active) ✅ Gateway target: ws://127.0.0.1:18789 ✅ Source: local loopback
2. 发布送测试消息
在飞书中找到您创建的机器人,发布送一条消息,例如:"hi"。
在日志中应该能看到: HEARTBEAT_OK hi connected | running agent main | session main (heartbeat) | local-antigravity/gemini-3-pro-high
3. 配对授权
默认情况下(dmPolicy: "pairing"),机器人会回复一个 配对码。您需要批准此代码:
# 查看待审批的配对请求
openclaw pairing list feishu
# 批准配对(替换 <配对码> 为实际收到的代码)
openclaw pairing approve feishu <配对码>
# 示例
openclaw pairing approve feishu ABC123批准后即可正常对话。
如果不想使用配对模式:
{
"channels": {
"feishu": {
"dmPolicy": "open",
"allowFrom": ["*"]
}
}
}9.1.6 访问控制
私聊访问
默认策略:dmPolicy: "pairing",陌生用户会收到配对码
批准配对:
openclaw pairing list feishu # 查看待审批列表
openclaw pairing approve feishu <CODE> # 批准白名单模式:通过 channels.feishu.allowFrom 配置允许的用户 Open ID
群组访问
1. 群组策略(channels.feishu.groupPolicy):
"open"= 允许群组中所有人(默认)"allowlist"= 仅允许groupAllowFrom中的用户"disabled"= 禁用群组消息
2. @提及要求(channels.feishu.groups.<chat_id>.requireMention):
true= 需要 @机器人才响应(默认)false= 无需 @也响应
9.1.7 群组配置示例
允许所有群组,需要 @提及(默认行为)
{
"channels": {
"feishu": {
"groupPolicy": "open"
// 默认 requireMention: true
}
}
}允许所有群组,无需 @提及
需要为特定群组配置:
{
"channels": {
"feishu": {
"groups": {
"oc_xxx": { "requireMention": false }
}
}
}
}仅允许特定用户在群组中使用
{
"channels": {
"feishu": {
"groupPolicy": "allowlist",
"groupAllowFrom": ["ou_xxx", "ou_yyy"]
}
}
}9.1.8 获取群组/用户 ID
获取群组 ID(chat_id)
群组 ID 格式为 oc_xxx,可以通过以下方式获取:
方法一(推荐):
- 启动网关并在群组中 @机器人发布消息
- 运行
openclaw logs --follow查看日志中的chat_id
方法二:使用飞书 API 调试工具获取机器人所在群组列表。
获取用户 ID(open_id)
用户 ID 格式为 ou_xxx,可以通过以下方式获取:
方法一(推荐):
- 启动网关并给机器人发布消息
- 运行
openclaw logs --follow查看日志中的open_id
方法二:查看配对请求列表,其中包含用户的 Open ID:
openclaw pairing list feishu9.1.9 高级配置
自定义菜单
添加常用命令在菜单上

这里我新建了三个常用命令:新建对话,列出技能,继续。

多账号配置
OpenClaw 支持同时管理多个飞书机器人,这在以下场景非常有用:
- 不同团队使用不同的机器人
- 测试环境和生产环境分离
- 不同功能的专用机器人
- 主备机器人配置
基础配置示例(2个机器人):
{
"channels": {
"feishu": {
"enabled": true,
"dmPolicy": "pairing",
"accounts": {
"bot1": {
"appId": "cli_xxxxxxxxxxxxxxxx",
"appSecret": "your-app-secret-1",
"botName": "OpenClaw助手1",
"enabled": true
},
"bot2": {
"appId": "cli_yyyyyyyyyyyyyyyy",
"appSecret": "your-app-secret-2",
"botName": "OpenClaw助手2",
"enabled": true
}
},
"domain": "feishu",
"groupPolicy": "open",
"connectionMode": "websocket",
"requireMention": true,
"renderMode": "auto",
"streaming": true,
"blockStreaming": true,
"replyToMode": "all"
}
},
"gateway": {
"port": 18789,
"mode": "local",
"bind": "lan",
"auth": {
"mode": "token",
"token": "your-secure-token-here"
}
},
"agents": {
"defaults": {
"model": {
"primary": "your-provider/your-model"
},
"workspace": "/path/to/your/workspace",
"compaction": {
"mode": "safeguard"
},
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
}
}
}
}💡 实战提示:上面的配置示例来自真实的多机器人部署案例。注意
appSecret和token在生产环境中应该妥善保管,不要提交到代码仓库。
多机器人配置示例(4个专业助手):
{
"channels": {
"feishu": {
"enabled": true,
"dmPolicy": "pairing",
"accounts": {
"main-assistant": {
"appId": "cli_main_xxxxxx",
"appSecret": "your-main-secret",
"botName": "主助理",
"enabled": true
},
"content-creator": {
"appId": "cli_content_xxxxxx",
"appSecret": "your-content-secret",
"botName": "内内容创作助手",
"enabled": true
},
"tech-dev": {
"appId": "cli_tech_xxxxxx",
"appSecret": "your-tech-secret",
"botName": "技术开发布助手",
"enabled": true
},
"ai-news": {
"appId": "cli_news_xxxxxx",
"appSecret": "your-news-secret",
"botName": "AI资讯助手",
"enabled": true
}
},
"domain": "feishu",
"groupPolicy": "open",
"connectionMode": "websocket",
"requireMention": true,
"streaming": true,
"blockStreaming": true,
"replyToMode": "all"
}
},
"agents": {
"defaults": {
"model": {
"primary": "anthropic/claude-sonnet-4"
},
"workspace": "/path/to/workspace",
"compaction": {
"mode": "safeguard"
},
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
}
}
}
}⚠️ 重要提示:在多账号配置中,不需要使用
bindings来绑定不同的 agent。所有机器人会自动共分享agents.defaults配置。如果需要不同的模型,可以在对话中使用/model命令切换。
配置说明:
| 参数 | 说明 | 必填 |
|---|---|---|
accounts.<id> | 账号唯一标识符(自定义) | ✅ |
appId | 飞书应用的 App ID | ✅ |
appSecret | 飞书应用的 App Secret | ✅ |
botName | 机器人显示名称 | ❌ |
enabled | 是否启用该账号 | ❌ (默认 true) |
多机器人使用场景:
一人公司/独立开发布者
- 主助理:任务分发布、日程管理
- 内内容创作助手:文章节、视频脚本
- 技术开发布助手:代码开发布、调试
- AI资讯助手:行业动态追踪
团队协作
- 技术团队助手:代码审查、技术讨论
- 产品团队助手:需求分析、用户反馈
- 运营团队助手:数据分析、内内容运营
- 测试助手:测试环境专用
环境分离
- 生产环境助手:正式业务使用
- 测试环境助手:功能测试
- 开发布环境助手:开发布调试
重要
在 事件订阅 页面:
步骤1:选择长连接模式
- 选择 使用长连接接收事件(WebSocket 模式)
步骤2:添加事件 2. 添加事件:im.message.receive_v1(接收消息)
步骤3:配置必需权限 3. 在 权限管理 页面,确保已添加:
- ✅
im:message(获取与发布送单聊、群组消息) - ✅
im:message:send_as_bot(以应用身份发布消息)
💡 缺少
contact:contact.base:readonly权限会导致机器人无法识别用户,无法正常响应消息。
- 添加事件:
im.message.receive_v1(接收消息)


实战场景1:团队分离
为不同团队创建专用机器人:
{
"channels": {
"feishu": {
"accounts": {
"tech-team": {
"appId": "cli_tech_xxx",
"appSecret": "tech_secret",
"botName": "技术团队助手",
"enabled": true
},
"sales-team": {
"appId": "cli_sales_xxx",
"appSecret": "sales_secret",
"botName": "销售团队助手",
"enabled": true
},
"hr-team": {
"appId": "cli_hr_xxx",
"appSecret": "hr_secret",
"botName": "HR助手",
"enabled": true
}
}
}
}
}实战场景2:环境分离
测试环境和生产环境使用不同的机器人:
{
"channels": {
"feishu": {
"accounts": {
"production": {
"appId": "cli_prod_xxx",
"appSecret": "prod_secret",
"botName": "OpenClaw生产环境",
"enabled": true,
"dmPolicy": "pairing"
},
"staging": {
"appId": "cli_staging_xxx",
"appSecret": "staging_secret",
"botName": "OpenClaw测试环境",
"enabled": true,
"dmPolicy": "open"
},
"development": {
"appId": "cli_dev_xxx",
"appSecret": "dev_secret",
"botName": "OpenClaw开发布环境",
"enabled": false
}
}
}
}
}实战场景3:功能分离
不同功能使用专用机器人:
{
"channels": {
"feishu": {
"accounts": {
"general": {
"appId": "cli_general_xxx",
"appSecret": "general_secret",
"botName": "通用助手",
"enabled": true
},
"code-review": {
"appId": "cli_code_xxx",
"appSecret": "code_secret",
"botName": "代码审查助手",
"enabled": true
},
"document": {
"appId": "cli_doc_xxx",
"appSecret": "doc_secret",
"botName": "文档助手",
"enabled": true
}
}
}
}
}配合多 Agent 使用
将不同的飞书机器人绑定到不同的 Agent,实现更精细的功能分离:
{
"agents": {
"list": [
{
"id": "general-agent",
"workspace": "/home/user/general",
"agentDir": "/home/user/.openclaw/agents/general/agent"
},
{
"id": "code-agent",
"workspace": "/home/user/code-review",
"agentDir": "/home/user/.openclaw/agents/code/agent"
},
{
"id": "doc-agent",
"workspace": "/home/user/document",
"agentDir": "/home/user/.openclaw/agents/doc/agent"
}
]
},
"channels": {
"feishu": {
"accounts": {
"general": {
"appId": "cli_general_xxx",
"appSecret": "general_secret",
"botName": "通用助手"
},
"code-review": {
"appId": "cli_code_xxx",
"appSecret": "code_secret",
"botName": "代码审查助手"
},
"document": {
"appId": "cli_doc_xxx",
"appSecret": "doc_secret",
"botName": "文档助手"
}
}
}
},
"bindings": [
{
"agentId": "general-agent",
"match": {
"channel": "feishu",
"account": "general"
}
},
{
"agentId": "code-agent",
"match": {
"channel": "feishu",
"account": "code-review"
}
},
{
"agentId": "doc-agent",
"match": {
"channel": "feishu",
"account": "document"
}
}
]
}管理多个机器人
# 查看所有渠道状态
openclaw channels list
# 启用/禁用特定账号:通过修改配置文件控制
# 编辑 ~/.openclaw/channels/feishu.json,设置 "enabled": true/false
# 重启网关使配置生效
openclaw gateway restart
# 查看特定渠道的日志
openclaw channels logs feishu配置文件位置
# 主配置文件
~/.openclaw/openclaw.json
# 或者使用独立的渠道配置文件
~/.openclaw/channels/feishu.json独立配置文件示例:
# 创建独立配置文件
mkdir -p ~/.openclaw/channels
nano ~/.openclaw/channels/feishu.json{
"enabled": true,
"accounts": {
"main": {
"appId": "cli_xxx",
"appSecret": "xxx",
"botName": "主机器人"
},
"backup": {
"appId": "cli_yyy",
"appSecret": "yyy",
"botName": "备用机器人"
}
}
}注意事项:
App ID 和 App Secret 必须唯一
- 每个机器人必须使用不同的飞书应用
- 不能多个账号共用同一个 App ID
账号标识符命名规范
- 使用小写字母和连字符
- 避免使用特殊字符
- 建议使用有意义的名称(如
tech-team、production)
启用/禁用控制
enabled: true- 账号启用,机器人会接收和处理消息enabled: false- 账号禁用,机器人不会接收消息- 可以随时通过修改配置文件或命令行切换
网关重启
- 修改配置后需要重启网关:
openclaw gateway restart
- 修改配置后需要重启网关:
日志查看
- 多账号时,日志会标注账号标识符