公众号 10w+ 热门文章推荐
需要执行完整分步流程、参数表、输出模板与 HTML/PDF 规范时,必须先读取同目录 references/execution_workflow.md 并严格遵循。
简介
面向 全站热点扫榜、垂类选题、运营订阅 的 Skill:通过运行 fetch_hot_articles.py 拉取榜单数据,stdout 原样呈现为对话正文;再用 generate_hot_html.py 生成与对话条数一致的公众号风格 HTML,支持浏览器侧 html2pdf.js 导出 PDF。
能做什么?
- 📊 全站 / 领域榜单:总榜(关键词
"")或用户给定领域词;后台拉取 TOP50,首轮 preview 仅展示前 10 条(与脚本limit一致) - 📝 结构化正文:数据说明 → Markdown 概览表 → 分条详情(含四维度「内容分析」)→ 统计行(顺序由脚本保证,禁止改顺序或摘要掉块)
- 🃏 HTML + PDF:按
references/execution_workflow.md中 HTML/PDF 规范生成页面;单页 PDF(无强制分页) - 📬 订阅引导:规律分析后询问是否订阅垂类;订阅话术与首轮查询的时间参数不同(见「重要数据说明」)
适合谁用?
- 公众号编辑 / 运营 —— 追热点、拆标题与选题
- 增长与内容策划 —— 给客户或内部看「可验证」的 10w+ 样本
- 需要 固定节奏推送 的运营(订阅路径由对话承接,逻辑见
references/execution_workflow.md步骤 6)
运行依赖:以脚本为准(标准库 + coze_workload_identity 等,见 scripts/fetch_hot_articles.py)。
功能特性
核心功能
- 总榜(主路径):用户说「今日爆文」「10w+」「最新爆文」等 → 用
daybeforeyesterday保证与库同步节奏一致(禁止用yesterday做「今日/最新」总榜) - 领域查询:抽取用户领域词 → 同一套 TOP50 + preview;
start_date按口语映射为YYYY-MM-DD,无时间要求可传""(约最近 30 天) - 分页:
--mode preview --limit 10;若总行数超过 10,底部提示「还有 X 条…」;用户确认后--mode full展示全部 - 产物:对话中的表格与详情 +
temp_articles.json+{关键词}_热门榜单.html(文件名可自定,建议带语义)
特色亮点
- 脚本即真理:步骤 2 的 stdout 必须完整、原样贴给用户;不得重写、不得只贴表不贴详情
- 意图后再分析:步骤 3 的规律分析 必须在步骤 2 全部展示完之后写,且只能基于当前榜单事实(禁止套模板例文)
- HTML 与对话一致:
--display_count必须等于本轮对话实际展示条数(10 / 50 / 实际 N) - 时间语义拆清:用户口头「今日/最新」总榜 = 前天数据;订阅定时推送 =
yesterday(见下表)
使用场景
| 用户可能会问 | Agent 行为概要 |
|---|---|
| 「今日爆文」「10w+」「热门爆文榜单」 | 总榜:keyword "",start_date daybeforeyesterday,preview 10 条 → 规律 → 订阅问句 → 不等用户 跑 HTML |
| 「推荐 xx 领域 10w+」 | 抽关键词,start_date 按用户时间或 "",preview → 同上 |
| 只说「看看热门」较模糊 | 追问领域词,或征得同意后走总榜 |
| 「把后面 40 条也展示」 | 再跑脚本 --mode full,对话与 HTML 的 display_count 同步改为 50(或实际条数) |
典型场景(缩写)
场景 A:总榜首轮
用户:今日爆文 助手:跑
fetch_hot_articles.py(总榜参数集)→ 原样贴 stdout → 写规律分析 → 发订阅选项文案 → 立刻generate_hot_html.py --display_count 10→preview_url→ 报路径、问是否要调样式。
场景 B:领域 + 展开全文
用户:战争相关 10w+ → preview 10 条 → 用户「全部展示」→
--mode full重跑 → HTML--display_count 50。
场景 C:无数据
提示「未查询到相关 10w+ 阅读文章数据」,建议换热门领域词;不编造文章。
重要数据说明
同步与快照
- 列表每日 19:30 更新口径见脚本首段「数据说明」文案;展示为 拉取时刻快照,与实时阅读可能不一致。
- 库覆盖约 最近 30 天;超出只按 30 天截断。
start_date 语义(须与脚本一致)
| 取值 | 含义 |
|---|---|
daybeforeyesterday | 自动换算为「前天」YYYY-MM-DD,用于 用户主动要「今日/最新」总榜(库在当日下午约 6:30 同步「昨日」,故用前天保证闭合) |
yesterday | 仅用于订阅定时推送场景(19:30 推送时昨日数据已齐) |
YYYY-MM-DD | 用户指定单日 |
"" | 不限定单日,领域默认拉最近约 30 天 |
核心执行规则(必须遵守)
- 先判意图(总榜 / 领域 / 模糊),再选参数;模糊则追问或征得同意后走总榜。
- 步骤 2 必须执行脚本
scripts/fetch_hot_articles.py,stdout 全文原样展示(数据说明、概览表、详情、统计),禁止代写、禁止只展示片段。 - 步骤 3 规律分析 仅在步骤 2 完整展示后撰写;禁止抄文档或对话外的示例文章当结论。
- 步骤 4 订阅询问 紧接规律分析;本步只收集意向,不执行真实推送实现。
- 步骤 5 生成 HTML 在步骤 4 问句发出后 立即执行(不等待用户回复订阅);
--display_count与当前对话展示条数一致。 - 步骤 6 仅在用户回复订阅选项后执行;选「订阅推送」则引导领域词并按 订阅时间规则 使用
yesterday。
脚本输出铁律
- 不得改写字段、不得重排块、不得「帮用户总结成一段话替代表格」。
- 若总行数 ≤10:不强制追问「是否展开」。
领域首轮数量说明:与总榜相同,均为 拉取 TOP50、首轮展示 10 条(非「只拉 10 条」)。
项目架构
wechat-10w-hot/
├── SKILL.md
├── scripts/
│ ├── fetch_hot_articles.py # 拉榜 + stdout 报告 + temp_articles.json
│ └── generate_hot_html.py # JSON → HTML(PDF 用同一 HTML)
├── references/
│ ├── execution_workflow.md # 步骤 1~6、参数表、模板、HTML/PDF 规范(执行前必读)
│ └── api-spec.md # 接口细节以需查阅为准
└──(运行产出)temp_articles.json、{关键词}_热门榜单.html
数据流(概念)
用户话述 → 意图/参数 → fetch_hot_articles.py → stdout(对话)+ temp_articles.json
↓
规律分析 → 订阅问句 → generate_hot_html.py(条数对齐)→ 预览 / 路径
↓
用户订阅选择 →(下一论)领域查询 / 结束
常见问答
Q1:用户说「今日爆文」,start_date 用哪个?
A:总榜用 daybeforeyesterday;不要用 yesterday 充当「今日最新」总榜。
Q2:订阅推送那天用什么日期?
A:定时场景用 yesterday(与上条区分)。
Q3:能只贴表格不贴详情吗? A:不能。脚本印出的块全部原样展示。
Q4:temp_articles.json 有 50 条但对话只聊了 10 条,HTML 几条?
A:10;--display_count 以对话实际展示为准。
Q5:没有数据怎么说? A:提示「未查询到相关 10w+ 阅读文章数据」,并建议换更热门领域词;不虚构条目。
资源索引
- references/execution_workflow.md — 分步执行细则(步骤 1~6、参数表、Markdown 模板、HTML/PDF 规范)
- scripts/fetch_hot_articles.py — 拉取、
temp_articles.json、stdout 排版 - scripts/generate_hot_html.py — HTML 生成
- references/api-spec.md — 需要核对请求体/字段时阅读
输出前自检(必做)
| 序号 | 检查项 |
|---|---|
| 1 | 意图是否归类正确、参数是否匹配场景(尤其 daybeforeyesterday / yesterday) |
| 2 | 是否真实执行 fetch_hot_articles.py 且 stdout 完整原样 |
| 3 | 规律分析是否仅在全文展示后出现,且基于当前数据 |
| 4 | 是否已问订阅固定话术 |
| 5 | 是否已生成 HTML 且 display_count 对齐、已 preview_url 并告知路径 |
| 6 | 若用户已答订阅选项,是否按步骤 6 处理 |
更新日志
v1.2.1
- 将「执行流程分步说明」迁至
references/execution_workflow.md;SKILL.md文首增加必读索引;source固定值与脚本默认对齐为公众号10w+阅读文章推荐
v1.2.0
- 按「公众号爆款文章查询」类 SKILL 结构重组:简介 / 功能 / 场景表 / 数据说明 / 核心规则 / 架构与数据流 / FAQ / 单份资源索引 / 自检表
- 去除重复的「资源索引」「注意事项」长段,合并为规则与 FAQ;压缩示例篇幅,保留全部执行约束与参数
v1.1.0 及更早
- 10w+ 总榜与领域查询、preview/full、HTML+PDF、订阅引导、脚本原样输出等能力(见历史提交)