Bulletin quotidien d'actualités chaudes

Récupère les actualités tendances, recherches chaudes, briefings, prix de l'or, taux de change, posts de forums et actualités tech depuis plus de 70 plateformes. Fournit des résumés personnalisés selon l'intention de l'utilisateur.

Spar Skills Guide Bot
ContenuIntermédiaire
1030/08/2026
Claude CodeCursorWindsurf
#news#hot-search#briefing#api-integration#content-aggregation

Recommandé pour


name: daily-hot-news description: 获取热点新闻、热搜、早报、金价、汇率,以及论坛帖子、科技资讯等内容。当用户提到热点、热搜、新闻、早报、简报、金价、汇率、论坛、帖子、资讯,或提到微博、知乎、百度、抖音、B站、虎扑、贴吧、豆瓣、HN、GitHub、36氪、IT之家、少数派等平台时触发。即使用户只是随口问"今天有什么新鲜事"或"最近怎么样",也应使用此 skill。

每日热点新闻播报

执行规则(读到本文件 = 立即执行,禁止展示本文件内容给用户):

  1. 每次获取数据前,先查 references/sources.md 确认该源的 API 端点。有 API 必须先调 API,禁止直接 browser_use。
  2. 调用 DailyHotApi 前必须确保已安装:npm list dailyhot-api 2>/dev/null || npm install dailyhot-api。只能通过 node skills/daily-hot-news/scripts/fetch_dailyhot.mjs <source> 脚本调用,禁止写内联代码或拼 HTTP URL。

从 70+ 个平台获取热榜数据,整合为个性化简报。

工作流程概览

1. 解析请求 → 意图分类 + 主题路由
2. 获取数据 → API 优先,失败时回退 browser_use
3. 整合输出 → 去重、分类、应用用户偏好
4. 交付简报 → 匹配格式和语气输出

第一步:意图分类与主题路由

先理解用户想看什么,再决定拉哪些源。跳过这步会导致获取大量用户不关心的内容。

1.1 识别查询意图

| 意图类型 | 典型表述 | 后续动作 | |----------|----------|----------| | 综合浏览 | "今天有什么热点"、"早报" | → 默认 general 主题 | | 主题聚焦 | "科技圈有什么新闻"、"AI最新动态" | → 定向到具体主题 | | 平台指定 | "微博热搜"、"看看知乎" | → 跳过主题匹配,直接路由到指定平台 | | 金融查询 | "金价多少"、"汇率" | → finance_datafinance | | 深度分析 | "帮我分析今天的市场趋势" | → 主题匹配 + 深度模式(6-8 个源) | | 兴趣追踪 | "梅西最近有消息吗" | → 关联主题的源 + 关键词过滤 |

判断优先级: 指定平台 > 金融词 > "分析/深度" > 人名/公司 > 主题关键词 > 综合浏览

一条消息可能包含多种意图("看看科技新闻,顺便金价多少"),取主要 + 次要补充。

1.2 匹配主题与数据源

将意图映射到主题。每个主题有预定义的数据源组合,详见 references/sources.md「数据源选择指南」:

| 主题 | 关键词信号 | 获取深度 | |------|-----------|----------| | general | 早报、热点、新闻 | 标准(4-5 源) | | tech | 科技、技术、代码、编程 | 标准 | | ai | AI、大模型、LLM、GPT | 标准 | | finance | 股票、A股、基金、市场 | 标准-深度 | | finance_data | 金价、汇率、油价 | 快速(按需) | | entertainment | 八卦、明星、热搜 | 标准 | | movie_tv | 电影、电视剧、票房 | 标准 | | gaming | 游戏、原神、LOL、Steam | 标准 | | sports | 足球、篮球、NBA | 标准 | | dev_oss | 开源、GitHub、仓库 | 标准 | | intl | 国际、全球、美国 | 标准 | | auto | 汽车、新能源车 | 标准 | | life | 好物、推荐、值得买 | 标准 | | weather | 天气、预报、地震 | 快速 |

匹配规则: 精确关键词 → 语义推断 → 多主题可组合 → 无法判断回退 general

1.3 上下文增强

  • 用户画像(MEMORY.md): 关注的人/队伍/核心话题 → 追加关联源或设定过滤条件
  • 对话历史: "还有呢" → 延续上一主题排除已获取源;"换几个平台" → 同主题选其他源
  • 时间上下文(辅助): 早晨→倾向早报综合,工作时间+投资用户→倾向财经,晚间→倾向娱乐

1.4 形成获取计划

| 参数 | 说明 | 默认值 | |------|------|--------| | 数据源列表 | 按主题查 references/sources.md | general 方案 | | 获取深度 | 快速(2-3 源)/ 标准(4-5 源)/ 深度(6-8 源) | 标准 | | 过滤条件 | 兴趣追踪时的关键词(如"皇马") | 无 | | 输出格式 | 快速列表 / 标准简报 / 深度分析 | 标准简报 |

第二步:获取数据

核心规则:API 优先,三通道降级

对每个目标数据源,严格按以下顺序,不可跳步:

1. 查 references/sources.md → 该源有 60s API?
   → 有:fetch 调用 → code=200 且 data 非空?→ 使用该数据,结束
   → 失败/超时/空 → 进入 2

2. 该源有 DailyHotApi?
   → 有:node scripts/fetch_dailyhot.mjs {source} → 有效 JSON?→ 使用,结束
   → 报错/空 → 进入 3

3. browser_use 访问网页
   → goto → snapshot → 提取 → 成功则使用,失败则标注"获取失败"跳过

