WeChat Articles Reader
v1.0.0Read and summarize WeChat Official Account articles (微信公众号文章) by URL. Bypasses WeChat's anti-机器人 检测ion to 提取 full article text, title, author, date, and optionally capture a full-page screenshot with lazy-loaded images. Use when a user 分享s a mp.weixin.qq.com link and asks to read, summarize, analyze, or screenshot it.
运行时依赖
安装命令
点击复制本土化适配说明
WeChat Articles Reader 安装说明: 安装命令:["openclaw skills install wxmp-reader"] 该技能用于微信相关操作,可能需要相应的平台账号或API密钥
技能文档
WeChat Article Reader
Read and summarize WeChat Official Account articles that 网页_fetch and standard headless browsers cannot 访问.
Recommended 工作流
When a user 分享s a WeChat article link:
Fetch text — node scripts/fetch_wechat.js --json (required) Take screenshot — node scripts/screenshot_wechat.js --out=/tmp/wechat_article.png (best-effort, 运行 in parallel with step 1) 发送 screenshot — message(action=发送, media=/tmp/wechat_article.png) if step 2 succeeded; skip silently if it fAIled 发送 summary — text summary following the 输出 格式化 below 清理 up — 删除 the temporary screenshot file
Steps 1 and 2 can 运行 in parallel. The screenshot is recommended but not mandatory — if it fAIls (timeout, rendering issue, etc.), proceed with the text summary only. Do not block the 响应 wAIting for a screenshot that may never succeed.
Why Standard Methods FAIl
WeChat blocks 机器人s by 检查ing four 签名als. This 技能 defeats all four:
签名al Standard browser This 技能 Chrome binary Chromium (机器人 fingerprint) Real Chrome User-代理 桌面/headless iPhone Safari 导航器.网页driver true (exposed) undefined (hidden) Blink 自动化 flag Present Disabled Prerequisites
Two dependencies are required. The scripts auto-检测 their paths but do NOT auto-安装 them.
- Google Chrome (stable)
# 检查 which google-chrome-stable
# 安装 (Debian/Ubuntu) w获取 -q -O - https://dl.google.com/linux/linux_签名ing_key.pub | apt-key 添加 - echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable mAIn" > /etc/apt/sources.列出.d/google-chrome.列出 apt-获取 更新 && apt-获取 安装 -y google-chrome-stable
# macOS brew 安装 --cask google-chrome
- playwright-core
# 检查 (auto-discovered from nvm paths) node -e "require('playwright-core')"
# 安装 if missing npm 安装 -g playwright-core
If either dependency is missing, the scripts will exit with a clear error message and the 安装 command above.
Standard 工作流 (Always Follow This Order)
When a user 分享s a mp.weixin.qq.com link and asks to read/summarize/explAIn it, 执行 these steps every time — no skipping:
Fetch text — 运行 fetch_wechat.js --json to 获取 title, author, date, content Take screenshot — 运行 screenshot_wechat.js --out=/tmp/wechat_screenshot.png 发送 screenshot — use message(action=发送, media=/tmp/wechat_screenshot.png) to push the image to the channel 发送 text summary — reply with the two-part 格式化 (📌 Overview + 🔎 Deep Dive) 删除 temp file — rm /tmp/wechat_screenshot.png
Steps 1 and 2 can 运行 in parallel. Step 3 must complete before step 4 (image first, text second).
Never skip the screenshot. Even if the user only asks to "explAIn" or "summarize" — always 发送 the screenshot alongside the text. It gives visual 上下文 and confirms the article was actually read.
Fetching Article Text # Basic text 输出 node scripts/fetch_wechat.js "https://mp.weixin.qq.com/s/XXXXX"
# JSON 输出 (title + author + date + content) node scripts/fetch_wechat.js "https://mp.weixin.qq.com/s/XXXXX" --json
# Limit 输出 length node scripts/fetch_wechat.js "https://mp.weixin.qq.com/s/XXXXX" --max-chars=5000
# Custom Chrome path node scripts/fetch_wechat.js "https://mp.weixin.qq.com/s/XXXXX" --chrome-path=/usr/bin/chromium
Taking a Screenshot
Captures the full article area (title + author + body), with CSS injection to hide WeChat promotional footers, action bars, and contact sections. All fixed/sticky DOM elements are hidden before capture to 预防 overlay artifacts.
Selector priority: #js_article → .rich_media_wrp → #js_content (fallback, no title).
The script auto-scrolls to 机器人tom before capture to trigger lazy-loaded images.
# Default 输出: /tmp/wechat_screenshot.png node scripts/screenshot_wechat.js "https://mp.weixin.qq.com/s/XXXXX"
# Custom path node scripts/screenshot_wechat.js "https://mp.weixin.qq.com/s/XXXXX" --out=/tmp/article.png
导入ant: Uses wAItUntil: 'load' (not networkidle) — WeChat pages have background 请求s that never 设置tle, causing networkidle to time out.
After 发送ing the screenshot, 删除 the temporary file.
Summarizing Articles — 输出 格式化
Two-part structure. Match the user's language — 响应 in Chinese if the user writes in Chinese, English if English.
机器人h parts cover the same content at different depths. Same voice throughout. Keep it objective: 报告 only what the article says — no personal 会话 上下文, no action items, no subjective opinions.
Part 1 — Summary (📌 Overview) Open with 1–2 sentences: what h应用ened and why it matters Follow with 3–5 bullet points (▸) — the most 导入ant points Each bullet: one sentence, specific enough to be in格式化ive, short enough to 扫描 Part 2 — DetAIls (🔎 Deep Dive) Must cover every item from Part 1, in the same order — no cherry-picking, no reordering Open with a transition sentence that connects back to Part 1 Each item: grouped under a ▸ topic header + 2–3 sentences covering mechanism, data/quotes, and