完全免費、每天自動運行。 一個新聞聚合與每日科技簡報系統,現在專注於 Telegram 推送。
- 自動從 6 個科技新聞來源聚合新聞,並側重「軟體」而非「硬體」題材
- 依據歷史內容去重,避免重複主題
- 使用 Gemini 生成每日技術簡報
- 以 Telegram HTML 格式發送到指定聊天
- 保存最近 10 次簡報摘要到
news_history.json - GitHub Actions 可定時執行
系統聚合以下 6 個新聞源,主軸放在軟體工程、AI 演算法/模型架構、Agent 與新創動態:
| 分類 | 來源 |
|---|---|
| LLM 與 AI 研究論文 | arXiv (cs.CL) |
| AI 巨頭內幕與商業獨家 | The Information |
| AI Agent、新創融資與產品動態 | TechCrunch (AI) |
| 新創募資與商業模式 | TechCrunch (Startups) |
| 企業級 AI 應用與 LLM 模型評測 | VentureBeat |
| 軟體架構與資工工程實務 | InfoQ |
news_agent.py 內建一個關鍵字過濾器(is_hardware_heavy):若一則新聞同時符合「純硬體關鍵字」(如晶圓、製程、封裝、資料中心土建等)且完全沒有出現任何軟體/AI 相關字眼(如 LLM、algorithm、framework、agent 等),就會在擷取階段直接捨棄。除此之外,送給 Gemini 的挑選 prompt 也明確要求優先軟體工程、演算法、Agent 與商業動態,並將純硬體規格新聞列為低優先度(除非該硬體突破直接、顯著改變了模型訓練或推理方式)。
如果之後想調整強弱,可以編輯 news_agent.py 中的 HARDWARE_ONLY_KEYWORDS / SOFTWARE_AI_CONTEXT_KEYWORDS 兩份清單,或修改 generate_daily_report 裡的「優先領域/降低優先度」段落。
- Python 3.8+
- Gemini API Key
- Telegram Bot Token
- Telegram Chat ID
pip install -r requirements.txt在專案根目錄建立 .env:
GEMINI_API_KEY=your_api_key_here
TELEGRAM_BOT_TOKEN=your_bot_token_here
TELEGRAM_CHAT_ID=your_chat_id_herepython news_agent.py該命令會:
- 抓取最新 RSS 新聞
- 過濾與歷史相近內容
- 生成每日科技簡報
- 發送到 Telegram
- 儲存摘要到歷史紀錄
專案已經配置每日自動執行工作流,位置在:
.github/workflows/daily_news.yml
它會在每日固定時間觸發,並將最新的 news_history.json 提交回儲存庫。
news_agent/
├── news_agent.py # 新聞聚合與 Telegram 推送
├── news_history.json # 簡報歷史記錄(自動生成)
├── requirements.txt # Python 依賴
├── README.md # 專案說明
├── .env # 本地環境變數(不要提交)
└── .github/
└── workflows/
└── daily_news.yml # 定時任務
limit_per_source:每個 RSS 源每次拉取的新聞數量,預設為 3news_history.json:保留最近 10 次摘要,做去重判斷- Telegram 推送:支援 HTML 格式;若格式化失敗,會自動降級為純文字
- 將
.env保存在本地,不要上傳到版本控制 - 定期更新 Gemini API Key 和 Telegram Bot Token
- 不要在程式碼中直接寫死敏感資訊
- 確認
TELEGRAM_BOT_TOKEN與TELEGRAM_CHAT_ID正確 - 確認 Bot 已加入目標群組或聊天,且有發送訊息權限
- 確認
GEMINI_API_KEY有效 - 檢查網路連線是否正常
- 使用 UTF-8 編碼環境
- 確認 Telegram 客戶端支援顯示 HTML 內容
| 套件 | 版本 | 用途 |
|---|---|---|
| google-genai | 1.28.0 | Gemini API 調用(google-generativeai 已棄用,改用官方統一 SDK) |
| requests | 2.32.3 | HTTP 請求 |
| feedparser | 6.0.11 | RSS 解析 |
| python-dotenv | 1.0.1 | 環境變數管理 |
程式透過 Python Logging 記錄執行情況:
- INFO:正常流程
- WARNING:非關鍵警告
- ERROR:關鍵錯誤
最後更新:2026-08-16