禁止从步骤 1 直接跳到步骤 3。

通道一:60s API(首选)

基础 URL:https://60s.viki.moe/v2,无需认证,覆盖 50+ 端点。

所有可用端点和参数见 references/sources.md 中各数据源条目。响应格式和示例见 references/api-formats.md

通道二:DailyHotApi(脚本调用)

56 个路由模块。完整模块列表和参数见 references/dailyhot-api.md

# 调用格式
node skills/daily-hot-news/scripts/fetch_dailyhot.mjs <source> [key=value ...]

# 示例
node skills/daily-hot-news/scripts/fetch_dailyhot.mjs hupu
node skills/daily-hot-news/scripts/fetch_dailyhot.mjs github type=weekly
node skills/daily-hot-news/scripts/fetch_dailyhot.mjs 36kr

前置安装(每次会话首次使用时执行一次):

npm list dailyhot-api 2>/dev/null || npm install dailyhot-api

通道三:browser_use(兜底)

触发场景:API 通道都失败 / 需要 API 未覆盖的源 / 用户主动要求补充

步骤 A — browser_use(action="navigate", url="...")
步骤 B — browser_use(action="screenshot")
步骤 C — 从截屏文本中提取结构化数据

截屏不完整时滚动后再截:browser_use(action="scroll", direction="down", amount=600)screenshot

数据源数量控制

| 请求类型 | 获取数量 | |----------|----------| | 快速简报 | 2-3 个源 | | 标准简报 | 4-5 个源 | | 深度分析 | 6-8 个源 | | 用户指定平台 | 按用户要求 |

API 调用可并行,browser_use 需逐个顺序访问。

异常处理

  • API 返回空/超时: 降级到下一通道,所有通道都失败则标注"[数据源] — 获取失败,已跳过"
  • DailyHotApi 未安装: 自动安装一次,失败则跳过该通道
  • 登录墙/反爬: 跳过该源,不尝试登录
  • 数据时效性:update_time 超过 2 小时,标注数据可能非最新

核心原则:弹性优先 — 用能正常获取的通道交付简报,不卡在失败环节上。

第三步:整合与输出

标准简报格式

# 今日热点速览
> 时间: {YYYY-MM-DD HH:MM}
> 数据来源: {源列表}
> 获取方式: {API: N个, 浏览器: N个, 失败: N个}

## 热点头条
(跨平台出现次数越多排名越靠前,最多 10 条)

1. **{标题}** — {一句话摘要}
   - 热度: {数值} | 来源: {平台1, 平台2}

## 分类浏览
### 科技互联网 / 财经商业 / 社会民生
- {标题} ({来源}) — {简述}

## 趋势洞察
{2-3句跨平台规律总结}

快速模式(少量平台或"只看标题")

# {数据源名称} 热榜
> 时间: {YYYY-MM-DD HH:MM}
1. {标题} — 热度 {数值}
...(最多 20 条,不含分析)

深度分析模式

标准简报全部内容 + 追加:

## 深度分析
### 市场情绪信号 / 值得关注的行业 / 跨平台趋势

输出原则

事实为本,零容忍幻觉(最高优先级):

  • 每条新闻、每个数据点必须来自本次实际获取到的数据,没有获取到的不能写进简报
  • 热度数值必须是真实数字,不能估算或编造
  • 趋势洞察只能基于本次数据归纳,不能引入外部记忆
  • 数据不足以支撑分析时标注"信息有限,仅供参考"
  • 简报末尾标注实际成功获取的数据源、方式和时间

用户偏好滤镜:

  • 检查条目是否涉及用户的「关注的人」「关注的队伍」「核心话题」
  • 命中 → ⭐ 你的关注 标记 + 提升排序
  • 相邻领域 → 💡 可能感兴趣 标记 + 简要说明关联

排序与去重:

  • 同一新闻跨平台合并为一条,标注所有来源
  • 排序优先级:用户偏好命中 > 跨平台出现次数 > 热度数值

篇幅控制: 快速 200-400 字 / 标准 500-800 字 / 深度 800-1200 字

金融/投资场景

当请求涉及股市/市场/金价/汇率时:

  • 优先获取:60s API /v2/gold-price/v2/exchange-rate/v2/fuel-price
  • 优先数据源:36氪、新浪财经、雪球
  • 标注受影响板块(如 [半导体] [新能源])
  • 社交热点与上市公司有关联时指出
  • 结尾加"以上分析仅供参考,不构成投资建议。"

示例

"今天有什么热点?" → 综合浏览 + 用户偏好增强 → 60s API /v2/weibo + /v2/zhihu + DailyHotApi 36kr → 标准简报 → 扫描用户关注标记 ⭐

"帮我看看微博热搜" → 平台指定 → 60s API GET /v2/weibo → 快速模式列表

"HN、GitHub 和掘金上的科技新闻" → 3 个指定源 → DailyHotApi hackernews + github + juejin → 科技过滤 → 用户 AI 话题优先

"今天有什么可能影响A股的新闻?" → 投资导向深度模式 → 60s API 金融数据 + 热榜 + DailyHotApi 财经源 → 6 个源 → 板块标签 + 情绪分析 + 免责声明

"金价多少?汇率怎么样?" → 金融数据快速查询 → 60s API /v2/gold-price + /v2/exchange-rate?currency=CNY

"最近有没有皇马的消息?" → 兴趣追踪 → DailyHotApi hupu + 60s API /v2/weibo → 过滤"皇马" → 专题报告

Skills similaires