WeChat Article Full Reader

v1.0.0

读取微信公众号文章,提取全文内容和图片,结合阅读分析。当用户提供 mp.weixin.qq.com 链接、让看公众号文章内容、或需要分析微信文章的文字和图片时使用。

0· 207·2 current·2 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
名称与描述(抓取并分析微信公众号文章的全文和图片)与 SKILL.md 和脚本中的行为一致:打开 mp.weixin.qq.com 页面、滚动触发懒加载、在 DOM 中提取文本和 data-src 图片 URL、下载并保存图片。所需权限与实现相称。
Instruction Scope
SKILL.md 明确指定在页面上下文中执行具体的 JS 查询 DOM,只提取标题、作者、正文和图片 URL;脚本也只调用这些 eval 输出并下载列出的图片。注意:agent-browser eval 在页面上下文执行任意 JS——当前代码是有限的,但如果被修改或误用,eval 有能力读取页面上的敏感信息(如 cookies/localStorage 或登录状态信息)。
Install Mechanism
无安装规格(仅指令 + 一个 bash 脚本),不会从不可信 URL 下载或在安装阶段写入任意二进制,风险低。
Credentials
不请求任何环境变量、凭证或配置路径;所需的外部交互仅限于用户提供的文章 URL 和从页面上解析出的图片 URL,所声明的需求与实现相符。
Persistence & Privilege
没有设置 always:true,也不会修改其他技能或系统范围配置;默认的自主调用权限(disable-model-invocation=false)是平台默认,不构成额外怀疑。
Assessment
这个技能会通过 agent-browser 在你的浏览器环境中打开并滚动指定的微信公众号文章,然后在页面上下文执行 JavaScript 来提取文本和 data-src 图片 URL,最后用 curl 下载图片到本地目录。它不要求 API 密钥或外部服务器。建议在使用前:1) 只对你信任或公开的文章链接运行,不要对包含敏感会话/私人信息的网页运行;2) 确认 agent-browser 的权限和当前登录状态(避免在登录的帐号会话中抓取可能暴露的会话数据);3) 检查并审阅 scripts/read_article.sh,如果你要修改提取或下载行为,请在受控环境下测试。

Like a lobster shell, security has layers — review code before you run it.

latestvk97804hdt1f9z511jc95jm2aas8356fw

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

微信公众号文章阅读器

概述

微信公众号使用懒加载机制,图片真实URL存储在 data-src 属性中。本skill提供完整的文章阅读流程:提取全文 + 内容图片 + 结合分析。

工作流程

1. 打开文章

agent-browser open "<文章URL>"

2. 滚动加载所有内容

微信文章使用懒加载,需要滚动到底部触发所有图片加载:

# 多次滚动确保加载完成
for i in {1..8}; do
  agent-browser scroll down 800
  sleep 1
done

3. 提取文章内容

// 提取标题、作者、正文
const title = document.querySelector('#activity-name')?.innerText || '未找到标题';
const author = document.querySelector('#js_name')?.innerText || '';
const content = document.querySelector('#js_content')?.innerText || '';

执行方式:

agent-browser eval "<上述JS代码>"

4. 提取图片URL

微信图片存储在 data-src 属性,不在 src

// 提取所有懒加载图片的真实URL
const imgs = document.querySelectorAll('img');
const urls = [];
imgs.forEach((img) => {
  const dataSrc = img.getAttribute('data-src');
  if (dataSrc && dataSrc.startsWith('http')) {
    urls.push(dataSrc.split('#')[0]); // 去掉hash
  }
});
urls.join('\n');

5. 过滤内容图片

内容图片特征:

  • 尺寸较大(width > 200 或 height > 200)
  • 来自 mmbiz.qpic.cn 域名
  • 格式为 png/jpg/gif/webp

装饰图片特征(排除):

  • 尺寸小(分隔线、图标)
  • 文件大小 < 5KB
  • 来自特定装饰图路径

6. 下载内容图片

# 创建目录
mkdir -p <输出目录>

# 下载图片
curl -o "img-01.png" "<图片URL>"

7. 结合阅读

  1. 读取正文内容
  2. 逐一查看内容图片
  3. 将图片与对应段落关联
  4. 输出完整分析报告

快速脚本

使用 scripts/read_article.sh 一键执行:

./scripts/read_article.sh "<文章URL>" <输出目录>

输出:

  • article.json - 标题、作者、正文
  • images/ - 内容图片目录
  • summary.md - 结合阅读摘要

图片过滤规则

类型特征处理
内容图片尺寸 > 200px, 来自 mmbiz.qpic.cn下载并分析
装饰分隔高度 < 50px 或 文件 < 2KB忽略
公众号图标含 "yZPTcMGWibvsic9Obib" 等固定路径忽略
表情包/贴纸尺寸 < 100px忽略

输出格式

## 文章标题

**作者:** XXX

### 正文 + 图片

> 段落内容...

配图:[图片描述]

> 继续段落...

### 图片汇总

| 图片 | 内容 | 关联段落 |
|------|------|----------|
| img-01.png | 游戏截图 | 第一节 |
| img-02.png | 数据图表 | 第三节 |

Files

2 total
Select a file
Select a file to preview.

Comments

Loading comments…