AI 每日資訊擷取技能
什麼時候用這個技能:用戶提到「AI 日報 / AI 新聞 / 今天 AI 圈有什麼動態 / 推送日報 / 寫入飛書表格」等意圖時,按本文件流程執行。
用戶可能怎麼說:「幫我跑一下今天的 AI 日報」/「看看今天 AI 圈有什麼大事」/「把日報推到我飛書」。
抓取當日 AI 資訊,篩選摘要成日報;按配置落地到飛書三件套(多維表格 / 機器人推送 / 雲端文件歸檔)。每條資訊保留原始鏈接,可溯源。
不配置飛書也能用(L0):第 3 步會檢測配置並自動跳過,日報直接輸出在對話裡。
工作流程(Agent 按此執行)
第 0 步:環境準備
cd <skill目錄>/scripts
# 依賴自檢:報 ModuleNotFoundError 時先執行 pip install feedparser requests
python -c "import feedparser, requests" 2>/dev/null || pip install feedparser requests
# 代理探測:通則啟用(海外源需要),不通則直連(中文源本就強制直連,海外源失敗自動容錯)
curl -s -o /dev/null -m 5 -x http://127.0.0.1:7897 https://openai.com \
&& export HTTPS_PROXY=http://127.0.0.1:7897 \
|| unset HTTPS_PROXY HTTP_PROXY
lark-cli 無需手動指定:腳本會自動探測 PATH 和常見安裝位置(含 Windows npm 全局目錄);僅非標準安裝時才需要 export LARK_CLI=<完整路徑>。
第 1 步:採集原始條目
python fetch_sources.py --hours 24 # 輸出 items.json(每日定時跑建議 --hours 26,覆蓋跨日縫隙)
- 每個源在
sources.json聲明network: proxy|direct:海外源走代理(環境變數HTTPS_PROXY),中文源強制直連 - 個別源失敗(如 arXiv 偶發 502)會記入
items.json的errors,繼續執行,不要中斷
第 2 步:篩選與摘要(Agent/LLM 的職責)
讀取 items.json 全部條目,然後:
- 去噪:剔除與 AI 無關的條目(HN/InfoQ 混入大量非 AI 內容)
- 去重合併:同一事件多源報道合併,保留最權威的原文鏈接
- 摘要:每條 2-3 句中文,只陳述事實
- 打標:
category(前沿動態/社區熱點/中文資訊/論文速遞/產品動態)、importance(高=行業級發佈·融資·政策 / 中 / 低)、自由tags - 當日總評:寫一段 2-3 句的
digest,概括今天的爆點與大勢,放在 selection.json 頂層——它會成為日報開頭
把結果寫入 scripts/selection.json,格式如下(idx 引用 items.json 的數組下標;source_override 可選,用於把來源歸一為表格選項名如 TechCrunch / The Verge):
{
"digest": "2-3 句當日總評",
"items": [
{"idx": 0, "title": "可覆蓋標題", "summary": "摘要", "importance": "高",
"category": "前沿動態", "tags": ["標籤"], "source_override": "OpenAI"}
]
}
然後:
python make_curated.py # 合成 curated.json(10-30 條)
鐵律:url 只能取自 items.json 原文,不得改寫或猜測——可溯源是本技能的核心價值。
第 3 步:飛書落地(按配置分支,必須先判斷)
先檢查 scripts/config.json:文件不存在、或 base_token/table_id/user_open_id/base_url 任一為空 → 判定為未配置飛書,跳過本步全部命令,直接進入「完成後報告」(日報正文輸出給用戶);並在報告末尾附一句:配置飛書可獲得表格歸檔與每日推送,見倉庫 docs/setup.md。
已配置則執行:
python run_daily.py curated.json # 寫表格 + 卡片推送 + 雲端文件歸檔
- 寫入前自動合併標籤選項池(自由標籤不會失配),逐條寫入
- 推送為飛書訊息卡片(分欄、標題可點擊),三級降級保送達(卡片→markdown→純文字)
- 歸檔插入雲端文件錨點塊後(callout 爆點塊 + 分類分節,最新在最上);未配置歸檔則自動跳過
- 重複運行會重複寫入,勿重跑
完成後:向用戶報告
- 未配置飛書(L0):把 curated.json 整理成日報正文輸出(總評 + 每條「標題 / 摘要 / 原文鏈接」),再附配置提示
- 已配置飛書:按四項報告——今日條數、分類分佈、總評一句話、失敗源
若端到端失敗:報告具體錯誤即可,不要重試超過一次。
用戶配置(scripts/config.json)
複製 config.example.json 為 config.json 填寫——每項的獲取方式都寫在模板註釋裡,
lark-cli 的安裝與飛書應用配置步驟見倉庫 docs/setup.md。全部字段支援環境變數覆蓋。
本 skill 目錄不含任何密鑰,飛書憑證由 lark-cli 全域配置管理。
前置依賴
- Python 3.10+:
pip install feedparser requests - 飛書落地(第 3 步)需 lark-cli(官方 CLI,
npx @larksuite/cli@latest install)已完成config init與auth login;lark-cli 尋址不到時用環境變數LARK_CLI指定其完整路徑
資訊源清單(sources.json,可增刪)
| 源 | 方式 | 網路 |
|---|---|---|
| OpenAI 官方新聞 | RSS | 代理 |
| Google DeepMind / Google AI 博客 | RSS | 代理 |
| Anthropic 新聞 | sitemap(官方無 RSS) | 代理 |
| Hugging Face 博客 | RSS | 代理 |
| TechCrunch / The Verge AI | RSS | 代理 |
| MIT Tech Review AI | RSS | 代理 |
| Hacker News AI 熱帖 | Algolia API(時間窗+票數+關鍵詞詞邊界過濾) | 直連 |
| InfoQ 中文 | RSS(AI 相關由第 2 步篩) | 直連 |
| arXiv cs.AI / cs.CL | arXiv API | 代理 |
失效處理:RSS 地址變更時先 curl 驗證再更新 sources.json;機器之心/量子位的免費接口、xAI 與 Stability 的 sitemap(導航頁噪音/反爬)均已不可用,不要浪費時間重試。
定時執行
技能無狀態,任意排程器可調。推薦每天 08:00(Asia/Shanghai)。各宿主配置方式見 docs/scheduling.md,prompt 模板見 examples/cron-prompt.txt。