全网热点追踪
任务目标
- 本 Skill 用于:聚合抖音、微博、B站、快手、知乎、头条、百度等多个平台的热点数据,提供跨平台热点分析和趋势预测
- 核心价值 解决内容创作者、市场运营者在热点追踪中的三大痛点: 热点分散难整合:无需逐个平台查看,一次聚合7大平台热榜 跨平台对比困难:自动识别同一事件在不同平台的讨论差异和热度表现,对热点进行快览分析 趋势判断模糊:基于热度值、上榜时长、平台覆盖等维度智能预测热点走势 订阅推送服务:定时推送最新热榜/昨日热榜
- 触发条件:用户查询"热点榜"、"今日热点"、"全网热点榜"、"昨日热榜"或订阅推送服务
- 不支持:该技能不支持查询特定热词详情,仅提供全网热点榜聚合查询
核心能力 功能模块 能力描述 核心价值 🔍 全网热榜聚合 实时抓取7大平台热搜数据 一键获取全网热点,告别逐平台查看 🔗 跨平台事件识别 智能识别同一事件在不同平台的表述 自动归并相似话题,避免重复统计 📊 热度趋势预测 基于热度值、时长、平台覆盖预测走势 提前判断热点生命周期,把握创作窗口 📈 TOP10榜单提供 按综合热度排序输出TOP10热点 快速定位高价值选题 💬 跨平台讨论分析 展示不同平台的讨论焦点和差异 深度洞察舆论生态,精准定位受众 ⏰ 订阅推送服务 定时推送最新热榜/昨日热榜 持续追踪热点动态,不错过关键机会
前置准备
- 依赖说明:scripts脚本依赖 python-dateutil 库
鉴权
获取 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..."
操作步骤
- 标准流程:
-
获取热点数据 — 脚本调用
- 脚本调用:
python scripts/fetch_hotspot.py --source "全平台热点事件" - 参数说明:
--source(必传):数据来源--platforms(可选):平台代码列表,多个平台用逗号分隔,如--platforms "wb,dy,bz"--keywords(可选):关键词列表,多个关键词用逗号分隔,如--keywords "体育,足球"--expand-keywords(可选):是否对关键词进行泛化扩展,如用户搜"体育"会自动扩展为["体育", "足球", "篮球", "运动", "健身", "奥运", "世界杯", "NBA", "CBA", "乒乓球"]--start-date/--end-date(可选):时间范围--output(可选):输出格式,默认为compact(极简输出+文件保存),可选json、markdown
- 【重要】输出格式说明:
- compact模式(默认):输出极简结构化数据(元信息+平台TOP3概览),末尾附带完整数据文件路径
dataFile: {path} - 智能体应该使用compact模式获取数据,避免输出被截断
- 【重要】只允许调用 1 次接口:从 compact 输出末尾的
dataFile路径读取完整 JSON 数据,禁止再用 json 模式重调接口 - 如需查看完整数据,读取 compact 输出的 dataFile 路径对应文件
- compact模式(默认):输出极简结构化数据(元信息+平台TOP3概览),末尾附带完整数据文件路径
- 返回数据结构见下方"数据结构说明"
- 脚本调用:
-
对话中输出报告文本 — 智能体根据JSON数据处理后,在对话中输出Markdown格式的报告文本
-
必须执行:完整输出报告文本
-
【重要】必须严格按照输出模板格式输出,不得擅自修改格式
-
【重要】智能输出规则:
- 如果某平台没有热点数据(hotspots为空或不存在),则不展示该平台
- 如果某平台数据少于10条,则展示实际数量(如只有5条就展示5条)
- 查看更多引导根据实际剩余数据动态生成:
- 数据≤10条:不显示查看更多引导
- 数据>10条:显示"该平台还有{N}条数据未展示"
-
输出格式模板(必须严格遵守):
# 🔥 全网热点榜(按平台分类) > **📅 统计时间:** 小时级更新,热点上榜时间为{start_time}至{end_time} > **📊 覆盖平台:** {实际有数据的平台列表} --- ## 百度热点 | 排名 | 热点 | 热度 | | :--: | ------------------- | :------: | | 1 | [{热点标题}]({url}) | {热度}万 | | 2 | [{热点标题}]({url}) | {热度}万 | | 3 | [{热点标题}]({url}) | {热度}万 | | ... | ... | ... | | 10 | [{热点标题}]({url}) | {热度}万 | 💡 该平台还有40条数据未展示,回复「查看百度完整榜单」可查看全部数据。 --- ## 知乎热点 | 排名 | 热点 | 热度 | | :--: | ------------------- | :------: | | 1 | [{热点标题}]({url}) | {热度}万 | | ... | ... | ... | | 8 | [{热点标题}]({url}) | {热度}万 | {该平台只有8条数据,不显示查看更多引导} --- ## 微博热点 | 排名 | 热点 | 热度 | | :--: | ---- | :--: | | ... | ... | ... | 💡 该平台还有35条数据未展示,回复「查看微博完整榜单」可查看全部数据。 --- {如果某平台无数据,则完全跳过该平台,不展示标题和空表格} --- ## 📊 全网热点小总结 **今日最热**:{热度最高的热点标题}({热度}万,来自{平台}) **跨平台热度王**:{出现在最多平台的热点标题}(覆盖{N}个平台) **上升最快**:{热度增长最快的热点标题} **值得关注**:{智能体根据热度、平台覆盖、趋势综合判断的热点} --- 📬 **订阅推送**: - 回复「订阅每日推送」,每天定时推送最新热榜 - 回复「订阅每周推送」,每周定时推送热门汇总 -
完整榜单查看示例(用户回复「查看百度完整榜单」后):
## 百度热点完整榜单 > **📅 统计时间:** 小时级更新,热点上榜时间为{start_time}至{end_time} > **📊 覆盖平台:** {平台名称} | 排名 | 热点 | 热度 | | :--: | ------------------- | :------: | | 1 | [{热点标题}]({url}) | {热度}万 | | 2 | [{热点标题}]({url}) | {热度}万 | | ... | ... | ... | | 50 | [{热点标题}]({url}) | {热度}万 | --- 📬 **订阅推送**: - 回复「订阅每日推送」,每天定时推送最新热榜 - 回复「订阅每周推送」,每周定时推送热门汇总
智能输出逻辑说明:
- 按平台顺序遍历数据(百度 → 知乎 → 微博 → 抖音 → B站 → 快手 → 头条)
- 跳过没有数据的平台(不显示空表格)
- 每个平台最多展示TOP10,不足10条则展示实际数量
- 动态计算剩余数据:
- 如果数据≤10条:不显示查看更多引导
- 如果数据>10条:计算剩余条数并显示"该平台还有{N}条数据未展示"
-
-
数据结构说明
API返回数据格式
{
"status": "success",
"stat_time": "2026-05-08 07:35:15",
"total_count": 330,
"hotspots": [
{
"title": "热点标题",
"url": "https://...",
"hotCount": 7904508,
"index": 1,
"gmtCreate": "2026-05-08 06:00:14",
"platCode": "bd",
"platName": "百度"
}
],
"query_range": {
"type": "realtime",
"start_date": "2026-05-08 06:00:00",
"end_date": "2026-05-08 07:00:00"
}
}
字段说明
| 字段 | 说明 |
|---|---|
| hotspots | 热点列表,包含所有平台的热点数据 |
| title | 热点标题(已处理空格) |
| url | 热点链接(空格已转为%20) |
| hotCount | 热度值(纯数字,已移除"万热度"等字符) |
| index | 平台内排名 |
| gmtCreate | 创建时间 |
| platCode | 平台代码:bd/bz/dy/ks/tt/wb/zh |
| platName | 平台名称:百度/B站/抖音/快手/头条/微博/知乎 |
平台代码映射
bd:百度bz:B站dy:抖音ks:快手tt:头条wb:微博zh:知乎
1. 获取热榜数据
1.1 实时热榜(默认)
要求最新、当下等实时热榜时,自动查询前一个完整小时:
python scripts/fetch_hotspot.py --source "全平台热点事件"
实时查询规则:
- 数据为小时级更新,自动查询前一个完整小时
- 例如:当前时间为
2026-04-16 17:42:00,则查询2026-04-16 16:00:00到2026-04-16 17:00:00的数据
1.2 历史热榜查询
支持查询昨天的热度峰值最高的热搜数据:
# 查询昨日热榜(假设今天是2026-04-16)
python scripts/fetch_hotspot.py --source "全平台热点事件" --start-date "2026-04-15 00:00:00" --end-date "2026-04-16 00:00:00"
日期范围规则:
- 时间格式为
YYYY-MM-DD HH:MM:SS - 日期范围是 [start_date, end_date) 左闭右开区间
- 例如:
--start-date "2026-04-01 00:00:00" --end-date "2026-04-02 00:00:00"查询的是4月1日当天的数据 - 例如:
--start-date "2026-04-09 00:00:00" --end-date "2026-05-09 00:00:00"查询的是4月9日至5月8日共30天的数据
参数说明:
--source:数据来源,默认值:"全平台热点事件"(通常无需手动指定)--platforms:平台代码列表(可选),多个平台用逗号分隔,支持:bd=百度、bz=B站、dy=抖音、ks=快手、tt=头条、wb=微博、zh=知乎--keywords:关键词列表(可选),多个关键词用逗号分隔,用于筛选特定关键词的热点--expand-keywords:是否对关键词进行泛化扩展(可选),如用户搜"体育"会自动扩展为["体育", "足球", "篮球", "运动", "健身", "奥运", "世界杯", "NBA", "CBA", "乒乓球"]--start-date:开始时间(包含),格式YYYY-MM-DD HH:MM:SS,也可简写为YYYY-MM-DD(自动补全为 00:00:00)--end-date:结束时间(不包含),格式YYYY-MM-DD HH:MM:SS,也可简写为YYYY-MM-DD(自动补全为 00:00:00)- 最长查询范围:30天
关键词泛化策略:
- 大词(如"体育"、"娱乐"、"科技"等):自动扩展为10个泛化词,如"体育"→["体育", "足球", "篮球", "运动", "健身", "奥运", "世界杯", "NBA", "CBA", "乒乓球"]
- 精确词(如"苏超"、"某明星名字"等):直接传入原词,不进行扩展
- 支持泛化的大类:体育、娱乐、科技、财经、社会、游戏、汽车、美食、旅游、时尚等
平台代码与接口枚举值映射:
| 平台代码 | 平台名称 | 接口枚举值 |
|---|---|---|
| ks | 快手 | 1 |
| dy | 抖音 | 2 |
| wb | 微博 | 5 |
| bd | 百度 | 7 |
| bz | B站 | 8 |
| zh | 知乎 | 9 |
| tt | 头条 | 10 |
1.3 智能体判断逻辑
根据用户意图自动选择查询方式(假设今天日期为T,当前时间为T HH:MM:SS):
今日热点查询:
- "今日热榜" / "今日热点" / "今天热榜" → 查询今日0:00到当前时间的整点
- 脚本调用:
python scripts/fetch_hotspot.py --source "全平台热点事件" --start-date "T 00:00:00" --end-date "T {当前小时}:00:00" - 示例:当前时间
2026-04-16 08:30:00,则查询--start-date "2026-04-16 00:00:00" --end-date "2026-04-16 08:00:00" - 统计时间展示:📅 统计时间: 小时级更新,热点上榜时间为2026-04-16 00:00至2026-04-16 08:00
最新热点查询:
- "最新热榜" / "最新热点" / "热榜" / "热点榜" → 查询前一个完整小时(默认行为)
- 脚本调用:
python scripts/fetch_hotspot.py --source "全平台热点事件"(无需指定时间参数) - 统计时间展示:📅 统计时间: 小时级更新,热点上榜时间为{start_time}至{end_time}
昨日热点查询:
- "昨日热榜" / "昨日热点" / "昨天热榜" → 查询昨日0:00到24:00的数据
- 脚本调用:
python scripts/fetch_hotspot.py --source "全平台热点事件" --start-date "T-1 00:00:00" --end-date "T 00:00:00" - 示例:今天为
2026-04-16,则查询--start-date "2026-04-15 00:00:00" --end-date "2026-04-16 00:00:00" - 统计时间展示:📅 统计时间: 小时级更新,热点上榜时间为2026-04-15 00:00至2026-04-16 00:00
本周热点查询:
- "本周热榜" / "本周热点" / "这周热榜" → 查询本周一0:00到当前时间的整点
- 本周计算规则:本周一为本周开始,周日为本周结束
- 脚本调用:
python scripts/fetch_hotspot.py --source "全平台热点事件" --start-date "{本周一日期} 00:00:00" --end-date "T {当前小时}:00:00" - 示例:今天是2026-05-09(周六),本周一为2026-05-04,当前时间为2026-05-09 15:30:00
- 查询:
--start-date "2026-05-04 00:00:00" --end-date "2026-05-09 15:00:00" - 统计时间展示:📅 统计时间: 小时级更新,热点上榜时间为2026-05-04 00:00至2026-05-09 15:00
- 查询:
- 【重要】本周一时间计算规则:
- 正确:今天是2026-05-09(周六),本周一 = 2026-05-04
- 错误:今天是2026-05-09(周六),本周一 = 2026-05-03(往前多算了一天)
- 计算公式:本周一 = 今天日期 - (今天星期几 - 1)天
对比查询场景: 当用户需要对比多天数据时,需分别查询多天的热榜,而非合并查询:
- "对比昨天和今天的热榜" → 分别查询昨日热榜和今日热榜,输出两份数据进行对比
- "对比4月1日和4月2日的热榜" → 分别查询4月1日热榜和4月2日热榜,输出两份数据进行对比
对比查询执行方式:
# 对比昨天和今天的热榜(假设今天是2026-04-16)
python scripts/fetch_hotspot.py --source "全平台热点事件" --start-date "2026-04-15 00:00:00" --end-date "2026-04-16 00:00:00" # 昨日
python scripts/fetch_hotspot.py --source "全平台热点事件" --start-date "2026-04-16 00:00:00" --end-date "2026-04-17 00:00:00" # 今日实时
2. 输出处理流程
核心原则:按平台分类输出,每个平台展示TOP10。
步骤一:获取数据
python scripts/fetch_hotspot.py --source "全平台热点事件" --start-date "..." --end-date "..."
步骤二:按平台分类输出
- 智能体读取JSON数据,按平台分类整理
- 每个平台输出TOP10热点(共7个平台,每个平台展示前10条)
- 输出格式:
- 标题:统计时间、覆盖平台
- 各平台热搜TOP10表格(微博、抖音、B站、快手、知乎、头条、百度)
- 全网热点小总结(今日最热、跨平台热度王、上升最快、值得关注)
- 查看更多引导(每个平台有50条数据)
- 订阅推送引导(每日/每周)
3. 热度值处理
热度格式化规则:
- 智能判断:如果热度值已包含单位(如"万"、"亿"),直接使用原始值,不做格式化
- 示例:知乎热度
91 万热度→ 直接使用91 万热度
- 示例:知乎热度
- 数字转换:如果热度值为纯数字,转换为"数字+万"格式
- 示例:百度热度
7904508→790万
- 示例:百度热度
- 特殊处理:部分平台热度值可能带有"热度"后缀,予以保留
4. 用户交互引导
查看更多
当用户回复「查看{平台名}完整榜单」时:
- 使用
--platforms参数筛选该平台数据 - 输出该平台完整50条热点列表
- 输出格式:Markdown表格(减少数据体积,避免被截断)
示例:
python scripts/fetch_hotspot.py --source "全平台热点事件" --platforms wb --output markdown
订阅推送
- 每日推送:每天定时推送最新热榜(如早8点、晚8点)
- 每周推送:每周定时推送热门汇总(如周一早上)
- 推送格式:精简版TOP10表格 + 小总结
5. 订阅推送服务
5.1 订阅类型
- 每日推送:每天定时推送最新热榜(如早8点、晚8点)
- 每周推送:每周定时推送热门汇总(如周一早上)
5.2 推送格式
推送消息采用精简格式,包含:
- 标题:📊 今日热点榜
- 统计时间范围
- 各平台TOP3热点
- 全网热点小总结
- 查看详情引导
使用示例
- 示例1: 查询今日热点
- 场景/输入: 用户输入"热点榜"或"今日热点"
- 执行步骤:
- 调用
python scripts/fetch_hotspot.py --source "全平台热点事件"获取数据 - 在对话中输出按平台分类的热点榜(每个平台TOP10 + 小总结 + 查看更多引导 + 订阅引导)
- 调用
- 预期产出: 用户在对话中看到完整报告内容
- 关键要点: 确保输出完整的TOP10热点分析
资源索引
- 脚本:见 scripts/fetch_hotspot.py(用途与参数:从API获取热点数据,支持平台筛选)
- 参考:见 references/output-templates.md(何时读取:对话输出时参考格式模板)
注意事项
- 【重要】输出格式必须严格遵守:
- 智能体输出结果必须严格按照 references/output-templates.md 中的模板格式输出
- 不得擅自修改、调整或简化模板格式
- 必须按平台分类输出,每个平台展示TOP10
- 平台展示格式:二级标题为平台名,三级标题为"{平台名}热点"
- 必须包含全网热点小总结
- 必须包含查看更多引导和订阅推送引导
- 【重要】平台顺序:百度 → 知乎 → 微博 → 抖音 → B站 → 快手 → 头条
- 【重要】热度值格式:
- 热度值格式必须为"数字+万"(如"938万"),禁止包含其他字符
- 换算规则:
hotCount // 10000(整数除法) - 错误示例:"938万4"、"938.5万"、"热度938万"
- 正确示例:"938万"
- 热点标题格式:
- 标题显示为超链接:
[{标题}]({url}) - 无URL的标题仅显示文本
- 标题显示为超链接:
- 交互引导:
- 每个平台有50条数据,提示用户可查看完整榜单
- 提供每日/每周订阅选项