把一週散落在 LINE 裡的論文、GitHub repository、新聞與社群連結,自動整理成可在手機、平板、網頁、甚至紙本印出閱讀的新聞式 PDF 與 Podcast。
English · 安裝與技術文件 · HTTP API · 安全與隱私
完成卡提供 PDF 與 Podcast,Rich Menu 可重新生成、切換模型或查看待處理清單。
Podcast Demo 使用合成文本與系統語音。repository 不納管生成週報、下載論文、使用者訊息、私有報告或憑證。
本週焦點、重點文獻與學術動向每篇文章都會附上對應原文圖表,圖說保留來源資訊。
- LINE 收件匣:平日把論文、repository、新聞或社群貼文丟給 bot。
- AI 編輯台:自動解析來源、整理引用、選出焦點並產生繁體中文報導。
- 一份真正可讀的週報:輸出自適應 HTML、A4 PDF、Markdown 報告與選配 Podcast。
- 手機直接交付:透過私有 Cloudflare R2 簽章連結把 PDF 和音訊送回 LINE。
- 可串接:以 Bearer token 呼叫
/api/v1/links與/api/v1/jobs,接上自己的書籤、bot 或知識管理工具。
- 平日把論文、GitHub repository、新聞或社群網址分享到已授權的 LINE 聊天室。
- 從 Rich Menu 選擇生成週報、重新生成、指定模型或查看待處理清單。
- Mac 背景服務整理來源、生成新聞式 PDF,並視設定產生 Podcast。
- 完成後直接從 LINE 卡片閱讀 PDF、下載 Podcast,或播放收到的語音訊息。
也可以從終端機手動執行:
# 完整流程:收集 → 生成 → 發布
.venv/bin/weekly-report run
# 使用既有內容重新套用目前版型,不呼叫 LLM 或 TTS
.venv/bin/weekly-report rerender --week 2026-W28
# 不連外、不寫入產物的預檢
.venv/bin/weekly-report run --dry-run- 目前是
v0.1.0b1公開測試版,只支援 macOS 單機自架與一個受信任的 LINE 使用者或聊天室。 - 不是現成的多人 SaaS;公開 Worker API 前必須自行落實 Bearer token、權限與速率限制。
- 手機私密連結需要 Cloudflare R2;未啟用 R2 時仍可在本機生成,但無法從 LINE 直接開啟產物。
- 使用者需自行準備 LINE、Cloudflare 與 LLM 帳號,並承擔各服務的用量與費用。
- LLM 摘要、引用配對與語音內容仍可能出錯;對外發布、研究引用或決策使用前應人工覆核。
- 原文與圖表保留各自授權,不會因收錄於 MIT repository 而改為 MIT;請依 第三方聲明 使用。
目前需要一台長期登入的 Mac,以及你自己的 LINE Messaging API、Cloudflare Workers/D1/R2 和 Claude CLI、Codex CLI 或 Anthropic API。
git clone https://github.com/Kuanyu458/Link2News.git
cd Link2News
./scripts/bootstrap.sh接著完成三件事:
- 編輯
~/.config/weekly-report/config.yaml與secrets.env。 - 從 LINE Developers 取得自己的
U...User ID,填入line.push_to,再執行./collector/deploy.sh。 - 綁定 Worker
/webhook、執行健檢,最後安裝背景 runner。
.venv/bin/weekly-report doctor --live
./launchd/install.sh
.venv/bin/python scripts/setup_richmenu.py完整的帳號設定、部署順序與 macOS 背景服務說明請看 安裝與技術文件。
| 文件 | 用途 |
|---|---|
| 安裝與技術文件 | 架構、資料流、部署、CLI、維運與疑難排解 |
| HTTP API v1 | 外部工具新增連結、建立與查詢工作 |
| 安全與隱私 | 信任邊界、資料保存、R2 簽章網址與責任範圍 |
| 貢獻指南 | 開發環境、測試與 pull request 規範 |
| Security Policy | 私下回報安全問題 |
./scripts/bootstrap.sh
.venv/bin/python -m unittest discover -s tests -p 'test_*.py'
npm test
./scripts/check_public_tree.shPodcast Demo 可使用合成資料重建:
./scripts/generate_podcast_demo.shMIT。選配工具與相依套件保留各自授權,詳見 THIRD_PARTY_NOTICES.md。
