DAY4 基于 OpenClaw + 飞书开放平台实现 AI 新闻推送机器人

DAY4 基于 OpenClaw + 飞书开放平台实现 AI 新闻推送机器人

DAY4 基于 OpenClaw + 飞书开放平台实现 AI 新闻推送机器人

目录

DAY4 基于 OpenClaw + 飞书开放平台实现 AI 新闻推送机器人

前  言

1 环境准备

1.1 华为云开发环境

1.2 ModelArts 代金券与模型服务

1.3 启动 OpenClaw 网关

2 飞书开放平台配置

2.1 创建企业自建应用

2.2 添加机器人能力

2.3 配置应用权限

2.4 发布应用版本

3 OpenClaw 与飞书集成

3.1 配置 OpenClaw 的飞书凭证

3.2 创建 Python 项目与长连接

3.3 配置飞书事件订阅

4 功能测试

5 收尾工作

6 总结与扩展


前  言

        在日常工作中,我们常常需要关注科技领域的最新动态,但手动浏览多个网站效率低下。本文将详细介绍如何利用 OpenClaw(一个开源的 AI 自动化框架)结合 飞书开放平台,快速搭建一个 AI 新闻推送机器人。该机器人可以自动访问指定网站,抓取科技新闻摘要,并通过飞书机器人实时推送给用户,让你不错过任何重要资讯。

1 环境准备

1.1 华为云开发环境

我们选择华为云开发者空间作为开发环境,它提供了预装的开发工具和依赖,能极大简化配置流程。

  1. 登录华为云,进入 开发者空间,创建一个新的云开发环境(在华为开发者空间中,点击菜单开发平台 —— 云开发环境 —— 开发桌面,创建云开发环境 —— 开发桌面。)。
  2. 进入环境后,桌面会预装 CodeArts IDE for PythonGitCode 等工具,我们后续将使用这些工具进行开发。

创建完成后,操作开发桌面开机,然后进入远程桌面。

1.2 ModelArts 代金券与模型服务

为了使用 OpenClaw 的 AI 能力,我们需要先开通 ModelArts 的模型服务:

  1. 在华为云控制台,进入 ModelArts > 在线推理
  2. 在 “非计划权益” 中领取 ModelArts 代金券(如截图所示,本次领取了 7 元代金券)。
  3. 点击 预置服务,选择 DeepSeek-V3.2 等模型,勾选 “我已阅读并同意”,然后点击 一键开通

开通成功后,在 “调用说明” 中获取 API 地址模型参数,并点击 “API Key 管理” 创建一个新的 API Key。

⚠️ 注意:API Key 只会显示一次,请务必复制并妥善保存,后续配置 OpenClaw 时会用到。
⚠️ 注意:API Key 只会显示一次,请务必复制并妥善保存,后续配置 OpenClaw 时会用到。

1.3 启动 OpenClaw 网关

  1. 在桌面双击运行 Moltbot(OpenClaw 的启动器)。
  2. 在弹出的终端中,输入之前创建的 API Key,然后回车。
  3. 系统会自动在后台启动 OpenClaw 网关,并在浏览器中打开控制面板(http://127.0.0.1:18789)。
  4. 在控制面板的 “Chat” 页面,你可以发送消息测试 OpenClaw 是否正常工作,例如:“请向我介绍下你自己?”。

2 飞书开放平台配置

首先,可以在华为云开发环境终端中安装飞书插件,实现OpenClaw与飞书的配置链接。

输入以下命令:

openclaw plugins install @m1heng-clawd/feishu

2.1 创建企业自建应用

  1. 访问 飞书开放平台,登录后点击 创建企业自建应用
  2. 填写应用名称(如 OpenClaw_test)和描述,选择图标后点击 创建

2.2 添加机器人能力

  1. 在应用左侧菜单,进入 应用能力 > 添加应用能力
  2. 选择 机器人 能力,点击 “添加”。

2.3 配置应用权限

为了让机器人能够接收和发送消息,我们需要配置相应的权限:

1. 进入 开发配置 > 权限管理

2. 点击 批量导入 / 导出权限,将以下 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": [] } }

3. 点击 下一步,确认新增权限,然后点击 申请开通

4. 在弹出的 “应用身份权限可访问的数据范围” 窗口中,点击 确认

2.4 发布应用版本

1. 点击顶部创建版本,进入 应用发布 > 版本管理与发布

2. 进入 创建版本 界面,填写版本号(如 1.0.0)和更新说明,移动端和桌面端的默认能力都选择 “机器人”。

3. 点击 保存,然后 确认发布。发布成功后,应用状态会变为 “已启用”。

4. 进入 基础信息 > 凭证与基础信息,复制 App IDApp Secret,后续配置 OpenClaw 时会用到。

3 OpenClaw 与飞书集成

3.1 配置 OpenClaw 的飞书凭证

1. 在华为云环境的终端中,执行以下命令,将飞书的 App ID 和 App Secret 配置到 OpenClaw 中:

openclaw config set channels.feishu.appId "YOUR_APP_ID" openclaw config set channels.feishu.appSecret "YOUR_APP_SECRET"

2. 重启 OpenClaw 网关使配置生效:

openclaw gateway restart

3.2 创建 Python 项目与长连接

为了让飞书能实时接收 OpenClaw 的消息,我们需要建立一个长连接:

1. 打开桌面的 CodeArts IDE for Python,点击 新建工程,选择 Python,命名为 openClaw_test

2. 打开 IDE 底部的 “终端”,激活虚拟环境并安装飞书 Python SDK:

pip install lark-oapi -U

3. 验证安装:

pip show lark-oapi

4. main.py 文件中的代码替换为飞书官方提供的长连接示例代码,并将其中的 YOUR_APP_IDYOUR_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()

5. 点击右上角的 “运行” 按钮,启动长连接。控制台显示 connected to wss://... 即表示连接成功。

⚠️ 注意:长连接程序必须保持运行,否则飞书无法接收事件推送。

3.3 配置飞书事件订阅

1. 回到飞书开放平台,进入 开发配置 > 事件与回调

2. 在 “事件配置” 中,订阅方式选择 使用长连接接收事件,点击 保存

3. 点击 添加事件,在 “应用身份订阅” 下找到 “消息与群组”,勾选 接收消息 v2.0,然后点击 “确认添加”。

4. 再次进入 版本管理与发布,创建新版本(如 2.0.0)并发布,使事件订阅配置生效。

4 功能测试

一切配置就绪后,我们来测试新闻推送功能:

1. 打开飞书客户端,找到我们创建的机器人 OpenClaw_test

2. 发送指令:@OpenClaw_test 去访问以下两个网站 (https://www.leikeji.com/)、(https://tech.gmw.cn),有任何关于"科技"领域的新闻,立刻把最新的摘要推送给我。

3. 稍等片刻,机器人就会自动抓取新闻并推送回来,效果如下:

发送后可同时在华为云开发者空间OpenClaw客户端查看到返回信息。

5 收尾工作

测试完成后,你可以通过以下命令停止 OpenClaw 网关服务:

openclaw gateway stop

6 总结与扩展

        通过本文的实践,我们成功搭建了一个基于 OpenClaw 和飞书的 AI 新闻推送机器人。这个项目不仅展示了如何将 AI 自动化能力与企业 IM 工具无缝集成,也为我们提供了一个可扩展的框架。

Read more

AI 编程工具终极对决:Trae 3.0, Cursor, Qoder, Claude Code, Gemini 全方位评测

AI 编程工具终极对决:Trae 3.0, Cursor, Qoder, Claude Code, Gemini 全方位评测 更新时间:2025年12月 2025 年是 AI 编程工具进化的分水岭。如果说 GitHub Copilot 开启了 “AI 补全” 的 1.0 时代,Cursor 定义了 “AI Native IDE” 的 2.0 时代,那么随着 Trae 3.0、Qoder 的成熟,我们正式进入了 Agentic Coding(代理式编程) 的 3.0 时代。

By Ne0inhk
【AI 学习】解锁Claude Skills:开启AI应用新维度

【AI 学习】解锁Claude Skills:开启AI应用新维度

一、Claude Skills 是什么? 1.1 官方定义剖析 Claude Skills 是 Anthropic 公司为其人工智能模型 Claude 打造的一项创新性的功能扩展机制。从 Anthropic 的官方阐述来看,它本质上是一种标准化的、可复用的模块化系统,旨在赋予 Claude 执行特定领域复杂任务的能力 。通过 Claude Skills,用户能够让 Claude 迅速化身为专业领域的 “专家”,完成从常规的文本处理到复杂的业务流程自动化等多样化任务。 举例来说,在文档处理领域,以往使用普通的 AI 模型处理合同文档时,可能需要多次详细地输入指令,要求其提取关键条款、检查格式规范等,且每次处理都需重复这些指令,而借助 Claude Skills,用户只需创建一个专门用于合同处理的 Skill,将合同处理的流程、关键信息提取规则等内容封装其中,后续再处理合同时,Claude 就能自动调用该 Skill,

By Ne0inhk

用快马AI一键实现图片转CAD:释放设计效率新高度

快速体验 1. 打开 InsCode(快马)平台 https://www.inscode.net 2. 点击'项目生成'按钮,等待项目生成完整后预览效果 输入框内输入如下内容: 开发一个图片转CAD的在线工具,用户上传JPG/PNG图片后,AI自动识别图片中的线条、文字和图形,转换为可编辑的DWG/DXF格式CAD文件。支持调整识别精度、线条平滑度和图层分离。提供实时预览功能,用户可以在转换前调整参数,转换后可直接下载或在线编辑。集成Kimi-K2模型进行图像识别和矢量转换,确保高精度输出。一键部署上线,方便团队协作和文件共享。 作为一名经常需要处理设计图纸的工程师,我一直在寻找能快速将手绘草图或扫描图片转为CAD文件的工具。最近尝试了InsCode(快马)平台的图片转CAD功能,整个过程流畅得让人惊喜。这里记录下我的使用体验和技术实现思路。 1. 核心需求分析 传统图片转CAD需要繁琐的手动描图,而AI技术可以自动识别线条、文字和封闭图形。我们需要的是能处理不同清晰度图片,支持参数调整,并输出分层矢量化CAD文件的服务。 2.

By Ne0inhk
【AI大模型】Spring AI 基于mysql实现对话持久存储详解

【AI大模型】Spring AI 基于mysql实现对话持久存储详解

目录 一、前言 二、Spring AI 记忆功能概述 2.1 Spring AI会话记忆介绍 2.2 常用的会话记忆存储方式 2.2.1 集成数据库持久存储会话实现步骤 三、基于MySql实现会话记忆的实现过程 3.1 ChatMemory 介绍 3.2 ChatMemory的几种实现 3.2.1 InMemoryChatMemory 3.2.2 MessageWindowChatMemory  3.2.3 MessageChatMemoryAdvisor 3.3 基于mysql实现会话记忆存储思路 四、基于mysql实现会话记忆操作过程 4.1 自定义ChatMemory实现会话记忆存储 4.1.1

By Ne0inhk