热榜摘要器 v2.0
任务目标
- 本Skill用于:每日聚合8大平台热榜数据,通过结构化评分模型筛选热点,生成深度洞察摘要
- 能力包含:多源数据抓取、重试降级兜底、结构化评分、三层洞察点评、四种点评风格、多格式输出、历史数据归档
- 触发条件:用户询问"今日热点"、"生成每日摘要"、"有什么热门话题"、"投资热点"、"毒舌点评"等
架构概览
数据层:8平台 Fetcher(插件化,注册即生效)
↓
健壮层:重试(3次) → 降级(备用API) → 缓存(1h) → 优雅失败
↓
算法层:结构化评分模型(热度40% + 跨平台共振50% + 基础分10%)
↓
内容层:三层洞察(What / So What / Now What)× 四种风格
↓
输出层:群聊 / 知识库 / 可视化看板 / 语音播报
↓
持久层:按日归档历史数据,支持趋势分析
前置准备
- 依赖说明:scripts脚本所需的依赖包及版本
requests==2.31.0 beautifulsoup4==4.12.2
操作步骤
步骤1:数据抓取
调用 scripts/hot_list_fetcher.py 获取8大平台实时热榜数据:
python scripts/hot_list_fetcher.py
脚本将自动抓取以下数据源(每个fetcher独立,互不影响):
| 平台 | 数据量 | 降级方案 | |------|--------|---------| | 微博热搜 | 前50条 | 缓存兜底 | | 知乎热榜 | 前50条 | 第三方聚合 → 缓存兜底 | | B站热门 | 前100条 | 缓存兜底 | | 抖音热榜 | 前50条 | 第三方聚合 → 缓存兜底 | | 百度热搜 | 前50条 | 缓存兜底 | | 36氪热榜 | 前50条 | 缓存兜底 | | 少数派热榜 | 前40条 | 缓存兜底 | | 贴吧热议 | 前50条 | 缓存兜底 |
健壮机制:
- 每个请求最多重试3次,间隔递增(2s/4s/6s)
- 主API失败自动切换降级方案
- 所有方案失败则读取本地缓存(1小时内有效)
- 每条数据经过字段校验,缺必要字段则丢弃
- 抓取成功的数据自动缓存 + 按日归档
数据将保存为 ./hot_lists.json 文件,包含:
version: "2.0"timestamp: 抓取时间platform_stats: 各平台抓取状态data: 所有热点数据(含评分字段)
步骤2:结构化评分与筛选
读取 ./hot_lists.json 文件,脚本已自动完成评分,智能体需要:
- 确认数据完整性:检查
platform_stats,记录哪些平台成功/降级/失败 - 选取TOP10:按
final_score降序取前10条 - 多样性校验:检查10条热点的领域分布,同领域超过4条时,向下替换为其他领域高分热点
- 去重确认:脚本已做跨平台语义归并,智能体需最终确认无重复
评分算法:
综合得分 = 热度标准化分 × 0.4 + 跨平台共振分 × 0.5 + 基础分 10
- 热度标准化:各平台热度归一化到 0-100
- 跨平台共振:每多一个平台同时热议 +20 分
- 基础分:保底 10 分,避免零分
筛选标准(优先级从高到低):
- 跨平台共振(3平台以上同时热议 → 强入选信号)
- 热度绝对值(高热度但仅单平台 → 领域标志性事件)
- 话题多样性(科技/社会/娱乐/财经/文化/健康/体育 兼顾)
- 平台平衡(避免单平台超过4条入选)
步骤3:生成三层洞察点评
为每条选中的热点生成三层洞察,而非一句话点评:
| 层级 | 含义 | 要求 | |------|------|------| | What | 事件本质(一句话定义) | 15-25字,直击核心,不加修饰 | | So What | 为什么重要(影响链) | 30-50字,分析因果与结构性影响 | | Now What | 后续关注什么(预判) | 20-35字,指出后续关键变量或时间节点 |
点评风格:根据用户指定或默认选择
| 风格 | 调性 | 触发词 | |------|------|--------| | 严肃分析(默认) | 客观、专业、克制 | "分析"、"严肃"、或不指定 | | 毒舌吐槽 | 犀利、反讽、解构 | "毒舌"、"吐槽"、"讽刺" | | 投资视角 | 机会导向、数据驱动 | "投资"、"股票"、"标的" | | 吃瓜八卦 | 轻松、八卦、猎奇 | "吃瓜"、"八卦"、"聊聊" |
点评质量红线:
- What 禁止复述标题,必须是"翻译"后的本质
- So What 禁止空洞判断(如"引发广泛关注"),必须有具体影响链条
- Now What 禁止泛泛而谈,必须给出可验证的后续观察点
- 全程避免主观臆断,基于已知事实推演
步骤4:格式化输出
根据用户需求选择输出格式,参见 references/output-format.md:
| 格式 | 适用场景 | 触发词 | |------|---------|--------| | 群聊格式(默认) | 微信/钉钉/飞书群 | 不指定、"群聊"、"简洁" | | 知识库格式 | Notion/Obsidian/语雀 | "知识库"、"详细"、"归档" | | 可视化看板 | 汇报演示/PPT | "看板"、"图表"、"可视化" | | 语音播报 | 通勤听热点 | "语音"、"播报"、"听" |
若用户未指定格式,默认使用群聊格式。 若用户未指定风格,默认使用严肃分析风格。
输出末尾附加提示:
如需详细版本,请说明"知识库格式";如换口味,试试"毒舌吐槽"/"投资视角"/"吃瓜八卦"风格
步骤5:数据清理
- 处理完成后可删除
./hot_lists.json临时文件 ./cache/目录保留,供下次降级使用./history/目录长期保留,供趋势分析使用
资源索引
- 数据抓取脚本:scripts/hot_list_fetcher.py - 插件化8平台抓取 + 评分模型 + 历史归档
- 输出格式规范:references/output-format.md - 群聊/知识库/可视化看板/语音播报四种格式 + 四种点评风格
扩展能力
趋势分析(基于历史数据)
当用户询问"热点趋势"、"对比昨天"、"本周回顾"时:
- 读取
./history/目录下对应日期的数据 - 对比不同日期的热点变化(新进/退出/持续)
- 生成趋势分析报告
定制化筛选
当用户指定领域偏好时:
- "只看科技" → 筛选时提高科技领域权重,其他领域降权
- "排除娱乐" → 筛选时过滤娱乐类热点
- "只看投资机会" → 自动切换投资视角风格
注意事项
- 数据抓取频率:建议每日最多执行2-3次,避免对平台服务器造成压力
- 时效性:热榜数据变化快,建议在需要时实时抓取,不要使用过时数据
- 内容合规:筛选热点时注意内容合规性,避免敏感话题
- 降级透明:输出中必须标注各平台抓取状态(✅正常/⚠️降级/❌失败),让用户知道数据可信度
- 评分可解释:每条热点附评分理由,用户可追溯筛选逻辑
- 缓存有效期:默认1小时,超时自动重新抓取
- 历史数据:按日归档,长期保留,不要自动清理
Scan to contact