wechat-article-search

当用户明确要求搜索微信公众号文章、公众号推文、某个公众号最近文章,或按关键词查找微信公众号文章时使用本技能。本技能通过搜狗微信搜索返回结构化文章信息,包括标题、摘要、发布时间、来源公众号和链接。

SKILL.md

GitHub

微信公众号文章搜索技能

本技能是一个基于脚本的严格工作流,用于通过搜狗微信搜索查找微信公众号文章,并返回结构化文章信息。

适用场景

仅在用户明确提出以下需求时使用本技能:

  • 搜索微信公众号文章
  • 搜索公众号推文
  • 查看某个公众号最近文章
  • 按关键词查找相关公众号文章
  • 整理微信公众号文章资料
  • 汇总某个主题的公众号文章

典型示例:

  • “帮我搜几篇关于 AI Agent 的公众号文章”
  • “找一下最近关于低空经济的公众号推文”
  • “看看某个公众号最近发了什么”
  • “帮我整理几篇关于数据要素的微信公众号文章”

不适用场景

以下情况不要使用本技能:

  • 泛新闻搜索
  • 普通网页搜索
  • 政策文件检索
  • 法律法规检索
  • 官方网站检索
  • 学术论文检索
  • 本地知识库问答

如果用户要找的是一般新闻、网页、法律法规、政策文件或论文,应优先使用对应的专门技能,而不是本技能。

运行环境要求

运行环境镜像中必须已经预装:

  • Node.js
  • scripts/search_wechat.js 所需的 cheerio 依赖包

依赖应当在沙箱镜像构建阶段提前安装完成。
调用本技能时,不要再执行安装命令。

本技能还要求运行环境具备外网访问能力,因为脚本会向搜狗微信相关页面发起 HTTPS 请求。

脚本位置

默认从技能根目录执行以下脚本:

node scripts/search_wechat.js "关键词"

如果运行环境不能保证当前目录就是技能根目录,应先切换到技能目录,再执行脚本。

默认工作流程

  1. 先判断用户是否明确要搜索微信公众号文章。

  2. 从用户问题中提取搜索关键词。

  3. 执行默认搜索命令:

    node scripts/search_wechat.js "关键词" -n 10
    
  4. 解析脚本返回的 JSON 结果。

  5. 向用户整理输出以下信息:

    • 标题
    • 摘要
    • 发布时间
    • 来源公众号
    • 链接
  6. 如有必要,说明反爬限制、结果为空或链接解析失败等限制情况。

可选命令

1. 获取更多结果

当用户要求返回更多文章时,执行:

node scripts/search_wechat.js "关键词" -n 20

2. 导出结果到文件

当用户明确要求保存或导出结果时,执行:

node scripts/search_wechat.js "关键词" -n 20 -o /mnt/data/wechat_search_result.json

然后将导出的 JSON 文件作为结构化结果文件返回。

3. 解析真实微信文章链接

只有当用户明确要求获取真实微信文章链接时,才执行:

node scripts/search_wechat.js "关键词" -n 5 -r

不要默认启用 -r。
该模式会为每条结果额外发起请求,稳定性更差,也更容易受到反爬限制影响。

参数说明

  • query:搜索关键词,必填
  • -n, --num:返回结果数量,默认 10,最大 50
  • -o, --output:将 JSON 结果保存到文件
  • -r, --resolve-url:尝试将搜狗中间链接解析为真实微信文章链接

输出结构

脚本返回的 JSON 结构如下:

{
  "query": "关键词",
  "total": 10,
  "articles": [
    {
      "title": "文章标题",
      "url": "文章链接",
      "summary": "文章摘要",
      "datetime": "YYYY-MM-DD HH:mm:ss",
      "date_text": "YYYY年MM月DD日",
      "date_description": "原始时间描述或相对时间描述",
      "source": "公众号名称"
    }
  ]
}

输出要求

执行脚本后:

  • 优先输出整理后的结构化结果,不要直接原样倾倒整段 JSON
  • 清楚区分标题、摘要、时间、来源和链接
  • 如果用户要求“筛几篇最相关的”,应优先返回最相关结果
  • 如果用户要求“整理”或“汇总”,应在列出文章信息后再给出简要归纳

失败处理

结果为空

如果结果为空:

  • 提示用户尝试更简单或更具体的关键词
  • 减少特殊符号和标点
  • 说明搜索结果可能受外部页面波动影响

真实链接解析失败

如果使用 -r 后未能成功解析真实微信链接:

  • 说明这是常见情况,通常与反爬限制有关
  • 保留原始搜狗中间链接
  • 不要声称已经成功获取真实微信链接

网络请求失败

如果请求失败:

  • 明确说明外部请求失败
  • 提示用户稍后重试
  • 不要编造文章结果

强制规则

  • 本技能仅用于微信公众号文章搜索任务
  • 不要声称能够覆盖全部微信公众号文章
  • 不要承诺一定能稳定获取真实微信文章链接
  • 调用时不要安装依赖
  • 执行过程中不要修改运行环境
  • 如果有更合适的专门检索技能,不要优先使用本技能