openclaw的文章总结skill
文章总结和通知提醒skill
-
• 总结自己发过的公众号文章内容 -
• 发送公众号文章链接,返回单篇总结。 -
• 发送公众号名片或命令“总结 公众号名 篇数”,返回历史最近N篇文章总结。 -
• 订阅公众号,有新文章时自动推送总结。 -
• 定时生成周报/月报,总结一段时间内的文章整体内容。
第一种方法:clawbot设置自动js文件
接入openclaw,和微信clawbot,微信机器人每天更新爬取,部分公众号文章
总结提炼发到微信已经在手机上装好了 OpenClaw,和微信 Clawbot 连起来,让机器人在微信里自动把公众号文章总结好发给你
1. 关系
-
• Clawbot:一个可以对接微信的聊天机器人框架(通常部署在服务器或电脑上),负责在微信里收发消息。 -
• OpenClaw:Clawbot 的安卓管理客户端,让你在手机上就能远程控制 Clawbot、查看日志、管理插件。 -
• 你的目标:在 Clawbot 里装一个“公众号文章总结”技能,当你在微信里发一篇公众号链接给机器人,它就把总结推回给你。
2. 前提条件
-
• 已经有一个 正在运行且已登录微信的 Clawbot 服务端(不管是个人微信号还是企业微信,都已经完成扫码登录)。 -
• 手机上 OpenClaw 已经成功连接到这个 Clawbot(输入服务器地址和 Token,看到在线状态即可)。 -
• 准备好一个 AI 接口的 Key,比如 OpenAI API Key,用来做文章总结 。
3. 给 Clawbot 装上“公众号文章总结”技能
Clawbot 本身支持通过技能(Skill)扩展能力。直接写一个简单的脚本,让机器人监听包含公众号链接的消息,提取文章内容,再用 AI 生成摘要。
Skill 示例(基于 Node.js,假设 Clawbot 运行在 Node 环境):
// 文件名: wechat-article-summary.js// 放到 Clawbot 的 skills 目录下const axios = require('axios');const cheerio = require('cheerio');module.exports = function (bot) {// 监听所有收到的消息 bot.on('message', async (msg) => {// 判断消息里是否包含微信公众号文章链接const urlMatch = msg.text.match(/https?:\/\/mp\.weixin\.qq\.com\/s\/[^\s]+/);if (!urlMatch) return;const articleUrl = urlMatch[0];try {// 1. 抓取公众号文章内容(注意微信可能屏蔽,可能需要加 headers 模拟浏览器)const { data } = await axios.get(articleUrl, {headers: {'User-Agent': 'Mozilla/5.0 (Linux; Android 10) AppleWebKit/537.36 ...' } });const $ = cheerio.load(data);// 公众号正文一般在这个 id 下const content = $('#js_content').text().trim();if (!content || content.length < 50) {await msg.reply('抱歉,没能抓取到文章内容,可能已被删除或需登录查看。');return; }// 2. 调用 AI 总结(示例用 OpenAI,你可以改成其他任何 API)const summary = awaitsummarizeWithAI(content);// 3. 把总结推送给发消息的人await msg.reply(`📄 文章总结:\n${summary}`); } catch (error) {console.error('文章总结失败:', error);await msg.reply('文章总结时出错了,稍后重试。'); } });asyncfunctionsummarizeWithAI(text) {// 如果文章太长,可以截断前 3000 字const truncated = text.slice(0, 3000);const response = await axios.post('https://api.openai.com/v1/chat/completions', {model: 'gpt-3.5-turbo',messages: [ { role: 'system', content: '你是一个文章摘要助手,请用中文简洁总结用户提供的文章内容,在150字以内。' }, { role: 'user', content: truncated } ],temperature: 0.5 }, {headers: {'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`,'Content-Type': 'application/json' } } );return response.data.choices[0].message.content.trim(); }};
**把这份文件放到 Clawbot 的 skills目录后 **:
-
• 安装依赖: npm install axios cheerio(在 Clawbot 根目录下运行) -
• 设置环境变量 OPENAI_API_KEY(或直接在代码里替换成你自己的 Key) -
• 重启 Clawbot 服务
4. 在 OpenClaw 上激活并管理这个技能
-
1. 打开手机上的 OpenClaw,确认已连上你的 Clawbot。 -
2. 进入「技能」或「插件」管理页面,应该能看到刚才新增的 wechat-article-summary。 -
3. 确保它的状态是 已启用(一般默认会自动加载)。 -
4. 可以进入日志页面,方便测试时观察是否有报错。
5. 在微信里测试效果
-
• 打开和你的微信 Clawbot 的聊天窗口。 -
• 直接发送一篇公众号文章的链接,比如: https://mp.weixin.qq.com/s/xxxx。 -
• 等几秒钟,机器人就会回复一段总结好的文字。
很鸡肋的感觉

