飞书应用配置详解
本文档详细介绍如何在飞书开放平台创建和配置应用,以及飞书通道的访问控制设置。这是 Docker Compose + 飞书部署指南 的配套文档。
创建飞书应用
1. 登录飞书开放平台
访问 飞书开放平台 并登录。
如果使用 Lark(国际版),请访问 https://open.larksuite.com/app。
2. 创建企业自建应用
- 点击 创建企业自建应用
- 填写应用名称(如 "OpenClaw Bot")和描述
- 选择应用图标
3. 获取凭据
在 凭证与基础信息 中,复制以下信息并填入 .env 文件:
- 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",
"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"
]
}
}注意:权限变更后需要创建并发布新版本才能生效。
5. 启用机器人能力
在 应用功能 > 机器人 中:
- 启用机器人能力
- 设置机器人名称
6. 配置事件订阅
⚠️ 重要:配置事件订阅前,必须确保 OpenClaw 网关已启动且正在运行。如果网关未运行,长连接设置将无法保存,导致配置失败。
验证网关状态:
bashdocker compose logs -f确认日志中出现
[gateway] listening。[feishu] connected将在事件订阅配置完成后出现。
在 事件订阅 中:
- 选择 使用长连接接收事件(WebSocket)— 无需公网 webhook URL
- 添加事件:
im.message.receive_v1
7. 发布应用
- 在 版本管理与发布 中创建版本
- 提交审核并发布
- 等待管理员批准(企业自建应用通常自动批准)
访问控制
私聊策略(dmPolicy)
私聊策略通过 channels.feishu.dmPolicy 配置:
| 值 | 行为 |
|---|---|
"pairing" | 默认。 未知用户收到配对码,需管理员批准后才能使用 |
"allowlist" | 仅 allowFrom 列表中的用户可以私聊 |
"open" | 允许所有用户(需在 allowFrom 中设置 "*") |
"disabled" | 禁用私聊 |
配对模式示例(默认):
{
"channels": {
"feishu": {
"dmPolicy": "pairing"
}
}
}白名单模式示例:
{
"channels": {
"feishu": {
"dmPolicy": "allowlist",
"allowFrom": ["ou_xxx", "ou_yyy"]
}
}
}群组策略(groupPolicy)
群组策略通过 channels.feishu.groupPolicy 配置:
| 值 | 行为 |
|---|---|
"open" | 默认。 允许群组中所有人使用 |
"allowlist" | 仅 groupAllowFrom 列表中的用户可在群组中使用 |
"disabled" | 禁用群组消息 |
@提及要求:默认情况下,群组中需要 @提及机器人才会响应。可通过 groups.<chat_id>.requireMention 修改:
{
"channels": {
"feishu": {
"groupPolicy": "open",
"groups": {
"oc_xxx": {
"requireMention": false // 该群无需 @提及即可响应
}
}
}
}
}群组白名单示例:
{
"channels": {
"feishu": {
"groupPolicy": "allowlist",
"groupAllowFrom": ["ou_xxx", "ou_yyy"]
}
}
}获取群组/用户 ID
群组 ID(chat_id) 格式为 oc_xxx:
- 启动网关并在群组中 @提及机器人
- 查看日志中的
chat_id:docker compose logs -f
用户 ID(open_id) 格式为 ou_xxx:
- 启动网关并向机器人发送私聊消息
- 查看日志中的
open_id:docker compose logs -f - 或查看配对请求:
docker compose exec openclaw openclaw pairing list feishu
Lark 国际版
如果您的租户使用 Lark 国际版,需修改配置中的域名:
{
"channels": {
"feishu": {
"domain": "lark",
"accounts": {
"main": {
"appId": "cli_xxx",
"appSecret": "xxx",
"botName": "OpenClaw"
}
}
}
}
}也可以在单个账户级别覆盖域名:
{
"channels": {
"feishu": {
"accounts": {
"main": {
"appId": "cli_xxx",
"appSecret": "xxx",
"domain": "lark"
}
}
}
}
}Lark 国际版用户请访问 https://open.larksuite.com/app 创建应用。
多账户
支持在同一实例中配置多个飞书应用:
{
"channels": {
"feishu": {
"accounts": {
"main": {
"appId": "cli_xxx",
"appSecret": "xxx",
"botName": "主机器人"
},
"backup": {
"appId": "cli_yyy",
"appSecret": "yyy",
"botName": "备用机器人",
"enabled": false
}
}
}
}
}可通过 enabled: false 临时禁用某个账户,而无需删除配置。
返回
- Docker Compose + 飞书部署指南 — 快速开始和部署概览
- 配置参考与故障排除 — 完整配置参考
- 飞书通道 — 飞书配置完整文档