Skip to content
kaigiiiPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

iNews (Intelligence News)

全自動個人化 AI 科技情報總管 —— 自動過濾資訊噪音,提煉全球 AI、前沿科技與政經動態的高價值情報。


核心特色

  • 多來源自動監控
    支援 RSS Feed 與動態網頁抓取,預設整合全球頂尖 AI Lab (OpenAI, Anthropic, Google, Meta)、雲端巨頭 (AWS, Azure) 以及科技政經動態。
  • 雙階段智慧過濾
    • Pass 1 相關度評分:結合用戶自訂興趣進行 1-10 分關聯性評分,自動剔除公關稿與無關新聞。
    • Pass 2 深度摘要:針對高分文章進行結構化摘要,提煉核心結論、技術/商業影響與關鍵亮點。
  • 多 LLM 引擎彈性切換
    • api_key:直接調用官方 Groq / DeepSeek / OpenAI / Ollama / Gemini 等 API(詳細參見 LLM 引擎與模型選擇指南)。
    • g4f:逆向免 Key 頻道模式(支援 Cloudflare Llama 3.1、PollinationsAI 等,含 Cookie 安全隔離)。
    • gemini_web:透過 Playwright 自動化無頭 Chrome 互動(含 anti-detection 隱身防封鎖)。
    • local_ide:透過 Local IDE Connect RPC 連線調用。
  • 模組化 Prompt 管理
    提示詞獨立採 prompts/*.yaml 搭配 Jinja2 樣板引擎,達成程式碼與提示詞徹底解耦。
  • 雙重格式輸出
    • Markdown 日報:自動產生精美的每日科技情報導讀 (output/YYYY-MM-DD_HHMMSS_digest.md)。
    • JSON 結構化資料:便於二次開發、資料庫儲存或 API 整合 (output/articles/YYYY-MM-DD_HHMMSS_articles.json)。
  • 歷史去重與快取
    內建 SQLite 數據庫,自動紀錄處理過的文章網址與抓取快取,避免重複處理。

專案架構

iNews/
├── .env                 # 全局配置檔 (LLM 引擎設定、API Key、評分門檻、關注主題)
├── .env.example         # 全局配置範本檔
├── sources.yaml         # 資訊來源設定檔 (RSS 連結、預設篩選分類)
├── DOCS_ENGINES_AND_MODELS.md # LLM 引擎與模型選擇指南
├── main.py              # 系統 CLI 主入口程式
├── requirements.txt     # Python 依賴包列表
├── prompts/             # Jinja2 + YAML 模組化 Prompt 樣板庫
│   ├── score_and_classify.yaml
│   └── summarize_and_translate.yaml
├── src/
│   ├── ingestion/       # RSS & Web 文章抓取器 (httpx, feedparser, trafilatura, curl_cffi)
│   ├── filter/          # Pass 1 & Pass 2 兩階段過濾 Pipeline
│   ├── llm/             # 多 LLM 引擎實現 (api_key, g4f, gemini_web, local_ide)
│   ├── exporters/       # Markdown & JSON 自動匯出模組
│   ├── db/              # SQLite 歷史網址去重與快取模組
│   └── runner.py        # Pipeline 主控邏輯
├── output/              # 產出成果目錄 (Markdown 日報 & JSON 檔案)
└── data/                # SQLite 快取資料庫 (cache.db)

快速開始

1. 環境準備

確保系統安裝 Python 3.10+,並複製專案:

git clone https://github.com/your-username/iNews.git
cd iNews

建立並啟用虛擬環境:

python3 -m venv .venv
source .venv/bin/activate

安裝依賴套件與 Playwright 瀏覽器:

pip install -r requirements.txt
playwright install chrome

2. 配置環境變數 .env

將 .env.example 複製為 .env 並填入相關設定:

cp .env.example .env

核心設定範例:

# 1. 全局 LLM 引擎設定 ("api_key", "g4f", "gemini_web", 或 "local_ide")
LLM_ENGINE_TYPE=api_key

# 2. 使用者偏好與過濾門檻
TARGET_LANGUAGE=zh-TW
USER_INTERESTS=AI 科技與前沿技術發展,國際政治與地緣政治動態,科技政策、法規監管與晶片法案
RELEVANCE_SCORE_THRESHOLD=7
MAX_ITEM_AGE_DAYS=2
ENABLE_DEDUPLICATION=true

# 3. 官方 API Key 引擎設定 (當 LLM_ENGINE_TYPE=api_key 時使用)
API_KEY_PROVIDER=groq
API_KEY_MODEL_NAME=llama-3.3-70b-versatile
GROQ_API_KEY=gsk_your_groq_api_key_here

3. 執行情報總管 Pipeline

直接執行主程式:

python main.py

執行完畢後,產出結果將自動存入 output/ 目錄中:

  • Markdown 日報:output/2026-08-15_104831_digest.md
  • JSON 資料:output/articles/2026-08-15_104831_articles.json

CLI 常用參數

參數 說明 範例
--dry-run 乾跑模式:僅抓取 RSS 與文章內容,不調用 LLM python main.py --dry-run
--engine 覆蓋 LLM 引擎 (api_key, g4f, gemini_web, local_ide) python main.py --engine api_key
--no-dedupe 跳過歷史去重:強制處理解析所有抓到的文章 python main.py --no-dedupe
--limit 限制文章數量:僅處理前 N 筆高價值文章(方便測試) python main.py --limit 3
-v, --verbose 詳細日誌:顯示除錯 Debug 訊息 python main.py -v

系統訂閱來源配置 (sources.yaml)

在 sources.yaml 中新增或編輯您的 RSS 訂閱源:

sources:
  - name: "OpenAI News"
    url: "https://openai.com/news/rss.xml"
    type: "rss"
    category: "AI Labs"
    enabled: true

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages