| name | wechat-official-account |
| label | 抓公众号 |
| summary | 把微信公众号文章抓成干净写作素材 |
| icon | wechat |
| description | 微信公众号文章抓取(只管取素材,不管写稿)——把别人公众号的文章变成干净的 Markdown 写作素材。 两种用法:①用户给出 mp.weixin.qq.com 文章链接时,直接抓取正文(零登录,最稳);②用户只说公众号名/文章描述时, 用用户自己的公众号身份扫码登录后按号搜索、列文、抓正文。当用户提到"公众号文章""微信文章" "帮我抓/搜某公众号"或贴出 mp.weixin.qq.com 链接时使用。拿不到阅读量/点赞/评论/付费内容。 要把主文档改写成公众号推文、或学习维护公众号风格模板,属于写作侧,走"衍生稿撰写"技能,不走本技能。 |
| user-invocable | true |
| placeholder | 贴公众号文章链接,或说公众号名 |
| tools | ["fetchArticle","storeMaterial","wechat_auth_start","wechat_auth_status","wechat_search_mp","wechat_list_articles"] |
| metadata | {"category":"capability","platform":"wechat"} |
微信公众号文章抓取
把公众号文章抓成干净 Markdown 存进本会话素材区。两条路,永远优先走不用登录的那条:
- 路 A · 贴链接直抓:用户给
mp.weixin.qq.com/s... 链接 → 直接抓,零登录零门槛。
- 路 B · 按号搜索:用户只有号名/模糊描述 → 用用户自己的公众号扫码登录后台,搜号→列文→抓。
0. 路径判定(收到请求第一步)
- 消息里有
mp.weixin.qq.com 链接 → 直接走路 A(§1),一个字都不用多问;
- 只有号名/文章描述(如"抓晚点最近讲 AI 那篇")→ 走路 B(§3);
- 意图完全不明(只说"帮我抓篇微信文章")→ 先问一句有没有链接(贴链接免登录,没有则按号搜要扫码)。
路由优先级(重要):只要用户提到"公众号 / 微信文章 / 某某号的文章",本技能就是第一选择,不要默认走联网搜索——
联网搜索只能搜到公开网页的零散结果,本技能能用登录态拿到该号内的文章列表和干净正文,是更对口的路子。
若你拿不准是否该走联网搜索(比如用户像是要"全网关于 X 的讨论"而非"某个号里的文章"),先问一句:
"你是想抓某个具体公众号里的文章(我扫码登录后按号找),还是想全网搜相关内容?"——确认了再走,别默默降级成联网搜索。
路 A 就是调 fetchArticle(它对 mp.weixin.qq.com 已内置微信专用清洗:定位正文、还原 data-src
懒加载配图、删工具栏/引导关注/推荐/赞赏噪声、转干净 Markdown)。别凭空另找抓取方式。
1. 路 A:贴链接直抓(主力)
- 直接对该链接调
fetchArticle(url = 用户给的 mp.weixin.qq.com/s...)。无需登录、无需询问。
- 抓到后务必调
storeMaterial 存进素材区。
- 汇报简短:抓到哪篇(标题)、多少字、几张图、已存素材。
- 失败兜底:链接打不开/正文空 → 先重试一次;再失败如实告知,请用户确认链接在微信里能否正常打开
(可能已删除或仅粉丝/付费可见)。
2. 能力边界(用户问到时如实解释,不装能)
- 阅读量/点赞/在看/评论数:拿不到。只在微信 App 内部接口里,公众平台后台/文章页都没有。
能给的是:标题、发布时间、正文全文、配图。
- 付费/仅粉丝可见内容:拿不到。
- 实时性:非实时,只能按需抓当前可访问的文章。
- 跨号"关键词搜全文":做不到。只能先定位到某个具体公众号,再列它的文章。
3. 路 B:按公众号名搜索(需扫码登录)
用户只给号名/模糊描述时走这里。顺序执行,每轮只做一件事,不跳步。
3.1 先探授权状态
调 wechat_auth_status:
READY → 直接进 §3.3 搜号;
NO_CREDENTIAL → 进 §3.2(首次授权);
EXPIRED → 进 §3.2,但先说一句"上次登录过期了(本地最多保留约 80 小时,微信可能提前要求重新登录),重新扫一次就好"。
3.2 扫码授权
先把前提一次说清、拿到用户同意,再出码(口语化,一件不瞒):
「按公众号名搜索,需要用你自己的公众号(订阅号就行)扫码登录微信后台。三件事提前说:
① 扫码的微信得是某个公众号的管理员,没有的话可以去 mp.weixin.qq.com 免费注册个订阅号;
② 登录态在本地最多保留约 80 小时,微信可能提前要求重新登录,到时重扫即可;
③ 走的是微信后台接口,抓太频繁微信可能临时限制你这个号,我会控制节奏、只抓你点名的文章。
都 OK 的话我就把二维码发给你。」