基于 OpenClaw 与飞书搭建 AI 新闻推送机器人
在日常工作中,手动浏览多个科技网站效率低下。本文将介绍如何利用 OpenClaw(开源 AI 自动化框架)结合飞书开放平台,快速搭建一个 AI 新闻推送机器人。该机器人可以自动访问指定网站,抓取科技新闻摘要,并通过飞书机器人实时推送给用户。
环境准备
我们需要先获取 AI 模型的服务凭证。在云端开发环境中,进入模型服务控制台,开通在线推理服务并选择预置模型。在调用说明中获取 API 地址和模型参数,并在 API Key 管理中创建新的密钥。注意,API Key 仅显示一次,请务必妥善保存。
随后启动 OpenClaw 网关。在终端输入之前创建的 API Key,系统会自动在后台启动网关并在浏览器打开控制面板。在 Chat 页面发送消息测试网关是否正常工作。
飞书开放平台配置
首先安装飞书插件以支持后续集成:
openclaw plugins install @m1heng-clawd/feishu
创建企业自建应用
访问飞书开放平台,登录后点击创建企业自建应用。填写应用名称和描述,选择图标后完成创建。
添加机器人能力
在应用左侧菜单进入应用能力,选择机器人能力并点击添加。
配置应用权限
为了让机器人能够接收和发送消息,需配置相应权限。进入开发配置的权限管理,批量导入以下权限范围:
{ "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": [] } }
确认后提交申请开通。在弹出的数据范围窗口中确认即可。
发布应用版本
点击顶部创建版本,进入版本管理与发布界面。填写版本号,移动端和桌面端的默认能力都选择机器人。保存后确认发布,状态变为已启用后,进入基础信息复制 App ID 和 App Secret。
OpenClaw 与飞书集成
配置 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
创建 Python 项目与长连接
为了实时接收消息,需要建立一个长连接。新建 Python 工程,激活虚拟环境并安装飞书 SDK:
pip install lark-oapi -U
验证安装成功后,编写长连接脚本。将代码中的 YOUR_APP_ID 和 YOUR_APP_SECRET 替换为实际值。
import lark_oapi as lark
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", 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()
运行程序,控制台显示连接成功即表示长连接建立完毕。注意保持程序运行,否则无法接收事件推送。
配置飞书事件订阅
回到飞书开放平台,进入开发配置的事件与回调。在事件配置中选择使用长连接接收事件并保存。添加事件时,在应用身份订阅下找到消息与群组,勾选接收消息 v2.0。再次创建新版本并发布,使配置生效。
功能测试
一切就绪后,打开飞书客户端找到创建的机器人。发送指令让机器人访问指定网站并抓取科技领域新闻。稍等片刻,机器人就会自动抓取新闻并推送回来。同时可在 OpenClaw 客户端查看返回信息。
收尾工作
测试完成后,通过以下命令停止 OpenClaw 网关服务:
openclaw gateway stop
总结
通过上述步骤,我们成功搭建了一个基于 OpenClaw 和飞书的 AI 新闻推送机器人。这不仅展示了如何将 AI 自动化能力与企业 IM 工具无缝集成,也提供了一个可扩展的框架供进一步探索。


