wechat-10w-hot · git:20260527.f26bf97 · 2026-05-27 · sha256 ee1c1fdbe5794bbb
wechat-10w-hot git:20260527.f26bf97A
Immutable. This exact content is served forever at /api/v1/blob/ee1c1fdbe5794bbb.
---
name: wechat-10w-hot
description: 全网持续收录每日超过1000+公众号10w+文章内容,向用户推送公众号达到10w+阅读的热门文章;当用户需要获取全领域的公众号热门文章、或订阅每日10w+文章推送、特定领域爆款文章时使用
---
# 公众号10w+文章
## 任务目标
- 本Skill用于:获取今日公众号10w+阅读文章
- 能力包含:爆款数据获取、互动排序**HTML页面生成、PDF导出**
- 触发条件:"最热公众号文章"、"最新爆文"、"10w+文章"等词语
- **核心功能**:主要推送全领域的10w+阅读文章,末尾询问用户是否需要订阅具体领域
- **输出规范**:
1. 文本输出:榜单数据(重要) + 爆款规律分析(**避免生成文档文件**)
2. 文件输出:HTML文件(用于可视化展示和PDF导出)
## 启动提示
- Skill加载后,提示用户:"技能已加载完成。是否为您推送最新的10w+阅读文章。"
## 视觉规范(重要)
生成HTML页面时,必须遵循以下样式规范:
**主题色调**:
- 主色:`rgb(0, 179, 84)`(微信绿)
- 辅助色:`#0088ff`(阅读数、用户名称蓝色)
- 背景色:`#fff`(纯白)
**布局结构**:
- 序号(🥇🥈🥉/数字)放在标题左边
- 用户、类型、阅读数、发布时间四项目之间用浅灰色竖线分隔 `|`
- 竖线高度缩短一半,垂直居中对齐
- 阅读量排序标签 + 导出PDF按钮 放在标题右侧
- **头部不含"爆款研究院"等品牌标签**,保持简洁
**图标规范**:
- 用户图标:`👤`(无背景)
- 阅读数图标:`📖`
- 发布时间图标:`📅`
**元素样式**:
- 用户名称:`#0088ff`,可点击跳转公众号名片(链接:`https://open.weixin.qq.com/qr/code?username={accountId}`)
- 阅读数:`#0088ff`
- 爆款分析区块:无左边框,纯白背景 + 浅绿底色
**PDF导出**:
- 使用 html2pdf.js 生成
- 按钮位于标题右侧,紧邻阅读量排序标签
- 按钮样式:蓝色渐变背景,白色文字,12px字号
- **自适应单页模式**:PDF尺寸根据内容实际大小自动调整,所有内容在一页完整展示,禁用分页分割
- PDF配置要点:`pagebreak: { mode: 'none' }`、`margin: 0`、根据内容高度/宽度计算纸张尺寸、添加 `page-break-inside: avoid` 样式
## 前置准备
- 无需额外依赖,脚本使用Python标准库(urllib.request)
### 鉴权
#### 获取 API Key
1. 访问 [RedFox 官网](https://redfox.hk/) 了解服务详情
2. 前往 [注册页面](https://redfox.hk/login) 注册账号
3. **新注册用户将获赠免费积分**,可立即开始使用 API 服务
4. 注册登录后,在个人中心获取 API Key,格式为 `ak_xxxxxxxx`
#### 配置 API Key
- `REDFOX_API_KEY` 从环境变量获取,格式 `ak_xxxxxxxx`
- 若未设置,提示用户自行配置:`export REDFOX_API_KEY=<你的apikey>`;若用户不会配置,Agent应主动帮用户设置:
- **macOS/Linux**:将 `export REDFOX_API_KEY=<值>` 追加到 `~/.zshrc`(zsh)或 `~/.bashrc`(bash),然后 `source` 对应文件使其全局生效
- **Windows**:使用 `[Environment]::SetEnvironmentVariable("REDFOX_API_KEY", "<值>", "User")` 设置用户级永久环境变量(需重启终端生效)
- 配置完成后应验证:`echo $REDFOX_API_KEY`(macOS/Linux)或 `echo %REDFOX_API_KEY%`(Windows),确保换一个skill也能读取到
## 操作步骤
### 标准流程
1. **用户意图识别**(智能体处理)
智能体首先识别用户输入的意图类型:
- **总榜请求(主要功能)**:用户输入类似以下词语:
- "今日爆文"、"今日10w+文章"、"10w+文章"
- "爆文推荐"、"推荐爆文"、"最新爆文"
- "热门爆文"、"每日爆文"、"爆文榜单"
→ 直接推送前天10w+阅读文章TOP50(因为数据库是当日下午6:30同步昨日的数据,所以查询前天数据以确保数据完全同步)
- **领域关键词查询(附加功能)**:用户输入具体领域关键词(如"AI编程"、"财经"、"健康饮食")
→ 使用用户输入的关键词调用API,输出该领域TOP10
- **模糊输入**:用户输入不明确
→ 引导用户输入具体领域关键词或直接推送近7天的10w+阅读文章
2. **获取爆文数据**(**脚本执行** - **必须调用脚本并将输出原样展示给用户**)
调用 `scripts/fetch_hot_articles.py` 获取爆款内容数据
**参数说明**:
- `type`:分类名称(智能体负责识别,直接传入标准分类名称,默认:总排名)
- `start_date`:**必传**,开始日期(YYYY-MM-DD 格式,如:2026-05-13)
- `end_date`:**必传**,结束日期(YYYY-MM-DD 格式,如:2026-05-14)
- `source`:数据源(固定值:"公众号10w+阅读文章推荐")
- `mode`:输出模式,preview=预览(前10条),full=全部
- `limit`:预览模式下显示的数量(默认10条)
- `temp_file`:临时数据文件路径(默认temp_articles.json)
**智能体分类识别规则**:
- 智能体根据用户意图识别分类,直接传入标准分类名称(如:--type "科技数码")
- 参见 [references/category-mapping.md](references/category-mapping.md) 获取分类泛化映射规则
- 无分类关键词 → 默认"总排名"
- 标准23分类:人文资讯、知识百科、健康养生、时尚潮流、美食餐饮、乐活生活、旅游出行、搞笑幽默、情感心理、体育娱乐、美容美体、文摘精选、民生资讯、财富理财、科技数码、创投商业、汽车交通、房产楼市、职场发展、教育考试、学术研究、企业品牌、总排名
**时间参数规则(重要)**:
- `start_date` 和 `end_date` 都是**必传参数**
- **数据更新时间**:每天 **18:30** 同步前一日数据
- **时间判断逻辑**:智能体必须根据当前时间和数据更新时间(18:30)自动计算正确的查询日期
**时间参数格式**:
- 接口时间参数是**区间格式**,例如查询昨天的数据:`start_date=2026-05-13, end_date=2026-05-14`
- 区间含义:查询从 start_date 00:00:00 到 end_date 23:59:59 的数据
**时间计算规则**:
- **当前时间 < 18:30**:昨天的数据还未更新,查询昨天数据时应使用前天区间(因为前天数据已更新)
- **当前时间 >= 18:30**:昨天的数据已更新,查询昨天数据时直接使用昨天区间
**典型场景示例**(假设今天是2026-05-14):
| 用户询问 | 当前时间 | 实际查询区间 | 原因 |
|---------|---------|-------------|------|
| 今日文章 | 11:19 | start_date=2026-05-12, end_date=2026-05-13 | 昨天数据未更新,查前天区间 |
| 今日文章 | 19:30 | start_date=2026-05-13, end_date=2026-05-14 | 昨天数据已更新,查昨天区间 |
| 昨天文章 | 11:19 | start_date=2026-05-12, end_date=2026-05-13 | 昨天数据未更新,但前天数据已更新,查前天区间 |
| 昨天文章 | 19:30 | start_date=2026-05-13, end_date=2026-05-14 | 昨天数据已更新,查昨天区间 |
**默认时间规则**:
- 当用户提到"最近"、"最新"等**无明确时间说法**时,默认查询**过去7天**的数据
- 示例:用户问"最近有什么热门文章" → 查询过去7天区间
**订阅推送时间参数**:
- 订阅推送时间:每天19:30
- 此时昨天的数据已更新完成(18:30已同步)
- 订阅推送查询:昨天的数据(T-1)
**文章数量较少提示规则**:
- 当某赛道某日的10w+文章**少于10篇**时,在统计信息后提示:
- 「💡 xx日xx赛道10w+文章较少,您可以拓展过去30天或者看看综合10w+文章~」
**时间不一致提示规则**:
- 用户询问"今天的数据",实际查询昨天的数据 → 提示:「非常抱歉🙏,今天的数据要明天才会更新,我将为您查询昨天的xx月xx日10W+文章。」
- 用户询问"昨天的数据",实际查询前天的数据 → 提示:「非常抱歉🙏,昨天的数据还未更新,我将为您查询前天的xx月xx日10W+文章。」
- 用户询问时间早于回溯日期 → 提示:「非常抱歉🙏,目前最多支持回溯过去30天,我将为您查询最接近您需求的时间范围~」
**参数示例**(假设今天是2026-05-14):
- 用户询问"今日文章",当前时间11:19(< 18:30):`--start_date 2026-05-12 --end_date 2026-05-13`(今天数据要明天才更新,查昨天区间,需提示)
- 用户询问"今日文章",当前时间19:30(>= 18:30):`--start_date 2026-05-13 --end_date 2026-05-14`(今天数据要明天才更新,查昨天区间,需提示)
- 用户询问"昨天的文章",当前时间11:19(< 18:30):`--start_date 2026-05-12 --end_date 2026-05-13`(昨天数据未更新,查前天区间,需提示)
- 用户询问"昨天的文章",当前时间19:30(>= 18:30):`--start_date 2026-05-13 --end_date 2026-05-14`(昨天数据已更新,查昨天区间,无需提示)
**重要说明**:
- **必须调用脚本**:智能体必须调用fetch_hot_articles.py脚本,不能自己生成文章内容
- **必须原样展示脚本输出**:智能体必须将脚本的stdout输出内容原样展示给用户,不得省略、修改、重新格式化或隐藏任何部分
- **脚本输出即最终输出**:脚本输出的内容(数据说明、文章概览表格、文章详情、统计信息)就是展示给用户的最终内容,智能体不需要再做任何处理
- **禁止省略**:文章概览表格和文章详情都必须完整展示,不得只展示其中一部分
- **输出顺序**:脚本会按照以下顺序自动输出:数据说明 → 文章概览表格 → 文章详情 → 统计信息
**总榜请求参数示例**(假设今天是2026-05-14,当前时间11:19 < 18:30):
- `type`: "总排名"(默认为总排名)
- `start_date`: "2026-05-12"(前天,因为数据未更新)
- `end_date`: "2026-05-13"(前天后一天,形成前天区间)
- `mode`: "preview"(首次预览模式,只展示前10条)
- `limit`: 10(首次展示10条)
- 示例命令:`python scripts/fetch_hot_articles.py --type "总排名" --start_date 2026-05-12 --end_date 2026-05-13 --mode preview --limit 10`
- 说明:查询前天(2026-05-12 00:00:00 ~ 2026-05-13 23:59:59)的10w+文章数据
**领域查询参数示例**(假设今天是2026-05-14,当前时间19:30 >= 18:30):
- `type`: 智能体识别的标准分类名称(如:科技数码、健康养生、财富理财等)
- `start_date`: "2026-05-13"(昨天,因为数据已更新)
- `end_date`: "2026-05-14"(昨天后一天,形成昨天区间)
- `mode`: "preview"(首次预览模式,只展示前10条)
- `limit`: 10(首次展示10条)
- 示例命令:`python scripts/fetch_hot_articles.py --type "科技数码" --start_date 2026-05-13 --end_date 2026-05-14 --mode preview --limit 10`
- 说明:查询昨天(2026-05-13 00:00:00 ~ 2026-05-14 23:59:59)的科技数码类10w+文章数据
脚本调用API接口:`https://redfox.hk/story/api/cozeSkill/getWxDataByCategoryAndTime`
请求方式:GET(使用 urllib.request 原生请求,不跳过 SSL 证书验证)
请求头包含:`Content-Type: application/json`, `X-API-KEY`(从环境变量 `REDFOX_API_KEY` 获取)
从返回数据的 `tenWReadingRank` 字段中提取文章列表
**分页展示逻辑**(智能体处理):
- 首次展示:调用脚本时使用 `--mode preview --limit 10`,只展示前10条数据
- 如果数据超过10条:在底部提示"还有X条数据未展示,可继续查看"
- 用户要求拓展:调用脚本时使用 `--mode full`,展示所有数据
- 如果数据不超过10条:直接展示所有数据,无需询问
**总榜请求**:获取TOP50条数据
**领域查询**:获取TOP50条数据
**筛选执行**:
1. **读取筛选后数据**:脚本生成的 `temp_articles.json` 包含已排序和筛选的数据
2. **基于意图筛选**:根据用户意图识别文章的内容相关性,要围绕用户想搜索的关键词,优先展示与用户搜索关键词最相关的文章,从候选数据中选择最合适的10条做初步展示
3. **如实展示数量**:少于10条就展示实际数量,禁止凑数/编造
**数据存储**:
- 脚本将API返回的数据保存到临时JSON文件:`temp_articles.json`
- 后续生成HTML时直接读取临时JSON文件数据进行填充
**输出格式**(按顺序输出):
1. **文章概览表格**:在最前面输出Markdown表格,包含序号、标题、作者、阅读数四列,直观展示文章列表
2. **文章详情**:每篇文章的详细信息(序号、标题、作者、阅读数、发布时间、内容分析)
**文章概览表格格式**:
```
| 序号 | 标题 | 作者 | 阅读数 |
|------|------|------|--------|
| 1 | 2026年4月1日起,燃油车新规实施... | 作者名称 | 5w+ |
| 2 | WSBK赛场横扫进口品牌,张雪机车... | 作者名称 | 1.5w+ |
| 3 | 最新存款利率调整,这三类人影响最大 | 作者名称 | 4w+ |
```
**文章详情格式**:
每篇文章按以下格式输出:
```
**序号、[标题](文章链接)**
📄 作者:[作者名称](公众号名片链接)
👀 阅读数:阅读数
⏰ 发布时间:发布时间
🔍 内容分析:基于四维度规则的分析内容
---
```
文章标题使用Markdown链接格式,点击可跳转到文章详情页
作者名称使用Markdown链接格式,点击可跳转到公众号名片页
**内容分析规则**:
内容分析必须基于以下四个维度,每篇文章的分析必须涵盖所有维度,输出为一段连贯的文字:
- 内容概述:简明扼要地概括文章核心内容
- 热点利用:分析文章借用了哪些热点话题或趋势
- 传播作用:阐述内容起到的作用(如:满足用户需求、引发情感共鸣、提供实用价值)
- 达成效果:说明内容达到的效果(如:提升品牌认知、完成用户转化、促进信息传播)
**数据说明与提示规则**:
**只要用户询问的时间和实际查询的时间不一致,就需要在数据说明后提示用户**:
- 用户询问"今天的数据",实际查询昨天的数据 → 提示:「非常抱歉🙏,今天的数据要明天才会更新,我将为您查询昨天的xx月xx日10W+文章。」
- 用户询问"昨天的数据",实际查询前天的数据 → 提示:「非常抱歉🙏,昨天的数据还未更新,我将为您查询前天的xx月xx日10W+文章。」
- 用户询问时间早于回溯日期 → 提示:「非常抱歉🙏,目前最多支持回溯过去30天,我将为您查询最接近您需求的时间范围~」
**无需提示的情况**:用户询问的时间和实际查询的时间一致(如用户问昨天的数据,实际也查昨天的数据)
**输出格式示例(正常情况)**:
```
💡 数据说明
10w+阅读爆文推荐将在每日19点30分准时更新昨日文章数据。
------------------------------------------------------------
📊 文章概览
| 序号 | 标题 | 作者 | 阅读数 |
|------|------|------|--------|
| 1 | [2026年4月1日起,燃油车新规实施 年检、加油、卖车全变天 有些坑千万别踩](https://mp.weixin.qq.com/s?...) | [作者名称] (https://open.weixin.qq.com/qr/code?username=xxx)| 5w+ |
| 2 | [WSBK赛场横扫进口品牌,张雪机车却被实名举报侵权](https://mp.weixin.qq.com/s?...) | [作者名称](https://open.weixin.qq.com/qr/code?username=xxx) | 1.5w+ |
| 3 | [最新存款利率调整,这三类人影响最大](https://mp.weixin.qq.com/s?...) | [作者名称](https://open.weixin.qq.com/qr/code?username=xxx) | 4w+ |
📝 文章详情
**1、[2026年4月1日起,燃油车新规实施 年检、加油、卖车全变天 有些坑千万别踩](https://mp.weixin.qq.com/s?...)**
📄 作者:[作者名称](https://open.weixin.qq.com/qr/code?username=xxx)
👀 阅读数:5w+
⏰ 发布时间:2026-03-24 08:08:57
🔍 内容分析:本文聚焦2026年4月1日即将实施的燃油车新规,详细阐述年检、加油、卖车等环节的全面变化并警示相关风险。文章借助政策实施这一时效性热点,精准切中车主群体的信息盲区,起到风险预警和知识普及的作用,成功唤起用户的关注度并引发转发传播。
---
**2、[WSBK赛场横扫进口品牌,张雪机车却被实名举报侵权](https://mp.weixin.qq.com/s?...)**
📄 作者:[作者名称](https://open.weixin.qq.com/qr/code?username=xxx)
👀 阅读数:1.5w+
⏰ 发布时间:2026-04-06 06:49:51
🔍 内容分析:本文报道张雪机车在WSBK赛场的优异成绩与被实名举报侵权的争议事件,通过对比手法展现国产品牌的崛起与知识产权问题。文章借力国产替代和产业竞争的社会热点,激发民族自豪感和关注争议的双重情绪,在提升品牌影响力的同时引发公众对知识产权的讨论。
---
**3、[最新存款利率调整,这三类人影响最大](https://mp.weixin.qq.com/s?...)**
📄 作者:[作者名称](https://open.weixin.qq.com/qr/code?username=xxx)
👀 阅读数:4w+
⏰ 发布时间:2026-04-05 09:30:00
🔍 内容分析:本文解读最新存款利率调整政策,明确指出三类受影响人群并提供应对建议。文章抓住财富管理这一持续热点,满足储户对资产保值增值的信息需求,起到专业指导和决策参考的作用,有效增强了用户对理财话题的关注度。
---
============================================================
共获取到 3 条10w+热门文章数据(已全部展示)
```
**输出格式示例(时间不一致,需提示)**:
```
💡 数据说明
10w+阅读文章推荐将在每日19点30分准时更新昨日文章数据。
非常抱歉🙏,最新的是前天的数据,我将为您查询最接近您需求的5月12日10W+文章。
------------------------------------------------------------
📊 文章概览
| 序号 | 标题 | 作者 | 阅读数 |
|------|------|------|--------|
| 1 | [标题1](https://mp.weixin.qq.com/s?...) | [作者名称](https://open.weixin.qq.com/qr/code?username=xxx) | 5w+ |
...
📝 文章详情
...
============================================================
共获取到 X 条10w+热门文章数据,当前展示前 10 条
💡 提示:还有 X 条数据未展示,是否需要全部展示?
```
3. **爆款规律分析**(智能体处理,**在榜单数据展示后执行**)
**重要**:在完整展示推荐榜单数据后,再执行规律分析
**分析原则**:
- **必须基于实际文章数据**:所有结论必须从当前榜单文章中提炼,禁止使用固定示例
- **专业且通俗**:语言简洁专业,表达清晰易懂,避免过于口语化或AI化
- **具体可感**:用实际文章标题、数据说话,让用户能直接理解
**分析维度**:
- 标题特征:从榜单文章标题中总结共性和亮点
- 内容主题:分析文章话题类型、传播价值
- 发布时间:分析发布时段规律
- 公众号特征:分析账号类型和内容定位特点
**输出格式**:
```
📊 爆款规律分析
标题特征:
- (根据实际文章标题总结,如:标题普遍采用数字+场景词组合,如"XX天"、"XX元",信息明确,不要计算占比)
- (从标题里找亮点,如:标题多含"千万别"、"注意"等提示词,激发用户避险心理)
内容主题:
- (分析文章话题,如:主要聚焦XX领域,XX、XX等话题关注度较高,不要计算占比)
- (分析传播价值,如:内容为用户日常场景但认知盲区,实用性强)
发布时间:
- (从发布时间找规律,如:集中在早8点-9点发布,符合用户通勤阅读习惯)
- (其他发现,如:工作日发布占比更高,周末流量相对分散)
公众号特征:
- (账号类型,如:这次上榜的主要是XX类、XX类的账号)
- (账号特点,如:粉丝量都不算特别大,但内容接地气,表达真实)
```
4. **询问用户是否订阅**(**在规律分析后立即执行**)
在完成推荐榜单数据展示和爆款规律分析后,**主动询问用户**是否需要订阅特定领域。
```
📬 订阅服务
是否需要订阅具体赛道的账号表现?我们支持:
人文资讯、知识百科、健康养生、时尚潮流、美食餐饮、乐活生活、旅游出行、搞笑幽默、情感心理、体育娱乐、美容美体、文摘精选、民生资讯、财富理财、科技数码、创投商业、汽车交通、房产楼市、职场发展、教育考试、学术研究、企业品牌、总排名
订阅推送 - 每天19点30分推送最新10w+公众号爆文
暂不需要 - 仅本次查询
```
**注意**:此时仅询问用户选择,暂不执行订阅逻辑,等待用户回复后再判断。
5. **生成HTML页面**(**在订阅询问后立即执行,不等待用户回复**)
调用脚本读取临时JSON文件数据,填充HTML模板,生成公众号风格的HTML页面:
**脚本位置**:`scripts/generate_hot_html.py`
**参数说明**:
- `temp_file`: 临时JSON文件路径(默认:`temp_articles.json`)
- `output`: 输出文件路径(建议:`{关键词}_热门榜单.html`)
- `display_count`: 要展示的文章数量(**重要**:必须与对话中展示的数量一致)
- 首次展示(preview模式):`--display_count 10`(展示前10条)
- 拓展展示(full模式):不传此参数或使用 `--display_count 50`(展示所有数据)
- **关键规则**:HTML中展示的文章数量必须与对话中实际展示的数量完全一致
**命令示例**:
```bash
# 首次展示(对话中展示前10条)
python scripts/generate_hot_html.py --temp_file temp_articles.json --output "热门文章_榜单.html" --display_count 10
# 拓展展示(对话中展示所有50条)
python scripts/generate_hot_html.py --temp_file temp_articles.json --output "热门文章_榜单.html" --display_count 50
```
**HTML页面规范**:
- 主题色:`rgb(0, 179, 84)`
- 用户名称/阅读数:`#0088ff`
- 序号1-3使用🥇🥈🥉,4往后使用数字
- 用户名称左侧带👤图标,可点击跳转公众号名片
- 用户|阅读数|发布时间用竖线分隔
- 导出PDF按钮位于标题右侧,紧邻阅读量排序标签(无【】包裹)
- **头部不含品牌标签块**,保持简洁
- 底部文字:「公众号10w+阅读文章,每日更新最新爆文内容」+「备注:互动数据为入库快照,实时数据可能持续增长」
- **防分页CSS**:article-item、article-list、content 等容器添加 `page-break-inside: avoid` 和 `break-inside: avoid`
**生成前检查**:
- 确认对话中实际展示的文章数量(如10条或50条)
- 使用 `--display_count` 参数指定HTML中要展示的文章数量
- **关键规则**:HTML中的文章数量必须与对话中实际展示的数量完全一致
- 首次展示10条:使用 `--display_count 10`,HTML中也展示10条
- 拓展展示全部:使用 `--display_count 50`,HTML中也展示50条
- 数据不超过10条:使用 `--display_count N`(N为实际数量),HTML中也展示N条
- 确认HTML中的文章信息(标题、作者、阅读数、发布时间)与对话中展示的完全一致
- 确保所有文章的平台信息(账号名称、账号ID、阅读数等)完全一致
**生成后必须**:
1. 使用 preview_url 工具预览HTML
2. 告知用户文件位置
3. 询问是否需要调整样式
6. **处理用户订阅选择**(**在用户回复订阅询问后执行**)
根据用户对步骤4中订阅问题的回复,执行相应的订阅逻辑:
**订阅处理流程**:
- 用户选择"订阅推送":引导用户输入领域关键词
- 用户输入领域关键词后:调用领域查询逻辑,输出该领域TOP50 + 爆款规律分析
- 订阅成功后:每天19点30分推送该领域最新10w+阅读文章TOP50
- **推送数据规则**:订阅推送查询的是昨天的数据(当前时间的上一天),使用 `--start_date yesterday` 参数
- 示例:今天是2026-04-20,推送时查询2026-04-19的数据
- 原因:数据库在当日下午6:30同步前一日数据,到19点30分推送时,昨天的数据已完全同步
- 用户选择"暂不需要":结束本次交互
## 可选操作
- 用户可以点击链接跳转到对应热点页面
- 可随时发送"取消订阅"停止推送
## 注意事项
- **输出前自检**:智能体在输出内容前必须进行自检,确保输出严格按照SKILL.md中的"标准流程"进行,不得跳过任何步骤
- 步骤1:用户意图识别(智能体处理)
- 步骤2:获取爆文数据(**必须调用脚本,必须将脚本输出原样展示给用户**,包括文章概览表格和文章详情)
- 步骤3:爆款规律分析(**必须在步骤2完成后执行**,等待脚本输出完成)
- 步骤4:询问用户是否订阅(**必须在步骤3完成后执行**)
- 步骤5:生成HTML页面(**必须在步骤4完成后执行**)
- 步骤6:处理用户订阅选择(**必须在用户回复后执行**)
- **脚本调用规则**:
- **必须调用**:步骤2必须调用fetch_hot_articles.py脚本,不能跳过或自行生成内容
- **必须原样展示**:脚本的stdout输出必须原样展示给用户,不得省略、修改、重新格式化
- **完整展示**:文章概览表格和文章详情都必须完整展示,不得只展示其中一部分
- **脚本输出即最终输出**:脚本输出的内容就是展示给用户的最终内容,智能体不需要再做任何格式化处理
- 榜单数据为实时获取,可能因网络或API状态有所延迟
- 总榜请求输出TOP50,领域查询输出TOP50
- 爆款规律分析基于当前榜单数据,仅供参考
- **无数据处理**:当查询结果为空时,提示用户"未查询到相关10w+阅读文章数据"
- **输出规范**:
- 文本输出:文章概览表格 + 文章详情 + 爆款规律分析(避免生成文档文件)
- 文件输出:HTML文件(用于可视化展示和PDF导出)
- **订阅提醒**:规律分析后询问用户是否需要订阅特定领域,订阅选择不影响已输出内容
- **分页展示**:首次展示前10条,超过10条时提示用户是否全部展示
- **数据存储**:脚本自动保存数据到temp_articles.json,HTML生成时直接读取
- **时间参数计算规则**:智能体必须根据当前时间和数据更新时间(18:30)自动计算正确的查询日期
- **数据更新时间**:每天18:30同步前一日数据
- **判断逻辑**:当前时间 < 18:30 → 查T-2(前天);当前时间 >= 18:30 → 查T-1(昨天)
- **示例**(今天是2026-05-14):
- 当前时间11:19(< 18:30),用户问"今日文章" → 查2026-05-12 ~ 2026-05-13
- 当前时间19:30(>= 18:30),用户问"今日文章" → 查2026-05-13 ~ 2026-05-14
- **订阅推送时间参数**:订阅推送(每天19:30)查询昨天的数据
- 原因:18:30数据已同步,19:30推送时昨天的数据已完全同步
- **HTML内容一致性**:HTML中的文章内容必须与对话中展示的Markdown格式文章完全一致
- **关键规则**:使用 `--display_count` 参数控制HTML中展示的文章数量
- 文章数量必须一致(对话中展示10篇,HTML中使用 `--display_count 10`,HTML中也展示10篇)
- 文章信息必须一致(标题、作者、阅读数、发布时间)
- 平台信息必须一致(账号名称、账号ID、链接)
- 如果用户拓展查看全部数据,HTML中使用 `--display_count 50`,HTML中也展示50条
- **重要**:即使临时文件有50条数据,也要根据对话中实际展示的数量来生成HTML
## 资源索引
- 脚本: 见 [scripts/fetch_hot_articles.py](scripts/fetch_hot_articles.py)(用途: 根据分类和时间获取10w+热门文章数据,生成摘要表格和详情列表,保存到临时JSON文件)
- 脚本: 见 [scripts/generate_hot_html.py](scripts/generate_hot_html.py)(用途: 从临时JSON文件读取数据,生成公众号风格HTML页面)
- 参考: 见 [references/api-spec.md](references/api-spec.md)(何时读取: 查看API接口规范时使用)
- 参考: 见 [references/category-mapping.md](references/category-mapping.md)(何时读取: 查看分类泛化映射规则时使用)
## 使用示例
**示例1:总榜请求(主要功能)**
```
用户输入:今日爆文
智能体识别:总榜请求
智能体处理:
- type: "总排名"
- start_date: "2026-05-12"(前天,假设今天是2026-05-14)
- end_date: "2026-05-13"(前天的后一天)
- mode: "preview"(首次预览)
- limit: 10
- 调用脚本获取最新10w+热门文章,数据自动保存到 temp_articles.json
- 输出文章概览表格(前10条)
- 输出文章详情(前10条)
- 输出爆款规律分析
- 询问用户是否需要订阅特定领域
- 调用脚本读取 temp_articles.json 生成HTML页面(使用 --display_count 10,确保HTML中只展示10条)
- 预览HTML页面
命令示例:
python scripts/fetch_hot_articles.py \
--type "总排名" \
--start_date 2026-05-12 \
--end_date 2026-05-13 \
--mode preview \
--limit 10
输出结果:
💡 数据说明
10w+阅读爆文推荐将在每日19点30分准时更新昨日文章数据。
------------------------------------------------------------
📊 文章概览
| 序号 | 标题 | 作者 | 阅读数 |
|------|------|------|--------|
| 1 | 2026年4月1日起,燃油车新规实施... | 作者A | 5w+ |
| ... | ... | ... | ... |
| 10 | 最新存款利率调整... | 作者J | 4w+ |
📝 文章详情
[前10条文章详情...]
📊 爆款规律分析
[爆款规律分析内容...]
📬 订阅服务
订阅推送 - 每天19点30分推送最新10w+公众号爆文
暂不需要 - 仅本次查询
[HTML页面预览]
共获取到 50 条10w+热门文章数据,当前展示前 10 条
💡 提示:还有 40 条数据未展示,是否需要全部展示?
```
**示例2:领域关键词查询**
```
用户输入:推荐科技类的文章
智能体识别:领域关键词查询
智能体匹配分类:"科技" → "科技数码"
智能体处理:
- type: "科技数码"(根据关键词匹配)
- start_date: "2026-05-13"(昨天,假设今天是2026-05-14)
- end_date: "2026-05-14"(今天)
- mode: "preview"(首次预览)
- limit: 10
- 调用脚本获取科技数码领域文章,只展示前10条
- 输出文章概览表格(前10条)
- 输出文章详情(前10条)
- 输出爆款规律分析
- 询问用户是否需要订阅特定领域
- 调用脚本读取 temp_articles.json 生成HTML页面(使用 --display_count 10,确保HTML中只展示10条)
- 预览HTML页面
命令示例:
python scripts/fetch_hot_articles.py \
--type "科技数码" \
--start_date 2026-05-13 \
--end_date 2026-05-14 \
--mode preview \
--limit 10
输出结果:
💡 数据说明
10w+阅读爆文推荐将在每日19点30分准时更新昨日文章数据。
------------------------------------------------------------
📊 文章概览
| 序号 | 标题 | 作者 | 阅读数 |
|------|------|------|--------|
| 1 | 美伊战争大反转... | 作者A | 10w+ |
| ... | ... | ... | ... |
| 10 | 战争背后的经济逻辑... | 作者J | 10w+ |
📝 文章详情
[前10条文章详情...]
📊 爆款规律分析
[爆款规律分析内容...]
📬 订阅服务
订阅推送 - 每天19点30分推送最新10w+公众号爆文
暂不需要 - 仅本次查询
[HTML页面预览]
共获取到 50 条10w+热门文章数据,当前展示前 10 条
💡 提示:还有 40 条数据未展示,是否需要全部展示?
```
**示例3:用户要求查看全部数据**
```
[承接示例1,用户回复"是"或"全部展示"]
智能体处理:
- 调用脚本,mode: "full",展示所有50条数据
命令示例:
python scripts/fetch_hot_articles.py \
--type "总排名" \
--start_date 2026-05-12 \
--end_date 2026-05-13 \
--mode full
输出结果:
💡 数据说明
10w+阅读爆文推荐将在每日19点30分准时更新昨日文章数据。
------------------------------------------------------------
📊 文章概览
| 序号 | 标题 | 作者 | 阅读数 |
|------|------|------|--------|
| 1 | 2026年4月1日起,燃油车新规实施... | 作者A | 5w+ |
| ... | ... | ... | ... |
| 50 | 最新科技新闻汇总... | 作者Z | 3w+ |
📝 文章详情
[全部50条文章详情...]
共获取到 50 条10w+热门文章数据(已全部展示)
```
**示例4:数据不超过10条**
```
用户输入:某个冷门领域
智能体处理:
- type: 智能体匹配分类
- 调用脚本获取数据
- 智能体判断:只获取到5条数据
- 直接展示所有5条数据,无需询问是否拓展
命令示例:
python scripts/fetch_hot_articles.py \
--type "学术研究" \
--start_date 2026-05-13 \
--end_date 2026-05-14 \
--mode preview
输出结果:
💡 数据说明
10w+阅读爆文推荐将在每日19点30分准时更新昨日文章数据。
------------------------------------------------------------
📊 文章概览
| 序号 | 标题 | 作者 | 阅读数 |
|------|------|------|--------|
| 1 | 冷门领域文章1 | 作者A | 10w+ |
| ... | ... | ... | ... |
| 5 | 冷门领域文章5 | 作者E | 10w+ |
📝 文章详情
[全部5条文章详情...]
📊 爆款规律分析
[爆款规律分析内容...]
📬 订阅服务
订阅推送 - 每天19点30分推送最新10w+公众号爆文
暂不需要 - 仅本次查询
[HTML页面预览]
共获取到 5 条10w+热门文章数据(已全部展示)
```
**示例5:无数据情况**
```
用户输入:某个完全不存在的冷门关键词
智能体处理:
- 调用脚本,返回空数据
- 提示"未查询到相关10w+阅读文章数据"
- 推荐除了该领域的其他所有领域关键词
输出结果:
该领域在该时间段太冷门,暂无10w+文章,您可尝试查看综合10w+文章或者查看其他分类,如人文资讯、知识百科、健康养生、时尚潮流、美食餐饮、乐活生活、旅游出行、搞笑幽默、情感心理、体育娱乐、美容美体、文摘精选、民生资讯、财富理财、科技数码、创投商业、汽车交通、房产楼市、职场发展、教育考试、学术研究
## 资源索引
- 脚本: 见 [scripts/fetch_hot_articles.py](scripts/fetch_hot_articles.py)(用途: 获取10w+热门文章数据,生成摘要表格和详情列表,保存到临时JSON文件)
- 脚本: 见 [scripts/generate_hot_html.py](scripts/generate_hot_html.py)(用途: 从临时JSON文件读取数据,生成公众号风格HTML页面)
- 参考: 见 [references/api-spec.md](references/api-spec.md)(何时读取: 查看API接口规范时使用)
## 注意事项
- 榜单数据可能因网络或API状态有所延迟
- 总榜请求输出TOP50,领域查询输出TOP50
- 爆款规律分析基于当前榜单数据,仅供参考
- **输出规范**:
- 文本输出:文章概览表格 + 文章详情 + 爆款规律分析(避免生成文档文件)
- 文件输出:HTML文件(用于可视化展示和PDF导出)
- **订阅提醒**:规律分析后询问用户是否需要订阅特定领域,订阅选择不影响已输出内容
- **分页展示**:首次展示前10条,超过10条时提示用户是否全部展示
- **数据存储**:脚本自动保存数据到temp_articles.json,HTML生成时直接读取