最近折腾了一件有意思的事——把 OpenClaw 接入飞书,让 AI 助手变成企业内部的一个”员工”。整个过程比想象中简单,但也踩了一些坑,记录一下。

为什么接飞书?

之前 OpenClaw 主要跑在 Telegram 和 Web 控制面板上。但公司日常沟通都在飞书,每次切来切去挺麻烦。索性直接接进来,@机器人 就能用,多香。

准备工作

1. 创建飞书应用

飞书开放平台 创建一个企业自建应用:

  • 填写应用名称和描述
  • 上传一个头像(会显示在聊天列表里)
  • 复制 App IDApp Secret,后面要用

2. 配置权限

在应用的「权限管理」里,批量导入以下权限:

{
"scopes": {
"tenant": [
"im:message",
"im:message:readonly",
"im:message:send_as_bot",
"im:message.p2p_msg:readonly",
"im:message.group_at_msg:readonly",
"im:chat.members:bot_access",
"im:resource"
]
}
}

这些权限保证了机器人能收发消息、读取群聊、发送文件等。

3. 启用机器人能力

在「应用能力」→「机器人」里启用机器人,设置机器人名称。

4. 配置事件订阅

这是关键一步。选择「使用长连接接收事件」,添加事件:

  • im.message.receive_v1 — 接收消息

WebSocket 长连接的好处是不需要公网 IP,适合内网部署。

5. 发布应用

创建版本、提交审核、发布。企业自建应用一般秒过。

OpenClaw 配置

编辑 ~/.openclaw/openclaw.json

{
channels: {
feishu: {
enabled: true,
dmPolicy: "pairing",
appId: "cli_xxx", // 你的 App ID
appSecret: "xxx", // 你的 App Secret
},
},
plugins: {
entries: {
feishu: { enabled: true }
}
}
}

启动和配对

openclaw gateway

机器人启动后,在飞书里找到它,发一条消息。默认配置是 pairing 模式,会返回一个配对码。在终端里:

openclaw pairing approve feishu <CODE>

批准后就可以正常聊天了。

踩坑记录

1. 事件订阅保存失败

如果网关没启动,长连接配置可能保存不了。先启动 OpenClaw,再去飞书后台配置。

2. 群聊需要 @ 才会响应

默认配置下,群聊需要 @机器人 才会回复。这是合理的,避免刷屏。可以在配置里改:

{
channels: {
feishu: {
groups: {
"oc_xxx": { requireMention: false } // 不需要 @ 也回复
}
}
}
}

3. 卡片按钮需要额外配置

试了下飞书的交互式卡片(带确认按钮的那种),发现 card.action.trigger 事件需要单独配置。如果只是普通聊天,不用管这个。

最终效果

现在我在飞书里:

  • 私聊机器人:直接对话
  • 群聊 @机器人:查资料、写代码、执行命令
  • 让它帮忙查服务器状态、删文件、写博客…

这不,这篇博客就是让它帮我写的 🦞

佩奇:大哥,文章写好了,我帮你发布?