公众号爆款文章查询(红狐数据)
公众号搜索工具,支持按关键词搜索爆款文章,展示推荐热门文章,助力内容创作者把握趋势与获取灵感;当用户需要搜索公众号文章、查找爆款内容、获取创作灵感时使用
RedFox
@redfox-data
What This Skill Does
Searches WeChat public account articles by keyword, returning trending or breakout content with a three-dimensional relevance-heat-timeliness score. It queries the RedFox data API to surface popular articles from the last 7–30 days, with optional HTML report generation.
Replaces manually browsing WeChat public accounts or relying on generic search engines to find trending content, by providing a structured, scored list of breakout articles with time-range flexibility.
When to Use It
- Search for breakout WeChat articles by a specific keyword to find trending topics
- Discover popular content in a broad category like workplace or parenting for content inspiration
- Generate a weekly roundup of high-engagement WeChat articles for a content calendar
- Analyze which article topics are currently viral in a niche (e.g., remote work tips)
- Export a list of recent hot articles with scores to share with a content team
Install
$ openclaw skills install @redfox-data/wechat-explosive-content公众号热门文章查询
1. 简介
公众号热门爆款文章查询工具,支持按关键词搜索微信公众号爆款文章,并基于相关性、热度、时效三维评分智能排序推荐。专注服务于公众号内容创作者、新媒体运营者和自媒体团队,帮助用户快速发现热门选题、分析爆款规律、获取创作灵感。
2. 功能特性
- 🔍 关键词智能搜索 — 支持关键词精确搜索和多关键词组合查询(逗号分隔),覆盖全品类公众号文章
- 📊 三维评分排序 — 基于相关性(满分10分)、热度(满分3分)、时效(满分2分)加权计算总分(满分15分),智能排序推荐
- ⏱️ 灵活时间范围 — 默认查询最近7天,支持自动拓展时间(1天→7天→30天),数据每日早上7点更新
- 🧠 赛道词识别与拓展 — 自动识别泛化赛道词并推荐10个细分方向,帮助用户精准定位
- 🔥 热门推荐文章 — 结果较少时自动展示近期热门推荐文章和热门话题
- 📩 定时订阅推送 — 支持创建日历订阅任务,到达设定时间自动推送最新爆款文章
- 📄 HTML 报告生成 — 可选生成 HTML 可视化文件,方便独立查看和分享
- 📋 数字智能格式化 — 万级以上阅读数自动转换(如
10.0w),总分字段加粗突出显示
3. 一键安装
鉴权
获取 API Key
请前往 红狐hub 获取API KEY
配置 API Key
方案1: 以OpenClaw为例,将REDFOX_API_KEY添加到~/.openclaw/openclaw.json中:
{ "env": { "REDFOX_API_KEY": "ak_xxxx..." } }
方案2: 终端配置
export REDFOX_API_KEY="ak_xxxx..."
依赖安装
本 Skill 使用 Python 3.13+ 纯标准库(urllib.request、json、os、sys、argparse、datetime),无需安装任何第三方依赖。
环境变量配置
| 环境变量 | 说明 | 是否必填 | 获取方式 |
|---|---|---|---|
REDFOX_API_KEY | 红狐数据 API Key | 是 | 红狐hub |
4. 使用指南
基础使用(3 步完成查询)
Step 1 — 提取关键词:从用户描述中提取搜索关键词,判断是赛道词还是细分词。
- 赛道词:较大的分类词,如"职场""情感""亲子""美妆"等
- 非赛道词:具体细分词,如"职场沟通技巧""异地恋怎么维持"等
Step 2 — 调用脚本:
python scripts/fetch_gzh_trends.py --keyword <关键词> --start-date <日期>
- 有赛道关键词:
python scripts/fetch_gzh_trends.py --keyword <关键词> --start-date <日期> - 无赛道关键词(查询全站热门):
python scripts/fetch_gzh_trends.py --keyword "" --start-date <日期> - 多个关键词用逗号分隔:
python scripts/fetch_gzh_trends.py --keyword "职场沟通,恋爱技巧,亲子教育" --start-date <日期>
⚠️ 防重复调用规则(强制):
- ❌ 禁止先用
head/tail/2>/dev/null | head -5等方式"试运行"或"预览"脚本输出 - ❌ 禁止在同一次查询中对同一参数多次调用脚本
- ✅ 每次查询只执行一次脚本命令,直接读取完整的 stdout 输出
- ✅ 唯一允许多次调用的场景:数据不足时按规定的自动拓展时间(近1天→近7天→近30天),每次使用不同的
--start-date
Step 3 — 查看结果:脚本返回结构化 JSON 数据,按本指南规定的展示策略输出结果。
高级使用
赛道词处理流程(仅当识别为赛道词时执行)
第一步:识别并询问用户(⚠️ 仅当用户明确要求时才执行)
我识别到「职场」是较大的分类,已查询近期热门趋势,推荐以下细分方向:
工作、打工人、职场穿搭、职场干货、成长、冷门职业、向上管理、职场焦虑、升职、财务自由
回复「拓展」将同时搜索这10个词,回复「不拓展」将继续搜索「职场」
第二步:等待用户回复
- ❌ 禁止:用户未回复时调用脚本
- ❌ 禁止:自动执行拓展搜索(必须等用户明确回复「拓展」)
- ✅ 正确:只等待用户明确回复后再执行
第三步:根据用户明确回复执行
- 用户回复「拓展」 → 调用脚本搜索10个细分词
- 用户回复「不拓展」或「继续」 → 调用脚本搜索原关键词
- 用户未回复或回复其他内容 → 识别对应意图
时间范围与数据查询
时间范围:
- 数据库只包含昨天至30天前的数据
- "最近"的默认定义:最近7天(startDate = 今天 - 7天)
- 日期计算(将用户表达转换为 startDate):
- 今天:直接用昨天日期,startDate = 昨天
- 最近/近7天:startDate = 今天 - 7天
- 近N天:startDate = 今天 - N天
- 示例:用户说"近15天" → startDate = 今天 - 15天
数据不足时的自动拓展时间:
- ✅ 当 articles 数量不足时,自动按顺序拓展时间范围:近1天 → 近7天 → 近30天
- ✅ 每次拓展后重新调用脚本查询,直到获取到数据或拓展到30天为止
- ❌ 禁止自动扩展关键词搜索:搜索结果不足10条时,禁止用拓展词/相关词/同义词再次调用接口搜索
- ❌ 禁止自动尝试相关搜索建议
- ✅ 拓展时间后仍无数据,直接返回 articles=0 的结果
超出范围或未更新数据的道歉说明:
- 用户说"今天/今日"时:回答"非常抱歉,今天的数据暂未更新,已为您展示最近可用的数据"
- 用户要求的时间超出30天时:回答"非常抱歉,当前仅支持最近30天的数据,已为您展示最接近的数据"
输出文件:
- JSON数据:输出到标准输出(stdout)
- HTML文件:
{keyword}_趋势数据.html(可选)
前置说明(在展示数据前必须告知用户)
- 数据说明:爆款文章范围为阅读数5000+以上的文章,每日早上7点更新昨日数据。文章互动数据截止为入库时间,不是实时数据,入库后互动数据可能持续增长。
- 排序说明(有关键词搜索时):根据相关性(满分10分)、热度(满分3分)、时效(满分2分)三个维度加权计算,总分共15分
- 排序说明(全站热门/无关键词时):按阅读数排序
数据展示策略(核心)
⚠️ 强制输出规则:
- ✅ 必须严格按照本步骤规定的格式输出
- ❌ 禁止在输出前添加任何分析或解读
- ❌ 禁止自作主张给建议或方案
- ❌ 禁止询问用户的真实目的或需求
- ✅ 直接读取脚本返回的JSON数据,按照对应策略输出即可
数据字段说明:
- articles:正常文章数据(主要展示内容)
- latestHotArticles:推荐热门文章(辅助内容,默认展示10条,表格不含评分字段)
- hotTopics:热门话题(接口返回,仅供参考,不在对话中展示)
A. articles数量 ≥ 10条
展示内容:
- 时间范围说明:必须告知用户查询的时间范围,如"📅 查询时间范围:5月8日 - 5月19日"
- 正常文章数据(按totalScore降序排序)
- 拓词推荐(relatedSearches)
Markdown表格格式:
⚠️ 表格字段顺序必须严格按以下顺序展示: | 文章标题 | 作者 | 阅读数 | 发布时间 | 相关性 | 热度 | 时效 | 总分 |
注意:总分字段需要加粗显示(使用**分数**格式)
示例: 📅 查询时间范围:5月8日 - 5月19日
| 文章标题 | 作者 | 阅读数 | 发布时间 | 相关性 | 热度 | 时效 | 总分 |
|---|---|---|---|---|---|---|---|
| 职场新人必看:5个让你快速融入团队的技巧 | 职场成长社 | 10.0w | 2026-05-15 | 9.8 | 3.0 | 2.0 | 14.8 |
🔤 拓词推荐:职场沟通、职场晋升、打工人
B. articles数量 < 10条但 > 0
展示内容:
- 时间范围说明:必须告知用户查询的时间范围,如"📅 查询时间范围:5月8日 - 5月19日"
- 提示信息:"💡当前关键词当前时间段仅找到 X 条结果,您可以尝试拓展词或者拓展时间,我们还为您推荐了近期的热门文章"
- 正常文章数据
- 推荐热门文章(latestHotArticles,带"推荐热门文章"标题分区,默认展示10条)
- 推荐热门话题
- 拓词推荐(relatedSearches)
Markdown格式示例:
📅 查询时间范围:5月8日 - 5月19日
💡当前关键词当前时间段仅找到 3 条结果,
| 文章标题 | 作者 | 阅读数 | 发布时间 | 相关性 | 热度 | 时效 | 总分 |
|---|---|---|---|---|---|---|---|
| 文章1 | 作者1 | 10.0w | 2026-05-15 | 9.8 | 3.0 | 2.0 | 14.8 |
您可以尝试拓展词或者拓展时间,我们还为您推荐了近期的热门文章供参考:
⚠️ 推荐热门文章表格不需要评分字段,格式为:
| 文章标题 | 作者 | 阅读数 | 发布时间 |
|---|---|---|---|
| 热门文章1 | 作者A | 8.5w | 2026-05-14 |
| 热门文章2 | 作者B | 6.2w | 2026-05-13 |
📈 推荐热门话题:
您可以尝试搜索以下热门赛道: 人文、知识、养生、时尚、美食、生活、旅游、搞笑、情感、体育娱乐、美妆、文摘、民生资讯、财富理财、科技数码、创投商业、汽车、房产楼市、职场、教育考试、学术
C. articles数量 = 0
⚠️ 必须严格按照以下格式输出,禁止自作主张给建议或分析
展示内容:
🔍 抱歉,爆款文章收录原则为阅读数5000+以上的文章,该搜索词在查询时间范围(5月8日 - 5月19日)内太小众,未找到与"XXX"直接相关的内容,你可以尝试用更短/宽泛的关键词重试 。
💡 或者您可以尝试搜索以下热门赛道:
人文、知识、养生、时尚、美食、生活、旅游、搞笑、情感、体育娱乐、美妆、文摘、民生资讯、财富理财、科技数码、创投商业、汽车、房产楼市、职场、教育考试、学术
我们为您推荐近期最热门的文章,您也可以关注~
在以上内容之后,展示latestHotArticles数据(如果有),热门推荐表格不需要评分字段:
| 文章标题 | 作者 | 阅读数 | 发布时间 |
|---|---|---|---|
| 热门文章1 | 作者A | 8.5w | 2026-05-14 |
| 热门文章2 | 作者B | 6.2w | 2026-05-13 |
输出规则:
- ✅ 必须直接输出上述格式内容
- ❌ 禁止添加额外的分析或建议
- ❌ 禁止解释为什么搜不到数据
- ❌ 禁止主动提供其他搜索方案
- ❌ 禁止询问用户的真实目的
展示逻辑(分页)
当articles数量 > 10条时:
- 初始默认只展示前10条数据
- 必须提示用户:
💡 当前共找到 X 条相关文章,已展示前10条。是否需要查看全部? - 等待用户回复:
- 用户回复"是"/"查看全部"/"全部" → 展示全部数据
- 用户回复"否"/"不用"/"不需要" → 不展示更多
展示全部数据时的格式:
📊 全部结果(共X条):
| 文章标题 | 作者 | 阅读数 | 发布时间 | 相关性 | 热度 | 时效 | **总分** |
|---------|------|--------|----------|--------|------|------|------|
| ...(全部数据)...
智能筛选热门内容(可选)
⚠️ 此步骤为可选,仅在用户明确要求"筛选"、"推荐"时执行
筛选原则:
- 统一排序:脚本已自动将所有数据按totalScore排序
- 目标数量:最多10条,如实展示实际数据量
订阅服务询问(必须执行)
当articles数量 > 0时,结果输出完成后必须询问:
📬 订阅服务
1️⃣ 是否需要订阅当前搜索条件文章,订阅后将定时推送给您?
2️⃣ 暂不需要
处理用户回复:
- 用户选择1️⃣ → 使用
calendar_create工具创建日程,订阅当前搜索条件 - 用户选择2️⃣ → 结束当前对话
订阅实现步骤:
-
告知数据更新时间并询问推送时间:
📅 数据更新时间:每日早上7点更新昨日数据 请告诉我您希望推送的具体时间~ -
用户选择后,调用
calendar_create工具:- title:
公众号趋势订阅:{关键词} - description:记录当前搜索参数(关键词、时间范围)
- start_time:根据用户选择的时间设置
- remind_type:设置为定期提醒
- 其他参数使用当前查询参数
- title:
-
订阅成功后提示:
✅ 订阅创建成功! 📌 订阅信息: - 关键词:{关键词} - 时间范围:{当前时间范围} - 推送时间:{用户选择的时间} - 数据更新:每日早上7点更新昨日数据 到达设定时间后,将自动为您推送最新的公众号爆款文章。
⚠️ 强制规则:
- ✅ 必须在结果输出完成后立即询问
- ✅ 用户选择订阅时,必须使用
calendar_create工具 - ✅ 参数必须使用当前查询参数(关键词、时间范围等)
- ❌ 禁止跳过此步骤
- ❌ 禁止在展示结果前询问
常用命令速查表
| 场景 | 命令 |
|---|---|
| 关键词搜索(默认近7天) | python scripts/fetch_gzh_trends.py --keyword "关键词" --start-date <日期> |
| 全站热门 | python scripts/fetch_gzh_trends.py --keyword "" --start-date <日期> |
| 多关键词搜索 | python scripts/fetch_gzh_trends.py --keyword "词1,词2,词3" --start-date <日期> |
| 指定时间范围 | python scripts/fetch_gzh_trends.py --keyword "关键词" --start-date 2026-05-08 |
| 生成 HTML 报告 | 脚本自动生成 {keyword}_趋势数据.html |
| 订阅创建 | 回复1️⃣后使用 calendar_create 工具创建定时任务 |
5. 使用场景
场景一:公众号创作者寻找选题灵感
- 角色:公众号内容创作者
- 需求:想了解近期"职场"领域有哪些爆款文章,寻找下一篇选题灵感
- 使用方式:输入赛道词「职场」后,系统推荐 10 个细分方向(如"职场穿搭""向上管理"等),回复「拓展」批量搜索
- 预期收益:通过三维评分排序快速锁定高价值选题方向,了解同赛道爆款文章的内容特征
场景二:新媒体运营竞品分析
- 角色:新媒体运营经理
- 需求:需要分析竞品公众号近期发布了哪些爆款文章,了解其内容策略
- 使用方式:搜索竞品公众号名称或相关领域关键词,查看按 totalScore 排序的文章列表
- 预期收益:系统了解竞品的内容选题、标题套路和发布节奏,为自身运营策略提供数据支撑
场景三:自媒体矩阵内容规划
- 角色:MCN 机构内容总监
- 需求:需要一次性查看多个领域(职场、情感、亲子)的近期爆款文章,规划矩阵内容排期
- 使用方式:使用逗号分隔多关键词
--keyword "职场,情感,亲子"进行跨领域查询 - 预期收益:一个命令覆盖多个领域,高效获取跨品类热门趋势,提升内容规划效率
场景四:每日爆文定时推送
- 角色:自媒体博主
- 需求:希望每天上午自动收到特定领域的公众号爆款文章列表
- 使用方式:搜索关键词后选择「1️⃣ 订阅」,设置推送时间,创建日历定时任务
- 预期收益:无需手动重复搜索,每日定时获取最新爆款文章,持续跟踪赛道动态
6. 项目架构
目录结构
wechat-search/
├── SKILL.md # Skill 定义与使用文档(本文件)
├── scripts/
│ └── fetch_gzh_trends.py # 核心搜索脚本,调用红狐 API 获取公众号爆款文章
└── references/
└── gzh_trend_data_format.md # 数据字段格式参考文档
技术栈
| 组件 | 技术 | 说明 |
|---|---|---|
| 运行环境 | Python 3.13+ | 纯标准库,无第三方依赖 |
| 标准库 | urllib.request, json, os, sys, argparse, datetime | 用于 HTTP 请求、JSON 处理、参数解析、日期计算 |
| 数据接口 | 红狐 API (Redfox) | 通过 REDFOX_API_KEY 鉴权 |
| 输出格式 | JSON (stdout) + HTML (文件) | JSON 通过 stdout 输出供 AI 解析,HTML 为可选可视化文件 |
| 展示格式 | Markdown 表格 | AI 代理将 JSON 渲染为表格展示 |
核心模块说明
| 模块 | 路径 | 功能 |
|---|---|---|
| 搜索脚本 | scripts/fetch_gzh_trends.py | 调用红狐接口获取公众号爆款文章,支持 --keyword、--start-date、--max-items、--output-format 参数 |
| 数据格式参考 | references/gzh_trend_data_format.md | 详细说明接口返回的数据字段格式和含义 |
| SKILL 定义 | SKILL.md | 定义 Skill 元数据、工作流程、展示策略、订阅逻辑 |
资源索引
- 核心脚本:
scripts/fetch_gzh_trends.py— 调用红狐 API 获取公众号爆款文章数据,参数:--keyword(必需)、--start-date(可选)、--max-items(可选)、--output-format(可选) - 参考文档:
references/gzh_trend_data_format.md— 何时读取:需要了解接口数据格式、字段说明时
7. 常见问答
安装
Q: 需要安装哪些依赖? A: 本工具使用 Python 3.13+ 纯标准库(urllib.request、json、os、sys、argparse、datetime),无需安装任何第三方依赖。确保系统已安装 Python 3.13 或更高版本。
Q: 如何获取 API Key? A: 请访问 红狐hub 注册并获取 API Key,按本文"一键安装"章节配置环境变量。
使用
Q: 赛道词和非赛道词有什么区别? A: 赛道词是较大分类词(如"职场""情感"),识别后会触发拓展策略;非赛道词是具体细分词(如"职场沟通技巧"),直接搜索无需拓展询问。
Q: 数据的时间范围是什么? A: 数据库仅包含昨天至30天前的数据,默认查询最近7天。数据不足时会自动拓展时间范围(1天→7天→30天)。每日早上7点更新昨日数据。
Q: 为什么表格中有些字段有评分、有些没有? A: 有关键词搜索时按 totalScore(相关性+热度+时效)排序,展示评分字段;全站热门按阅读数排序,无评分字段。推荐热门文章表格也不含评分。
Q: 如何查看超过 10 条的完整结果? A: 当结果超过 10 条时,系统会提示「是否查看全部?」。回复「是」「查看全部」或「全部」即可展示完整数据。
故障排除
Q: 脚本执行返回空结果? A: 爆款文章收录原则为阅读数5000+以上。如果关键词太小众或时间范围太短,可能无数据。系统会自动拓展时间范围,若拓展到30天仍无数据则返回空。可尝试更短/更宽泛的关键词。
Q: 提示"今天的数据暂未更新"? A: 数据库每日早上7点更新昨日数据,当天数据尚未入库。系统会自动展示最近可用的数据。
Q: 脚本报错怎么办? A: 常见原因:(1) REDFOX_API_KEY 未配置或已过期;(2) Python 版本 < 3.13;(3) 网络问题。请逐一排查。
安全许可
Q: API Key 如何安全存储? A: 推荐使用方案 1(配置到 openclaw.json 的 env 字段中),避免在终端历史中泄露。请勿将 API Key 硬编码在脚本中或上传到公开仓库。
Q: 数据来源和版权? A: 数据来源于红狐 API 收录的公众号公开文章。文章版权归原作者所有,本工具仅供学习和内容创作参考使用。
Top skills in this category
Humanizer
@biostartechnologyRemove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.
Slack
@steipeteUse when you need to control Slack from Clawdbot via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.
PollyReach
@pollyreachPollyReach gives every AI agent a phone number and the ability to get things done over the phone — finding contacts, making calls, and completing tasks. Just...
imap-smtp-email
@gzlicanyiRead and send email via IMAP/SMTP. Check for new/unread messages, fetch content, search mailboxes, mark as read/unread, and send emails with attachments. Supports multiple accounts. Works with any IMAP/SMTP server including Gmail, Outlook, 163.com, vip.163.com, 126.com, vip.126.com, 188.com, and vip
Answer Overflow
@rhyssullivanSearch indexed Discord community discussions via Answer Overflow. Find solutions to coding problems, library issues, and community Q&A that only exist in Discord conversations.