news-aggregator-skill

news-aggregator-skill

熱門

全方位的新聞彙整工具,能抓取、篩選並深度分析來自 44 個以上來源的即時內容,涵蓋 Hacker News、Lobsters、Dev.to、GitHub、arXiv、Hugging Face Papers、AIHOT、TLDR AI、Import AI、BBC、衛報(The Guardian)、半島電視台(Al Jazeera)、法國 24 台(France 24)、路透社(Reuters 備用來源)、AI 電子報、華爾街見聞、微博、少數派、InfoQ 中文、Podcast 以及使用者自訂的 OPML 訂閱源。當使用者要求「每日掃描」、「科技新聞」、「財經動態」、「AI 簡報」、「國際新聞」、「深度分析」,或是輸入「如意如意」開啟互動式選單時使用。

1211星標
119分支
更新於 2026/5/27
SKILL.md
唯讀
名稱
news-aggregator-skill
描述

全方位的新聞彙整工具,能抓取、篩選並深度分析來自 44 個以上來源的即時內容,涵蓋 Hacker News、Lobsters、Dev.to、GitHub、arXiv、Hugging Face Papers、AIHOT、TLDR AI、Import AI、BBC、衛報(The Guardian)、半島電視台(Al Jazeera)、法國 24 台(France 24)、路透社(Reuters 備用來源)、AI 電子報、華爾街見聞、微博、少數派、InfoQ 中文、Podcast 以及使用者自訂的 OPML 訂閱源。當使用者要求「每日掃描」、「科技新聞」、「財經動態」、「AI 簡報」、「國際新聞」、「深度分析」,或是輸入「如意如意」開啟互動式選單時使用。

News Aggregator Skill

從 44 個以上的來源(包含國際新聞 + AI 精選彙整 + 使用者自訂 OPML 訂閱源)抓取即時熱門新聞,並生成中文深度分析報告。


🔄 通用工作流程(3 個步驟)

無論新聞來源或組合為何,每一筆新聞請求皆遵循相同的工作流程:

步驟 1:擷取資料

# 單一來源
python3 scripts/fetch_news.py --source <source_key> --no-save

# 多個來源(以逗點分隔)
python3 scripts/fetch_news.py --source hackernews,github,wallstreetcn --no-save

# 所有來源(全面掃描)
python3 scripts/fetch_news.py --source all --limit 15 --deep --no-save

# 搭配關鍵字篩選(自動擴充:"AI" → "AI,LLM,GPT,Claude,Agent,RAG")
python3 scripts/fetch_news.py --source hackernews --keyword "AI,LLM,GPT" --deep --no-save

步驟 2:生成報告

讀取輸出的 JSON 資料,並使用下方的統一報告範本格式化每一項內容。將所有內容翻譯成簡體中文

步驟 3:儲存與呈現

將報告儲存至 reports/YYYY-MM-DD/<source>_report.md,然後向使用者展示完整內容。


📰 統一報告範本

所有來源皆使用此單一範本。 依據資料完整度顯示或隱藏選填欄位。

#### N. [標題 (中文翻譯)](https://original-url.com)
- **Source**: 來源名稱 | **Time**: 時間 | **Heat**: 🔥 熱度值
- **Links**: [Discussion](hn_url) | [GitHub](gh_url)     ← 僅在資料存在時顯示
- **Summary**: 一句話中文摘要。
- **Deep Dive**: 💡 **Insight**: 深度分析(背景、影響、技術價值)。

特定來源調整規則

以下僅列出與通用範本的差異之處

來源 調整方式
Hacker News 必須包含 [Discussion](hn_url) 連結
GitHub 使用 🌟 Stars 表示熱度,新增 Lang 欄位,在 Deep Dive 中加入 #Tags
Hugging Face 使用 🔥 +N 贊同數表示熱度,若有則包含 [GitHub](url),撰寫深度解讀(而非僅翻譯摘要)
Weibo 完整保留熱度文字(例如 "108萬")
AIHOT summary 已是中文編輯稿,直接引用切勿再次翻譯;Heat 欄位若為空請勿造假;保留「推薦理由」風格的一句話點評
TLDR AI 單條標題往往混合多個主題(Topic A 💻, Topic B ⚡, Topic C ⛪),請拆解為 bullet 項目列出每個主題summary 為 HTML 段落,需拆出對應各主題的一至兩句概述
Import AI 週刊長文,標題格式如 Import AI 458: 主題1; 主題2; 主題3建議預設搭配 --deep,否則 RSS summary 僅有開頭數句;Deep Dive 請直接提煉 Jack Clark 的核心觀點而非平鋪直敘事實
International News 每一項目必須使用統一報告範本;僅使用最近 24 小時內的 RSS 條目,不使用更早新聞進行 Smart Fill;英文標題與摘要翻譯為簡體中文,保留原始媒體名稱與連結;同一事件有多家媒體重複報導時可合併觀點,但不能合併連結
Reuters reuters 使用 Google News RSS 的 site:reuters.com 備用來源;報告中請保留 Reuters (Google News fallback) 來源標示,切勿寫成官方公開 RSS

🛠️ 工具說明

fetch_news.py