6. 常见问题与优化建议
-
• 微信抓不到文章内容公众号文章有时需要 Cookie 或验证,可以尝试使用像 WeChat Article Exporter这样的第三方解析服务,或者订阅 RSS 转换服务来规避反爬。 -
• AI 费用与速度若文章太长,代码里已限制为前 3000 字。你也可以换成国内大模型(如通义千问、文心一言等),换成对应的 API 地址和 Key 即可,逻辑完全一样。 -
• 主动推送(而不只是被动回复)如果你想让机器人每天定时总结你关注的公众号,需要结合 RSS 监控(比如用 RSSHub 把公众号转为 RSS),再写一个定时 Skill,这属于进阶玩法。当前配置已经满足“发链接就回总结”的核心需求。 -
• 微信封号风险任何非官方客户端协议登录微信都有一定风险,建议使用小号测试,并不要高频发送消息。
第二种方法:修改代理前缀标识
参考文章:https://zhuanlan.zhihu.com/p/2023365770478920344
把 User-Agent 改成微信内置浏览器的标识,就能直接拿到完整 HTML,不用 Cookie、不用登录、不用代理。
第三种方法:流量监控
参考文章:https://github.com/striver-ing/wechat-spider
C:\Users\Administrator.mitmproxy\mitmproxy-ca-cert.cer

exe 窗口不要关,要看到:Proxy server listening at http://*:8080
手机和电脑同一 WiFi(关掉手机流量 / 蜂窝网络)
代理填对(手动代理,不是 VPN):
服务器:192.168.1.68(以 exe 窗口里显示的 IP 为准)
端口:8080
浏览器地址栏输入:http://mitm.it(必须是 http,不要 https)
按系统设置
iPhone
设置 → 无线局域网 → 当前 WiFi 右边 i → 配置代理 → 手动 → 填 IP 和 8080

需要修改手动、DHCP为静态、主机名称和端口号重新设置
Android
WLAN → 长按当前网络 → 修改网络 → 高级 → 代理手动 → 填 IP 和 8080

还是打不开时,电脑防火墙放行 8080
以管理员打开 PowerShell:
netsh advfirewall firewall add rule name=”wechat-spider-8080″ dir=in action=allow protocol=TCP localport=8080
手机浏览器访问:http://192.168.1.68:8080
若也打不开:代理 IP/端口或防火墙有问题
若能打开/有反应:再试 http://mitm.it
关掉手机上的 VPN、公司网络、私人 DNS
备用装证书(不依赖 mitm.it)
证书一般在电脑用户目录:
C:\Users\Administrator.mitmproxy\mitmproxy-ca-cert.cer
用微信/QQ 发到手机安装,然后在系统里信任该证书。
快速使用(双击 exe)
1. 启动
双击:
wechat-spider\release\wechat-spider.exe
首次运行会自动:
-
• 生成 config\config.yaml -
• 创建 SQLite 库: data\wechat.db(没装 MySQL 时会自动用这个)
看到类似提示就说明启动成功:
Proxy server listening at http://*:8080
数据存储: SQLite -> …/data/wechat.db









2. 安装证书 + 设代理
-
1. 手机和电脑连同一个 WiFi -
2. 手机代理设为程序提示的 IP:8080(例如192.168.1.68:8080) -
3. 手机浏览器打开 http://mitm.it下载并安装证书 -
4. 系统里信任该证书(iOS 要到「证书信任设置」里打开)
发证书


3. 添加自己的biz字符串
用 DB Browser for SQLite打开:
release\data\wechat.db
在表 wechat_account_task里新增一行,只填:
| 字段 | 值 |
__biz |
MzIxNzg1ODQ0MQ== |
__biz可在公众号历史文章链接里找到(参数 __biz=)。
从短链接找 __biz
方法 1(推荐):电脑浏览器打开短链接
把短链接粘到 Chrome
按 F12 → 选 Elements / 元素
Ctrl+F 搜索:var biz
会看到类似:
var biz = “Mzg5MjUyMzU4Nw==”

4. 开始抓取
-
1. 打开微信 -
2. 进入该公众号 → 查看历史消息 -
3. 程序会自动翻页抓取,数据写入 data\wechat.db




主要数据表
| 表名 | 内容 |
wechat_account |
|
wechat_article_list |
|
wechat_article |
|
wechat_article_dynamic |
|
wechat_article_comment |
|
wechat_account_task |
|
可选配置
编辑 release\config\config.yaml:
-
• database.type: auto:有 MySQL 用 MySQL,没有自动用 SQLite -
• database.type: sqlite:强制 SQLite -
• spider.service_port:代理端口,默认8080
常见问题
-
• 提示暂无任务: wechat_account_task里还没加__biz -
• 抓不到包:检查代理、端口是否被占用、证书是否信任 -
• 想重新生成配置:删掉 release\config文件夹后重启 exe -
• 发生代理环:手机/电脑在访问 http://192.168.1.68:8080 的同时又把代理设成该地址,请求会打回自己并拖垮程序。正在加防护并彻底清理电脑代理设置
夜雨聆风