agent-email
Agent 专用邮箱统一管理:让 Claude Code、Codex 等平台的 Agent 用一套命令收发邮件、整理收件箱、分发任务。支持网易 ClawEmail(claw.163.com)和腾讯 Agent Mail(QQ…
抓取微信公众号文章(mp.weixin.qq.com)到本地。当用户发来公众号链接要求"抓取""保存""存下来""归档""留痕""转成 Markdown"时使用。默认双产出:Markdown 整理版(供检索引用)+ HTML 原件保真归档(离线双击可读,供回溯核对)。默认 HTTP 直抓零依赖,失败自动切浏览器兜底。
$ npx -y skills add cat-xierluo/legal-skills --skill wechat-article-fetch --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/wechat-article-fetchContext preview
The summary Claude sees to decide when to auto-load this skill.
抓取微信公众号文章(mp.weixin.qq.com)到本地。当用户发来公众号链接要求"抓取""保存""存下来""归档""留痕""转成 Markdown"时使用。默认双产出:Markdown 整理版(供检索引用)+ HTML 原件保真归档(离线双击可读,供回溯核对)。默认 HTTP 直抓零依赖,失败自动切浏览器兜底。
name: wechat-article-fetch homepage: https://github.com/cat-xierluo/legal-skills author: 杨卫薪律师(微信ywxlaw) version: "1.4.0" description: 抓取微信公众号文章(mp.weixin.qq.com)到本地。当用户发来公众号链接要求"抓取""保存""存下来""归档""留痕""转成 Markdown"时使用。默认双产出:Markdown 整理版(供检索引用)+ HTML 原件保真归档(离线双击可读,供回溯核对)。默认 HTTP 直抓零依赖,失败自动切浏览器兜底。 license: Complete terms in LICENSE.txt
抓取微信公众号文章到本地,默认一次产出两份:
| 产物 | 用途 | 特点 | |---|---|---| | Markdown 整理版 | 检索、引用、下游加工 | 纯文本段落 + 图片本地化,自动过滤小装饰图 | | HTML 原件 | 保真留痕、回溯核对 | 完整页面 + 全部图片本地化(不过滤),离线双击可读,原外链保留在 `data-src` 备查 |
为什么两份都要:公众号分享链接常带 `tempkey` 临时凭证,过期后打不开;Markdown 整理会丢排版和配图,日后无法回溯核对原文。**原件保真,整理版好用,两者互补不互替。**
抓取引擎:
# 默认:双产出,保存到 skill 内 archive/<时间戳>_<标题>/ node scripts/fetch.js "https://mp.weixin.qq.com/s/xxxxx" # 指定输出根目录(文章产物归入其下子目录) node scripts/fetch.js "https://mp.weixin.qq.com/s/xxxxx" "./articles/" # 兼容旧用法:直接指定 .md 文件路径(其余产物同目录平铺) node scripts/fetch.js "https://mp.weixin.qq.com/s/xxxxx" "./articles/my-article.md" # 只要 Markdown 整理版 / 只要 HTML 原件 node scripts/fetch.js "https://mp.weixin.qq.com/s/xxxxx" --mode markdown node scripts/fetch.js "https://mp.weixin.qq.com/s/xxxxx" --mode archive # 强制走浏览器(或只走 HTTP 不装 Playwright) node scripts/fetch.js "https://mp.weixin.qq.com/s/xxxxx" --engine playwright node scripts/fetch.js "https://mp.weixin.qq.com/s/xxxxx" --engine http
完整参数运行 `node scripts/fetch.js --help` 查看。
archive/<YYYYMMDD_HHMMSS>_<文章标题>/ ├── <文章标题>.md # 整理版(头部注明原文链接与 HTML 原件位置) ├── <文章标题>.html # 原件(src 已本地化,离线可读) ├── <文章标题>_assets/ # 整理版图片(智能过滤小装饰图) └── <文章标题>_html_assets/ # 原件图片(全量保真,含小图标)
import { fetchWechatArticle } from './scripts/fetch.js';
const report = await fetchWechatArticle("https://mp.weixin.qq.com/s/xxxxx", {
engine: 'auto', // 'auto' | 'http' | 'playwright'
mode: 'both', // 'both' | 'markdown' | 'archive'
outputPath: null, // 输出路径(可选)
retries: 3 // Playwright 路线重试次数
});
// report: { title, url, engine, md, archive: { htmlPath, images, missing, remoteLeft, failed } }看脚本输出:
| 坑 | 处理 | |---|---| | `tempkey` 链接会过期 | **收到就立刻抓**,不要等"有空再存" | | 图片真地址在 `data-src` 不在 `src` | `src` 多为 base64 占位;脚本已处理,手工排查时注意 | | URL 属性里是 `&` 不是 `&` | 解码后才能下载,否则 403;脚本已处理 | | 图片域名不止 `mmbiz.qpic.cn` | 还有 `mmecoa.qpic.cn` 等,按 `qpic.cn` 后缀识别,别写死子域 | | `wx_fmt` 参数定扩展名 | 微信图 URL 无 `.jpg` 后缀,靠 `?wx_fmt=jpeg` 推断,PNG 不会存成 jpg 名 | | svg 小图标看着像 0KB | 原件目录里的几百字节装饰图标不是下载失败,别删(原件全量保真) | | "环境异常"页 | 引擎自动切换重试;仍失败说明链接失效或需验证 |
抓取完成后,如内容为法律法规、裁判文书等结构化法律文本,可在汇报时**提示用户**:如需进一步格式化整理,可指定相应的格式化技能(若环境中有)继续处理。是否调用、调用哪个技能由用户或上层流程决定——本技能不自动调用、不绑定任何下游技能。
⚠️ 仅用于个人学习和研究,请遵守网站服务条款 ⚠️ 频繁抓取可能被限流,建议控制请求频率 ⚠️ 抓取内容版权归原作者所有 ⚠️ Playwright 兜底路线首次使用会自动安装 chromium(`npx playwright install chromium`);HTTP 直抓路线零依赖
Agent 专用邮箱统一管理:让 Claude Code、Codex 等平台的 Agent 用一套命令收发邮件、整理收件箱、分发任务。支持网易 ClawEmail(claw.163.com)和腾讯 Agent Mail(QQ…
把一句自然语言(机票/高铁/开庭/会议/截止日期/聚会/看病等)或一张票据截图,自动变成苹果「日历」事件 + 一串按事件类型智能提前的「提醒事项」。在 macOS 上运行、经 iCloud 同步到 iPhone/iPad。当用户说「帮我加个日程/提醒」「机票…
律师案件看板。本地零依赖看板服务(案件总览、任务三态看板、期限预警、进度写回)+周研判分析。当用户说"打开看板/dashboard/案件面板/看下案件进度/给我案件周报研判"时使用。案件状态写入与上下文管理用 case-progress(/progress…
案件进度与状态台账管理。案件 case.yaml 的唯一写入引擎(新增任务、推进任务、登记期限、更新案件阶段、校验、存量迁移),Agent 会话的进度加载与写回契约,以及案件进度监控对账。当用户或 Agent…