基于 OpenClaw 与飞书集成实现 AI 新闻推送机器人
在搭建 AI 自动化工作流时,将大模型能力与企业即时通讯工具打通往往能极大提升效率。本文将演示如何利用 OpenClaw 框架结合飞书开放平台,快速构建一个能够自动抓取并推送科技新闻的机器人。
环境准备
我们需要一个稳定的云端开发环境来运行 OpenClaw 网关,并配置好 AI 模型服务。
1. 云开发环境
选择华为云开发者空间作为开发环境,它预装了 Python 和 Git 等工具,能简化配置流程。
- 登录云平台,创建一个新的云开发环境。
- 进入环境后,桌面会预装
CodeArts IDE for Python、GitCode等工具,后续将使用这些进行开发。 - 启动远程桌面,确保网络连通。
2. 模型服务配置
为了使用 OpenClaw 的 AI 能力,需先开通 ModelArts 的在线推理服务:
- 在控制台进入 ModelArts > 在线推理。
- 点击 预置服务,选择
DeepSeek-V3.2等模型,勾选同意协议后一键开通。 - 获取 API 地址 和 模型参数,并在 "API Key 管理" 中创建新的 API Key。
⚠️ 注意:API Key 只会显示一次,请务必复制并妥善保存,后续配置 OpenClaw 时会用到。
3. 启动 OpenClaw 网关
- 在桌面双击运行
Moltbot(OpenClaw 的启动器)。 - 输入之前创建的 API Key,回车确认。
- 系统会自动在后台启动 OpenClaw 网关,并在浏览器打开控制面板(
http://127.0.0.1:18789)。 - 在 "Chat" 页面发送消息测试,例如:'请向我介绍下你自己?',确认服务正常。
飞书开放平台配置
首先,在终端中安装飞书插件以实现 OpenClaw 与飞书的链接:
openclaw plugins install @m1heng-clawd/feishu
1. 创建企业自建应用
- 访问飞书开放平台,登录后点击 创建企业自建应用。
- 填写应用名称(如
OpenClaw_test)和描述,选择图标后点击 创建。
2. 添加机器人能力
- 在应用左侧菜单,进入 应用能力 > 添加应用能力。
- 选择 机器人 能力,点击 '添加'。
3. 配置应用权限
为了让机器人能够接收和发送消息,需要配置相应的权限:
- 进入 开发配置 > 权限管理。
- 点击 批量导入 / 导出权限,粘贴以下 JSON 到输入框:
{
"scopes": {
"tenant": [
"contact:contact.base:readonly",
"contact:user.base:readonly",
"im:message",
"im:message.group_at_msg:readonly",
"im:message.p2p_msg:readonly",
"im:message:send_as_bot",
"im:resource"
],
"user": []
}
}
- 点击 下一步,确认新增权限,然后点击 申请开通。
- 在弹出的窗口中点击 确认。
4. 发布应用版本
- 点击顶部 创建版本,进入 应用发布 > 版本管理与发布。
- 填写版本号(如
1.0.0)和更新说明,移动端和桌面端的默认能力都选择 '机器人'。 - 点击 保存,然后 确认发布。发布成功后,应用状态会变为 '已启用'。
- 进入 基础信息 > 凭证与基础信息,复制 App ID 和 App Secret,后续配置 OpenClaw 时会用到。
OpenClaw 与飞书集成
1. 配置 OpenClaw 的飞书凭证
在华为云环境的终端中,执行以下命令,将飞书的 App ID 和 App Secret 配置到 OpenClaw 中:
openclaw config set channels.feishu.appId "YOUR_APP_ID"
openclaw config set channels.feishu.appSecret "YOUR_APP_SECRET"
重启 OpenClaw 网关使配置生效:
openclaw gateway restart
2. 创建 Python 项目与长连接
为了让飞书能实时接收 OpenClaw 的消息,我们需要建立一个长连接:
- 打开桌面的
CodeArts IDE for Python,点击 新建工程,选择 Python,命名为openClaw_test。 - 打开 IDE 底部的 '终端',激活虚拟环境并安装飞书 Python SDK:
pip install lark-oapi -U
- 验证安装:
pip show lark-oapi
- 将
main.py文件中的代码替换为飞书官方提供的长连接示例代码,并将其中的YOUR_APP_ID和YOUR_APP_SECRET替换为我们之前复制的值。
import lark_oapi as lark
# P2ImMessageReceiveV1 为接收消息 v2.0;CustomizedEvent 内的 message 为接收消息 v1.0
def do_p2_im_message_receive_v1(data: lark.im.v1.P2ImMessageReceiveV1) -> None:
print(f'[ do_p2_im_message_receive_v1 access ], data: {lark.JSON.marshal(data, indent=4)}')
def do_message_event(data: lark.CustomizedEvent) -> None:
print(f'[ do_customized_event access ], type: message, data: {lark.JSON.marshal(data, indent=4)}')
event_handler = lark.EventDispatcherHandler.builder("", "") \
.register_p2_im_message_receive_v1(do_p2_im_message_receive_v1) \
.register_p1_customized_event("这里填入你要自定义订阅的 event 的 key,例如 out_approval", do_message_event) \
.build()
def main():
cli = lark.ws.Client("YOUR_APP_ID", "YOUR_APP_SECRET", event_handler=event_handler, log_level=lark.LogLevel.DEBUG)
cli.start()
if __name__ == "__main__":
main()
- 点击右上角的 '运行' 按钮,启动长连接。控制台显示
connected to wss://...即表示连接成功。
⚠️ 注意:长连接程序必须保持运行,否则飞书无法接收事件推送。
3. 配置飞书事件订阅
- 回到飞书开放平台,进入 开发配置 > 事件与回调。
- 在 '事件配置' 中,订阅方式选择 使用长连接接收事件,点击 保存。
- 点击 添加事件,在 '应用身份订阅' 下找到 '消息与群组',勾选 接收消息 v2.0,然后点击 '确认添加'。
- 再次进入 版本管理与发布,创建新版本(如
2.0.0)并发布,使事件订阅配置生效。
功能测试
一切配置就绪后,我们来测试新闻推送功能:
- 打开飞书客户端,找到我们创建的机器人
OpenClaw_test。 - 发送指令:
@OpenClaw_test 去访问以下两个网站 (https://www.leikeji.com/)、(https://tech.gmw.cn),有任何关于'科技'领域的新闻,立刻把最新的摘要推送给我。 - 稍等片刻,机器人就会自动抓取新闻并推送回来。
- 发送后可同时在华为云开发者空间 OpenClaw 客户端查看到返回信息。
收尾工作
测试完成后,你可以通过以下命令停止 OpenClaw 网关服务:
openclaw gateway stop
总结与扩展
通过本文的实践,我们成功搭建了一个基于 OpenClaw 和飞书的 AI 新闻推送机器人。这个项目不仅展示了如何将 AI 自动化能力与企业 IM 工具无缝集成,也为我们提供了一个可扩展的框架。

