飞书 / Lark 接入
OpenClaw 已内置飞书插件,支持机器人私聊和群组。默认使用 WebSocket 长连接模式,无需公网 URL。
快速开始
两种方式添加飞书渠道:
# 方式一:安装向导(推荐)
openclaw onboard
# 方式二:命令行添加
openclaw channels add
# 选择 Feishu,输入 App ID 和 App Secret完成后检查状态:
openclaw gateway status # 查看网关运行状态
openclaw logs --follow # 查看实时日志创建飞书应用
- 访问 飞书开放平台(Lark 国际版用
open.larksuite.com),登录后点击"创建企业自建应用"。 - 在"凭证与基础信息"页面复制 App ID(
cli_xxx)和 App Secret。 - 在"权限管理"页面点击"批量导入",粘贴所需权限 JSON(包含
im:message、im:chat、im:message:send_as_bot等)。 - 在"应用能力"→"机器人"页面开启机器人能力。
- 在"事件订阅"页面:
- 选择"使用长连接接收事件"(WebSocket 模式)
- 添加事件
im.message.receive_v1
- 在"版本管理与发布"页面创建版本并提交审核。
重要提示
- 配置事件订阅前,需确保 Gateway 已启动且飞书渠道已添加
- 妥善保管 App Secret,泄露后立即在开放平台重置
- Lark(国际版)需在配置中设置
domain: "lark"
配置 OpenClaw
{
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"配对与访问控制
启动 Gateway 后,私信机器人会触发配对码流程:
# 查看待审批列表
openclaw pairing list feishu
# 批准配对码
openclaw pairing approve feishu <配对码>| dmPolicy | 行为 |
|---|---|
| pairing | 默认。未知用户收到配对码 |
| allowlist | 仅 allowFrom 中的 Open ID(ou_xxx)可对话 |
| open | 任何人(需 allowFrom: ["*"]) |
| disabled | 禁止私聊 |
群组配置
群组策略通过 groupPolicy 控制(默认 open):
{
channels: {
feishu: {
// 仅允许特定群组
groupPolicy: "allowlist",
groupAllowFrom: ["oc_xxx", "oc_yyy"],
groups: {
oc_xxx: {
requireMention: false, // 无需@也响应
allowFrom: ["ou_user1"] // 发送者白名单
}
}
}
}
}获取群组 ID(oc_xxx):在群组中 @机器人发消息,然后 openclaw logs --follow 查看 chat_id。 获取用户 ID(ou_xxx):同理查看日志中的 open_id,或 openclaw pairing list feishu。
流式输出
飞书支持通过交互式卡片实现流式输出,实时显示生成进度:
{
channels: {
feishu: {
streaming: true, // 启用流式卡片(默认 true)
blockStreaming: true // 块级流式(默认 true)
}
}
}消息引用功能(replyToMode)与流式卡片不能同时使用。replyToMode 群聊默认 all,私聊默认 off。
多账号与多 Agent
{
channels: {
feishu: {
defaultAccount: "main",
accounts: {
main: {
appId: "cli_xxx", appSecret: "xxx", botName: "主机器人"
},
backup: {
appId: "cli_yyy", appSecret: "yyy", botName: "备用", enabled: false
}
}
}
}
}通过 bindings 配置可将不同用户/群组路由到不同 Agent。 匹配规则使用 match.channel: "feishu",match.peer.kind 区分 dm/group。
消息类型支持
接收
- 文本消息
- 富文本(帖子)
- 图片、文件、音频、视频
- 表情包
发送
- 文本消息
- 图片、文件、音频
- 富文本(部分支持)
配额优化
可通过以下配置减少飞书 API 调用:
typingIndicator: false— 不发送"正在输入"状态resolveSenderNames: false— 不拉取发送者资料
可在渠道级或账号级配置。
常用命令
| 命令 | 说明 |
|---|---|
| /status | 查看机器人状态 |
| /reset | 重置对话会话 |
| /model | 查看/切换模型 |
飞书目前不支持原生命令菜单,命令以文本形式发送。
常见问题
机器人收不到消息
- 确认应用已发布并审批通过
- 检查事件订阅是否配置了
im.message.receive_v1 - 确认选择了"长连接"模式
- 确认权限已完整导入
- 检查 Gateway 是否运行:
openclaw gateway status
发送消息失败
检查应用是否有 im:message:send_as_bot 权限,以及应用是否已发布。
群组不响应
确认机器人已添加到群组、是否 @了机器人、groupPolicy 是否为 disabled。
配置参考
textChunkLimit:出站文本分块大小(默认 2000 字符)mediaMaxMb:媒体限制(默认 30 MB)connectionMode:websocket(默认) 或webhook- Webhook 模式需设置
verificationToken,监听默认127.0.0.1:3000