# 🔷 飞书机器人配置指南
本文档详细介绍如何配置 OpenClaw 的飞书消息渠道。
## 📋 前置要求
- 已安装 OpenClaw(运行 `install.sh` 完成安装)
- 飞书账号(个人账号即可,无需企业认证)
- Installer 已更新为仅使用官方飞书插件:`@openclaw/feishu`
## ✨ 特性说明
OpenClaw 飞书渠道具有以下特性:
- ✅ **无需公网服务器** - 使用 WebSocket 长连接模式
- ✅ **无需企业认证** - 个人账号即可创建"企业自建应用"
- ✅ **支持私聊和群聊** - 群聊中 @机器人 触发回复
- ✅ **支持多媒体消息** - 图片、文件等
## 🚀 配置步骤
### 第一步:创建飞书应用
1. 访问 [飞书开放平台](https://open.feishu.cn/)
2. 登录后点击右上角「创建应用」
3. 选择「企业自建应用」(个人账号也可以创建)
4. 填写应用名称(如 "OpenClaw")和描述
### 第二步:添加机器人能力
1. 进入应用详情页
2. 点击左侧菜单「添加应用能力」
3. 找到「机器人」能力,点击添加
4. 确认「机器人」开关已开启
> 💡 **路径**: 开发者后台 → 应用详情 → 添加应用能力 → 机器人
### 第三步:获取应用凭证
在应用详情页的「凭证与基础信息」中,复制以下信息:
- **App ID** - 应用唯一标识
- **App Secret** - 应用密钥(点击显示后复制)
⚠️ 请妥善保管 App Secret,不要泄露给他人。
### 第四步:配置权限
1. 点击左侧菜单「权限管理」
2. 搜索并添加以下权限:
| 权限名称 | 权限标识 | 说明 |
|---------|---------|------|
| 获取与发送单聊、群组消息 | `im:message` | 收发消息(必须) |
| 以应用的身份发消息 | `im:message:send_as_bot` | 发送消息(必须) |
| 获取群组信息 | `im:chat:readonly` | 读取群信息(推荐) |
#### ✅ 权限授权清单(推荐批量导入)
上表是“最小可用”的权限集,但在实际使用(尤其是多媒体、群成员信息、配对/私聊路由等)时,权限不全会导致:
- 网关能连上,但收不到消息
- 能收消息但无法发图/文件
- 部分 API 调用 403/权限不足
推荐使用飞书后台 **权限管理 → 批量导入**,粘贴官方推荐的 scopes JSON:
点击展开:官方推荐 scopes(批量导入 JSON)
```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:read",
"cardkit:card:write",
"contact:user.employee_id:readonly",
"corehr:file:download",
"event:ip_list",
"im:chat.access_event.bot_p2p_chat:read",
"im:chat.members:bot_access",
"im:message",
"im:message.group_at_msg:readonly",
"im:message.p2p_msg:readonly",
"im:message:readonly",
"im:message:send_as_bot",
"im:resource"
],
"user": ["aily:file:read", "aily:file:write", "im:chat.access_event.bot_p2p_chat:read"]
}
}
```
### 第五步:发布应用
1. 点击左侧菜单「版本管理与发布」
2. 点击「创建版本」
3. 填写版本号和更新说明
4. 设置可用范围(选择可使用此应用的人/部门)
5. 点击「保存」然后「申请发布」
> 💡 内部应用通常会自动审核通过,无需等待。
### 第六步:在 OpenClaw 中配置飞书
运行配置菜单:
```bash
# 在本仓库目录运行
bash ./config-menu.sh
# 或者多源下载运行(内置超时与自动回退)
bash -c 'set -e; tmp="$(mktemp)"; for u in \
"https://raw.githubusercontent.com/leecyno1/auto-install-Openclaw/main/config-menu.sh" \
"https://mirror.ghproxy.com/https://raw.githubusercontent.com/leecyno1/auto-install-Openclaw/main/config-menu.sh" \
"https://cdn.jsdelivr.net/gh/leecyno1/auto-install-Openclaw@main/config-menu.sh"; do \
echo "Try: $u"; \
if curl -fsSL --proto "=https" --tlsv1.2 --connect-timeout 8 --max-time 25 "$u" -o "$tmp"; then \
bash "$tmp"; rm -f "$tmp"; exit 0; \
fi; \
done; rm -f "$tmp"; echo "All sources failed. 请稍后重试或更换网络。"; exit 1'
```
1. 选择 `[3] 消息渠道配置`
2. 选择 `[7] 飞书 (Feishu)`
3. 按提示输入 **App ID** 和 **App Secret**
4. 配置完成后选择「是」重启 Gateway
配置菜单会按官方结构写入:
```bash
openclaw config set channels.feishu.accounts.main.appId ""
openclaw config set channels.feishu.accounts.main.appSecret ""
```
### 第七步:配置事件订阅(长连接)
> ⚠️ **重要**: 此步骤需要 OpenClaw 服务已启动,否则无法保存长连接设置。
先确认网关已启动(否则“长连接接收事件”很可能保存失败):
```bash
openclaw gateway status
openclaw logs --follow
```
1. 回到飞书开放平台,进入应用详情
2. 点击左侧菜单「事件与回调」
3. 选择「**使用长连接接收事件**」(不是 Webhook)
4. 点击「添加事件」,添加以下事件:
| 事件名称 | 事件标识 | 说明 |
|---------|---------|------|
| 接收消息 | `im.message.receive_v1` | 必须 |
| 消息已读 | `im.message.message_read_v1` | 可选 |
| 机器人进群 | `im.chat.member.bot.added_v1` | 可选 |
5. 点击「保存」
> 💡 使用长连接模式**无需填写 Webhook 地址**,无需公网服务器。
### 第八步:添加机器人到群组
**方法一:在飞书客户端添加**
1. 打开飞书,进入目标群组
2. 点击右上角群设置(⚙️ 图标)
3. 点击「群机器人」→「添加机器人」
4. 搜索你的机器人名称并添加
**方法二:创建新群并添加**
1. 创建一个新的群组
2. 在创建时直接添加机器人
3. 或创建后在群设置中添加
## 🧪 测试配置
### 方法一:使用配置菜单测试
```bash
bash ~/.openclaw/config-menu.sh
```
1. 选择 `[7] 快速测试`
2. 选择 `[5] 测试飞书机器人`
3. 系统会自动读取已配置的凭据
4. 可选输入群组 Chat ID 发送测试消息
### 方法二:直接在群里测试
1. 在已添加机器人的群组中
2. @机器人 发送消息
3. 等待机器人回复
### 私聊需要配对(pairing)
默认私聊策略通常是 `dmPolicy: pairing`。如果机器人在私聊里回复了配对码,需要在服务器侧批准:
```bash
openclaw pairing list feishu
openclaw pairing approve feishu
```
### 获取群组 Chat ID
如需获取群组 Chat ID 用于测试:
1. 打开群组设置
2. 查看「群信息」
3. 复制群号(以 `oc_` 开头的字符串)
## ❓ 常见问题
### Q: 长连接保存失败?
**A**: 确保 OpenClaw 服务已启动。飞书后台需要检测到客户端连接才能保存长连接设置。
```bash
# 启动服务
openclaw gateway start
# 查看状态
openclaw gateway status
```
### Q: 机器人不回复消息?
检查以下几点:
1. **服务是否运行**: `openclaw gateway status`
2. **事件订阅是否配置**: 确保添加了 `im.message.receive_v1` 事件
3. **权限是否完整**: 推荐使用“批量导入 scopes JSON”(见上方权限清单)
4. **应用是否发布**: 未发布的应用无法正常使用
5. **机器人是否在群里**: 确保机器人已添加到群组
6. **私聊是否需要配对**: `openclaw pairing list feishu`
### Q: 群聊中如何触发机器人?
默认情况下,群聊中需要 **@机器人** 才会触发回复,这样可以避免机器人响应所有消息。
### Q: 私聊机器人不回复?
1. 确保你在应用的「可用范围」内
2. 尝试在飞书中搜索机器人名称,点击进入私聊
3. 发送消息测试
### Q: 如何查看日志排查问题?
```bash
# 查看实时日志
openclaw logs --follow
# 运行诊断
openclaw doctor
```
## 🔧 高级配置
### 修改群组响应策略
默认群聊需要 @机器人 才响应。如需修改:
```bash
# 设置不需要 @机器人 也响应(谨慎使用)
openclaw config set channels.feishu.requireMention false
```
### 切换到国际版 Lark
如使用国际版 Lark 而非飞书:
```bash
openclaw config set channels.feishu.domain "lark"
```
## 📚 相关链接
- [飞书开放平台](https://open.feishu.cn/)
- [飞书开放平台文档](https://open.feishu.cn/document/)
- [OpenClaw 主仓库](https://github.com/openclaw/openclaw)
- [安装工具仓库](https://github.com/leecyno1/auto-install-Openclaw)
---
如有问题,请在 [GitHub Issues](https://github.com/leecyno1/auto-install-Openclaw/issues) 中反馈。