乐于分享
好东西不私藏

openclaw的文章总结skill

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(03000);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 }        ],temperature0.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. 1. 打开手机上的 OpenClaw,确认已连上你的 Clawbot。
  2. 2. 进入「技能」或「插件」管理页面,应该能看到刚才新增的 wechat-article-summary
  3. 3. 确保它的状态是 已启用(一般默认会自动加载)。
  4. 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. 1. 手机和电脑连同一个 WiFi
  2. 2. 手机代理设为程序提示的 IP:8080(例如 192.168.1.68:8080
  3. 3. 手机浏览器打开 http://mitm.it下载并安装证书
  4. 4. 系统里信任该证书(iOS 要到「证书信任设置」里打开)

发证书

3. 添加自己的biz字符串

用 DB Browser for SQLite打开:

release\data\wechat.db

在表 wechat_account_task里新增一行,只填:

字段
__biz
公众号 biz,如 MzIxNzg1ODQ0MQ==

__biz可在公众号历史文章链接里找到(参数 __biz=)。

从短链接找 __biz

方法 1(推荐):电脑浏览器打开短链接

把短链接粘到 Chrome

按 F12 → 选 Elements / 元素

Ctrl+F 搜索:var biz

会看到类似:

var biz = “Mzg5MjUyMzU4Nw==”

4. 开始抓取

  1. 1. 打开微信
  2. 2. 进入该公众号 → 查看历史消息
  3. 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 的同时又把代理设成该地址,请求会打回自己并拖垮程序。正在加防护并彻底清理电脑代理设置
本次仅仅作为技术学习交流,数据文章是自己公众号数据,并未使用其他人文章数据清洗