參數 說明 預設值
--source 來源代碼(Key),多個以逗點分隔。詳見下表。 all
--limit 每個來源的最大抓取筆數 15
--keyword 以逗點分隔的關鍵字篩選
--deep 下載文章正文以進行更豐富的分析 關閉
--save 強制儲存至 reports 目錄 單一來源時自動開啟
--outdir 自訂輸出目錄 reports/YYYY-MM-DD/

可用來源(44+ 含使用者 OPML)

分類 代碼 (Key) 名稱
Global News hackernews Hacker News
36kr 36氪
wallstreetcn 華爾街見聞
tencent 騰訊新聞
weibo 微博熱搜
v2ex V2EX
producthunt Product Hunt
github GitHub Trending
Tech Community (v2) lobsters Lobsters
devto Dev.to
AI/Tech huggingface HF Daily Papers
arxiv arXiv (cs.AI/cs.CL/cs.LG, v2)
ai_newsletters All AI Newsletters (彙整)
bensbites Ben's Bites
interconnects Interconnects (Nathan Lambert)
oneusefulthing One Useful Thing (Ethan Mollick)
chinai ChinAI (Jeffrey Ding)
memia Memia
aitoroi AI to ROI
kdnuggets KDnuggets
Chinese (v2) sspai 少數派
infoq_cn InfoQ 中文站(RSS 僅提供標題,推薦搭配 --deep 取得正文)
AI Curated (v3) aihot AIHOT 中文 AI 精選(跨源 + 中文編輯稿)
tldr_ai TLDR AI 英文日刊
import_ai Import AI by Jack Clark 週刊(推薦 --deep
International News international 最近 24 小時國際新聞彙整(BBC / Guardian / Al Jazeera / France 24 / Reuters 備用來源)
bbc_top BBC Top News (24h)
bbc_world BBC World (24h)
bbc_chinese BBC 中文 (24h)
guardian_world The Guardian World (24h)
aljazeera Al Jazeera (24h)
france24 France 24 (24h)
reuters Reuters via Google News RSS fallback (24h)
Podcasts podcasts All Podcasts (彙整)
lexfridman Lex Fridman
80000hours 80,000 Hours
latentspace Latent Space
Essays essays All Essays (彙整)
paulgraham Paul Graham
waitbutwhy Wait But Why
jamesclear James Clear
farnamstreet Farnam Street
scottyoung Scott Young
dankoe Dan Koe
Custom (v2) user 您的 OPML 訂閱源(見下方說明)

自訂訂閱源 (User OPML)

將您平時關注的 RSS/Atom 訂閱源寫入 OPML 檔案,使用 --source user 即可統一抓取。

1. 放置 OPML 檔案(按優先順序查找):

  • ~/.config/news-aggregator/user_sources.opml(推薦,可跨 skill 複用)
  • <skill_root>/user_sources.opml(本專案目錄內)

2. 檔案格式:標準 OPML 2.0,可直接從 Feedly / Inoreader / NetNewsWire 匯出。參考 user_sources.opml.example

<outline type="rss" text="Simon Willison" title="Simon Willison"
         xmlUrl="https://simonwillison.net/atom/everything/" />

xmlUrl 為必填,其餘欄位可選填。

3. 執行python3 scripts/fetch_news.py --source user --limit 15

daily_briefing.py (Morning Routines)

預先設定的多來源設定檔(Profile):

python3 scripts/daily_briefing.py --profile <profile>
Profile Sources Instruction File
general HN, 36Kr, GitHub, Weibo, PH, WallStreetCN instructions/briefing_general.md
finance WallStreetCN, 36Kr, Tencent instructions/briefing_finance.md
tech GitHub, HN, Product Hunt instructions/briefing_tech.md
social Weibo, V2EX, Tencent instructions/briefing_social.md
ai_daily HF Papers, AI Newsletters instructions/briefing_ai_daily.md
reading_list Essays, Podcasts (Use universal template)

工作流程:執行指令 → 讀取對應的指示檔案 → 遵循指示檔案以及通用範本生成報告。


⚠️ 核心規則(嚴格遵循)

  1. 語言:所有輸出必須使用簡體中文(Simplified Chinese)。保留知名英文專有名詞(如 ChatGPT、Python 等)。
  2. 時間必填欄位,切勿遺漏。若 JSON 中缺少時間,標示為「未知時間」。保留「即時」、「今日」、「熱門」等原樣字眼。
  3. 防幻覺:僅使用來自 JSON 的資料,絕不捏造新聞項目。使用簡單的 SVO(主謂賓)句型,切勿虛構因果關係。
  4. 智慧關鍵字擴充:當使用者提及 "AI" 時 → 自動擴充為 "AI,LLM,GPT,Claude,Agent,RAG,DeepSeek"。其他領域依此類推。
  5. 智慧補全 (Smart Fill):若特定時間範圍內的結果少於 5 項,可從更廣的時間範圍補充高價值項目。補充項目需標註 ⚠️。例外:國際新聞來源嚴格限制在 24 小時窗口內,切勿補充較舊項目。
  6. 儲存:在展示給使用者之前,務必先將報告儲存至 reports/YYYY-MM-DD/

📋 互動式選單

當使用者輸入 "如意如意" 或詢問 "menu/help" 時:

  1. 讀取 templates.md
  2. 顯示主選單
  3. 依據上述通用工作流程執行使用者的選擇

系統需求

  • Python 3.8+,pip install -r requirements.txt
  • Playwright(用於 HF Papers 與 Ben's Bites):playwright install chromium