概述
安裝
工具列表
內容詳情
替代品
什麼是 TrendRadar MCP 服務器?
TrendRadar MCP 服務器是 TrendRadar 熱點追蹤項目的 AI 增強模塊。它基於 MCP(Model Context Protocol)協議,將你本地積累的新聞數據(存儲在 `output` 文件夾中)轉化為一個智能對話接口。你可以通過支持 MCP 的 AI 客戶端(如 Claude Desktop、Cursor、Cherry Studio 等),用自然語言提問,讓 AI 幫你分析新聞趨勢、查找特定信息、生成摘要報告等。如何使用 TrendRadar MCP 服務器?
使用 MCP 服務器需要兩個前提:1. 本地有 TrendRadar 項目運行產生的新聞數據(`output` 目錄)。2. 安裝並配置一個支持 MCP 的 AI 客戶端。配置完成後,你就可以在 AI 聊天界面中,像與人對話一樣查詢和分析新聞,例如:“查詢昨天知乎的熱點”、“分析最近一週‘AI’話題的趨勢”。適用場景
TrendRadar MCP 服務器非常適合需要深度挖掘新聞數據的用戶,例如: - **內容創作者**:快速查找特定主題的新聞素材,分析話題熱度。 - **投資者/分析師**:追蹤特定公司或行業的輿情變化,進行趨勢分析。 - **研究人員**:進行跨平臺數據對比、情感分析或歷史關聯檢索。 - **普通用戶**:用最自然的方式(對話)來了解自己關心的新聞,無需學習複雜的查詢語法。主要功能
如何使用
使用案例
常見問題
相關資源
安裝
{
"mcpServers": {
"trendradar": {
"url": "http://127.0.0.1:3333/mcp",
"type": "streamableHttp"
}
}
}
{
"mcpServers": {
"trendradar": {
"command": "uv",
"args": [
"--directory",
"/path/to/TrendRadar",
"run",
"python",
"-m",
"mcp_server.server"
],
"env": {},
"disabled": false,
"alwaysAllow": []
}
}
}
{
"mcpServers": {
"trendradar": {
"url": "http://localhost:3333/mcp",
"description": "TrendRadar 新闻热点聚合分析"
}
}
}
{
"mcpServers": {
"trendradar": {
"command": "uv",
"args": [
"--directory",
"/path/to/TrendRadar",
"run",
"python",
"-m",
"mcp_server.server"
]
}
}
}🚀 TrendRadar - 熱點助手
TrendRadar 是一款輕量且易部署的熱點助手,最快 30 秒即可完成部署。它能聚合全網熱點,通過智能推送策略和精準內容篩選,為你推送真正關心的新聞資訊,助你告別無效刷屏。
🚀 快速開始
1. 獲取項目代碼
點擊本倉庫頁面右上角的綠色 [Use this template] 按鈕,選擇 "Create a new repository"。
⚠️ 重要提示
後續文檔中提到的 "Fork" 均可理解為 "Use this template";使用 Fork 可能導致運行異常,詳見 Issue #606。
2. 設置 GitHub Secrets(必需 + 可選平臺)
在你 Fork 後的倉庫中,進入 Settings > Secrets and variables > Actions > New repository secret。
⚠️ GitHub Actions 使用說明 v4.0.0 重要變更:引入「活躍度檢測」機制,GitHub Actions 需定期簽到以維持運行。
🔄 簽到續期機制:
- 運行週期:有效期為 7 天,倒計時結束後服務將自動掛起。
- 續期方式:在 Actions 頁面手動觸發 "Check In" workflow,即可重置 7 天有效期。
- 操作路徑:
Actions→Check In→Run workflow - 設計理念:
- 如果 7 天都忘了簽到,或許這些資訊對你來說並非剛需。適時的暫停,能幫你從信息流中抽離,給大腦留出喘息的空間。
- GitHub Actions 是寶貴的公共計算資源。引入簽到機制旨在避免算力的無效空轉,確保資源能分配給真正活躍且需要的用戶。感謝你的理解與支持。
📌 重要說明(請務必仔細閱讀):
- 一個 Name 對應一個 Secret:每添加一個配置項,點擊一次"New repository secret"按鈕,填寫一對"Name"和"Secret"。
- 保存後看不到值是正常的:出於安全考慮,保存後重新編輯時,只能看到 Name(名稱),看不到 Secret(值)的內容。
- 嚴禁自創名稱:Secret 的 Name(名稱)必須嚴格使用下方列出的名稱(如
WEWORK_WEBHOOK_URL、FEISHU_WEBHOOK_URL等),不能自己隨意修改或創造新名稱,否則系統無法識別。 - 可以同時配置多個平臺:系統會向所有配置的平臺發送通知。
👉 點擊展開:輕量模式 vs 完整模式 + AI分析
兩種部署模式:
| 模式 | 配置要求 | 功能範圍 |
|---|---|---|
| 輕量模式 | 無需配置存儲 | 即時抓取 + 關鍵詞篩選 + 多渠道推送 |
| 完整模式 | 配置遠程雲存儲 | 輕量模式 + 新增檢測 + 趨勢追蹤 + 增量推送 + AI分析 |
輕量模式說明:
- ✅ 可用:即時新聞抓取、關鍵詞篩選、熱點權重排序、當前榜單推送。
- ❌ 不可用:新增新聞檢測(🆕)、熱度趨勢追蹤、增量模式、每日彙總累積、MCP AI分析。
完整模式說明: 配置遠程雲存儲後解鎖全部功能(見下方 推薦配置:遠程雲存儲)。
🚀 推薦:Docker 部署 如需長期穩定運行,建議使用 Docker 部署,數據存儲在本地,無需簽到,不過需要額外付費購買雲服務器。
👉 點擊展開:多賬號推送說明(v3.5.0 新增)
- 支持多賬號配置:所有推送渠道(飛書、釘釘、企業微信、Telegram、ntfy、Bark、Slack)均支持配置多個賬號。
- 配置方式:使用英文分號
;分隔多個賬號值。 - 示例:
FEISHU_WEBHOOK_URL的 Secret 值填寫https://webhook1;https://webhook2。 - 配對配置:Telegram 和 ntfy 需要保證配對參數數量一致(如 token 和 chat_id 都是 2 個)。
- 數量限制:默認每個渠道最多 3 個賬號,超出部分被截斷。
多賬號配置示例:
| Name(名稱) | Secret(值)示例 |
|---|---|
FEISHU_WEBHOOK_URL |
https://webhook1;https://webhook2;https://webhook3 |
TELEGRAM_BOT_TOKEN |
token1;token2 |
TELEGRAM_CHAT_ID |
chatid1;chatid2 |
NTFY_TOPIC |
topic1;topic2 |
NTFY_TOKEN |
;token2(第一個無 token 時留空佔位) |
3. 手動測試新聞推送
⚠️ 重要提示
完成第 1 - 2 步後,請立即測試!測試成功後再根據需要調整配置(第 4 步);請進入你自己的項目,不是本項目!
如何找到你的 Actions 頁面:
- 方法一:打開你 fork 的項目主頁,點擊頂部的 Actions 標籤。
- 方法二:直接訪問
https://github.com/你的用戶名/TrendRadar/actions。
測試步驟:
- 進入你項目的 Actions 頁面。
- 找到 "Get Hot News"(必須得是這個字)點進去,點擊右側的 "Run workflow" 按鈕運行。如果看不到該字樣,參照 #109 解決。
- 3 分鐘左右,消息會推送到你配置的平臺。
⚠️ 重要提示
手動測試不要太頻繁,避免觸發 GitHub Actions 限制;點擊 Run workflow 後需要刷新瀏覽器頁面才能看到新的運行記錄。
4. 配置說明(可選)
默認配置已可正常使用,如需個性化調整,瞭解以下三個文件即可:
| 文件 | 作用 |
|---|---|
config/config.yaml |
主配置文件:推送模式、時間窗口、平臺列表、熱點權重等 |
config/frequency_words.txt |
關鍵詞文件:設置你關心的詞彙,篩選推送內容 |
.github/workflows/crawler.yml |
執行頻率:控制多久運行一次(⚠️ 謹慎修改) |
👉 詳細配置教程:配置詳解
5. 🎉 部署成功!分享你的使用體驗
恭喜你完成了 TrendRadar 的配置!現在你可以開始追蹤熱點資訊了。
💬 有更多小夥伴在公眾號交流使用心得,期待你的分享~
- 想了解更多玩法和高級技巧?
- 遇到問題需要快速解答?
- 有好的想法想要交流?
👉 歡迎關注公眾號「硅基茶水間」,你的點贊和留言都是項目持續更新的動力。
6. 想要更智能的分析?試試 AI 增強功能(可選)
基礎配置已經能滿足日常使用,但如果你想要:
- 讓 AI 自動分析熱點趨勢和數據洞察。
- 通過自然語言搜索和查詢新聞。
- 獲得情感分析、話題預測等深度分析。
- 在 Claude、Cursor 等 AI 工具中直接調用數據。
👉 瞭解更多:AI 智能分析 — 解鎖項目的隱藏能力,讓熱點追蹤更高效!
✨ 主要特性
全網熱點聚合
默認監控 11 個主流平臺,包括知乎、抖音、bilibili 熱搜、華爾街見聞、貼吧、百度熱搜、財聯社熱門、澎湃新聞、鳳凰網、今日頭條、微博,也可自行增加額外的平臺。
💡 使用建議
詳細配置教程見 配置詳解 - 平臺配置。
智能推送策略
三種推送模式:
| 模式 | 適用場景 | 推送特點 |
|---|---|---|
| 當日彙總 (daily) | 企業管理者/普通用戶 | 按時推送當日所有匹配新聞(會包含之前推送過的) |
| 當前榜單 (current) | 自媒體人/內容創作者 | 按時推送當前榜單匹配新聞(持續在榜的每次都出現) |
| 增量監控 (incremental) | 投資者/交易員 | 僅推送新增內容,零重複 |
💡 使用建議
- 🔄 不想看到重複新聞 → 用
incremental(增量監控)。- 📊 想看完整榜單趨勢 → 用
current(當前榜單)。- 📝 需要每日彙總報告 → 用
daily(當日彙總)。詳細對比和配置教程見 配置詳解 - 推送模式詳解。
附加功能(可選):
| 功能 | 說明 | 默認 |
|---|---|---|
| 推送時間窗口控制 | 設定推送時間範圍(如 09:00 - 18:00),避免非工作時間打擾 | 關閉 |
| 內容順序配置 | 調整"熱點詞彙統計"和"新增熱點新聞"的顯示順序(v3.5.0 新增) | 統計在前 |
💡 使用建議
詳細配置教程見 配置詳解 - 報告配置 和 配置詳解 - 推送時間窗口。
精準內容篩選
設置個人關鍵詞(如:AI、比亞迪、教育政策),只推送相關熱點,過濾無關信息。
基礎語法(5種):
- 普通詞:基礎匹配。
- 必須詞
+:限定範圍。 - 過濾詞
!:排除干擾。 - 數量限制
@:控制顯示數量(v3.2.0 新增)。 - 全局過濾
[GLOBAL_FILTER]:全局排除指定內容(v3.5.0 新增)。
高級功能(v3.2.0 新增):
- 🔢 關鍵詞排序控制:按熱度優先 or 配置順序優先。
- 📊 顯示數量精準限制:全局配置 + 單獨配置,靈活控制推送長度。
詞組化管理: 空行分隔,獨立統計不同主題熱點。
💡 使用建議
- 基礎配置教程:關鍵詞配置 - 基礎語法。
- 高級配置教程:關鍵詞配置 - 高級配置。
- 也可以不做篩選,完整推送所有熱點(將 frequency_words.txt 留空)。
熱點趨勢分析
即時追蹤新聞熱度變化,讓你不僅知道"什麼在熱搜",更瞭解"熱點如何演變"。
- 時間軸追蹤:記錄每條新聞從首次出現到最後出現的完整時間跨度。
- 熱度變化:統計新聞在不同時間段的排名變化和出現頻次。
- 新增檢測:即時識別新出現的熱點話題,用🆕標記第一時間提醒。
- 持續性分析:區分一次性熱點話題和持續發酵的深度新聞。
- 跨平臺對比:同一新聞在不同平臺的排名表現,看出媒體關注度差異。
💡 使用建議
推送格式說明見 配置詳解 - 推送格式參考。
個性化熱點算法
不再被各個平臺的算法牽著走,TrendRadar 會重新整理全網熱搜:
- 看重排名高的新聞(佔60%):各平臺前幾名的新聞優先顯示。
- 關注持續出現的話題(佔30%):反覆出現的新聞更重要。
- 考慮排名質量(佔10%):不僅多次出現,還經常排在前列。
💡 使用建議
這三個比例可以調整,詳見 配置詳解 - 熱點權重調整。
多渠道即時推送
支持企業微信(+ 微信推送方案)、飛書、釘釘、Telegram、郵件、ntfy、Bark、Slack,消息直達手機和郵箱。
📌 多賬號推送說明(v3.5.0 新增):
- ✅ 支持多賬號配置:所有推送渠道(飛書、釘釘、企業微信、Telegram、ntfy、Bark、Slack)均支持配置多個賬號。
- ✅ 配置方式:使用英文分號
;分隔多個賬號值。 - ✅ 示例:
FEISHU_WEBHOOK_URL的 Secret 值填寫https://webhook1;https://webhook2。 - ⚠️ 配對配置:Telegram 和 ntfy 需要保證配對參數數量一致(如 token 和 chat_id 都是 2 個)。
- ⚠️ 數量限制:默認每個渠道最多 3 個賬號,超出會被截斷。
靈活存儲架構(v4.0.0 重大更新)
多存儲後端支持:
- ☁️ 遠程雲存儲:GitHub Actions 環境默認,支持 S3 兼容協議(R2/OSS/COS 等),數據存儲在雲端,不汙染倉庫。
- 💾 本地 SQLite 數據庫:Docker/本地環境默認,數據完全可控。
- 🔄 自動後端選擇:根據運行環境智能切換存儲方式。
數據格式:
| 格式 | 用途 | 說明 |
|---|---|---|
| SQLite | 主存儲 | 單文件數據庫,查詢快速,支持 MCP AI 分析 |
| TXT | 可選快照 | 可讀文本格式,方便直接查看 |
| HTML | 報告展示 | 精美可視化頁面,PC/移動端適配 |
數據管理:
- ✅ 自動清理過期數據(可配置保留天數)。
- ✅ 時區配置支持(全球時區)。
💡 使用建議
詳細說明見 配置詳解 - 存儲配置。
多端部署
- GitHub Actions:定時自動爬取 + 遠程雲存儲(需簽到續期)。
- Docker 部署:支持多架構容器化運行,數據本地存儲。
- 本地運行:Windows/Mac/Linux 直接運行。
AI 智能分析(v3.0.0 新增)
基於 MCP (Model Context Protocol) 協議的 AI 對話分析系統,讓你用自然語言深度挖掘新聞數據。
- 對話式查詢:用自然語言提問,如"查詢昨天知乎的熱點"、"分析比特幣最近的熱度趨勢"。
- 13 種分析工具:涵蓋基礎查詢、智能檢索、趨勢分析、數據洞察、情感分析等。
- 多客戶端支持:Cherry Studio(GUI 配置)、Claude Desktop、Cursor、Cline 等。
- 深度分析能力:
- 話題趨勢追蹤(熱度變化、生命週期、爆火檢測、趨勢預測)。
- 跨平臺數據對比(活躍度統計、關鍵詞共現)。
- 智能摘要生成、相似新聞查找、歷史關聯檢索。
💡 使用提示
AI 功能需要本地新聞數據支持:
- 項目自帶 11月1 - 15日 測試數據,可立即體驗。
- 建議自行部署運行項目,獲取更即時的數據。
詳見 AI 智能分析。
零技術門檻部署
GitHub 一鍵 Fork 即可使用,無需編程基礎。
30 秒部署: GitHub Pages(網頁瀏覽)支持一鍵保存成圖片,隨時分享給他人。 1 分鐘部署: 企業微信(手機通知)。
💡 提示:想要即時更新的網頁版?fork 後,進入你的倉庫 Settings → Pages,啟用 GitHub Pages。效果預覽。
減少 APP 依賴
從"被算法推薦綁架"變成"主動獲取自己想要的信息"。
適合人群:投資者、自媒體人、企業公關、關心時事的普通用戶。
典型場景:股市投資監控、品牌輿情追蹤、行業動態關注、生活資訊獲取。
| Github Pages 效果(手機端適配、郵箱推送效果) | 飛書推送效果 |
|---|---|
📦 安裝指南
方案一:Docker 部署(推薦 🔥)
- 特點:最穩定、最簡單,數據存儲在 本地 SQLite,完全自主可控。
- 適用:有自己的服務器、NAS 或長期運行的電腦。
👉 跳轉到 Docker 部署教程
方案二:GitHub Actions 部署(已恢復 ✅)
- 特點:數據不再直接寫入倉庫(Git Commit),而是存儲在 遠程雲存儲。
- 推薦:配置一個遠程雲存儲服務(Cloudflare R2、阿里雲 OSS、騰訊雲 COS 等)。
👉 點擊查看詳細配置教程
💻 使用示例
基礎用法
按照上述快速開始的步驟完成配置後,即可開始使用 TrendRadar 追蹤熱點資訊。例如,在配置好關鍵詞和推送平臺後,系統會按照設定的推送模式和時間,將相關熱點新聞推送到指定平臺。
高級用法
如果你需要更智能的分析,可以使用 AI 智能分析功能。例如,在配置好 Cherry Studio 等客戶端後,通過自然語言與新聞數據對話,進行深度分析,如查詢特定日期的熱點新聞、分析熱點話題的熱度趨勢等。
📚 詳細文檔
配置詳解
1. 平臺配置
👉 點擊展開:自定義監控平臺
配置位置:config/config.yaml 的 platforms 部分。
本項目的資訊數據來源於 newsnow ,你可以點擊網站,點擊[更多],查看是否有你想要的平臺。
具體添加可訪問 項目源代碼,根據裡面的文件名,在 config/config.yaml 文件中修改 platforms 配置:
platforms:
- id: "toutiao"
name: "今日頭條"
- id: "baidu"
name: "百度熱搜"
- id: "wallstreetcn-hot"
name: "華爾街見聞"
# 添加更多平臺...
💡 使用建議
如果不會看源代碼,可以複製他人整理好的 平臺配置彙總。
⚠️ 重要提示
平臺不是越多越好,建議選擇 10 - 15 個核心平臺。過多平臺會導致信息過載,反而降低使用體驗。
2. 關鍵詞配置
在 frequency_words.txt 文件中配置監控的關鍵詞,支持五種語法、區域標記和詞組功能。
| 語法類型 | 符號 | 作用 | 示例 | 匹配邏輯 |
|---|---|---|---|---|
| 普通詞 | 無 | 基礎匹配 | 華為 |
包含任意一個即可 |
| 必須詞 | + |
限定範圍 | +手機 |
必須同時包含 |
| 過濾詞 | ! |
排除干擾 | !廣告 |
包含則直接排除 |
| 數量限制 | @ |
控制顯示數量 | @10 |
最多顯示10條新聞(v3.2.0新增) |
| 全局過濾 | [GLOBAL_FILTER] |
全局排除指定內容 | 見下方示例 | 任何情況下都過濾(v3.5.0新增) |
2.1 基礎語法
👉 點擊展開:基礎語法教程
配置位置:config/frequency_words.txt。
普通關鍵詞 - 基礎匹配:
華為
OPPO
蘋果
作用:新聞標題包含其中任意一個詞就會被捕獲。
必須詞 +詞彙 - 限定範圍:
華為
OPPO
+手機
作用:必須同時包含普通詞和必須詞才會被捕獲。
過濾詞 !詞彙 - 排除干擾:
蘋果
華為
!廣告
作用:包含過濾詞的新聞會被直接排除,即使包含關鍵詞。
數量限制 @數字 - 控制顯示數量(v3.2.0 新增):
特斯拉
馬斯克
@10
作用:最多顯示10條新聞。
全局過濾 [GLOBAL_FILTER] - 全局排除指定內容(v3.5.0新增):
[GLOBAL_FILTER]
廣告
推廣
營銷
震驚
標題黨
[WORD_GROUPS]
科技
AI
華為
鴻蒙
!車
作用:在任何情況下都過濾包含指定內容的新聞。
使用場景:過濾廣告、營銷、低質內容等。
過濾優先級:全局過濾 > 詞組內過濾(!) > 詞組匹配。
區域說明:
[GLOBAL_FILTER]:全局過濾區,包含的詞在任何情況下都會被過濾。[WORD_GROUPS]:詞組區,保持現有語法(!、+、@)。- 如果不使用區域標記,默認全部作為詞組處理(向後兼容)。
匹配示例:
[GLOBAL_FILTER]
廣告
[WORD_GROUPS]
科技
AI
- ❌ "廣告:最新科技產品發佈" ← 包含全局過濾詞"廣告",直接拒絕。
- ✅ "科技公司發佈AI新產品" ← 不包含全局過濾詞,匹配"科技"詞組。
- ✅ "AI技術突破引發關注" ← 不包含全局過濾詞,匹配"科技"詞組中的"AI"。
注意事項:
- 全局過濾詞應謹慎使用,避免過度過濾導致遺漏有價值內容。
- 建議全局過濾詞控制在 5 - 15 個以內。
- 對於特定詞組的過濾,優先使用詞組內過濾詞(
!前綴)。
詞組功能 - 空行分隔的重要作用: 用空行分隔不同的詞組,每個詞組獨立統計。
示例配置:
iPhone
華為
OPPO
+發佈
A股
上證
深證
+漲跌
!預測
世界盃
歐洲盃
亞洲盃
+比賽
詞組解釋及匹配效果: 第1組 - 手機新品類:
- 關鍵詞:iPhone、華為、OPPO。
- 必須詞:發佈。
- 效果:必須包含手機品牌名,同時包含"發佈"。
匹配示例:
- ✅ "iPhone 15正式發佈售價公佈" ← 有"iPhone"+"發佈"。
- ✅ "華為Mate60系列發佈會直播" ← 有"華為"+"發佈"。
- ✅ "OPPO Find X7發佈時間確定" ← 有"OPPO"+"發佈"。
- ❌ "iPhone銷量創新高" ← 有"iPhone"但缺少"發佈"。
第2組 - 股市行情類:
- 關鍵詞:A股、上證、深證。
- 必須詞:漲跌。
- 過濾詞:預測。
- 效果:關注股市漲跌實況,排除預測類內容。
匹配示例:
- ✅ "A股今日大幅漲跌分析" ← 有"A股"+"漲跌"。
- ✅ "上證指數漲跌幅創新高" ← 有"上證"+"漲跌"。
- ❌ "專家預測A股漲跌趨勢" ← 有"A股"+"漲跌"但包含"預測"。
第3組 - 足球賽事類:
- 關鍵詞:世界盃、歐洲盃、亞洲盃。
- 必須詞:比賽。
- 效果:只關注比賽相關新聞。
配置技巧: 從寬到嚴:
# 第一步:先用寬泛關鍵詞測試
人工智能
AI
ChatGPT
# 第二步:發現誤匹配後,加入必須詞限定
人工智能
AI
ChatGPT
+技術
# 第三步:發現干擾內容後,加入過濾詞
人工智能
AI
ChatGPT
+技術
!廣告
!培訓
避免過度複雜: ❌ 不推薦:一個詞組包含太多詞彙。
華為
OPPO
蘋果
三星
vivo
一加
魅族
+手機
+發佈
+銷量
!假貨
!維修
!二手
✅ 推薦:拆分成多個精確的詞組。
華為
OPPO
+新品
蘋果
三星
+發佈
手機
銷量
+市場
2.2 高級配置(v3.2.0 新增)
👉 點擊展開:高級配置教程
關鍵詞排序優先級:
配置位置:config/config.yaml。
report:
sort_by_position_first: false # 排序優先級配置
| 配置值 | 排序規則 | 適用場景 |
|---|---|---|
false(默認) |
熱點條數 ↓ → 配置位置 ↑ | 關注熱度趨勢 |
true |
配置位置 ↑ → 熱點條數 ↓ | 關注個人優先級 |
示例:配置順序 A、B、C,熱點數 A(3條)、B(10條)、C(5條)。
false:B(10條) → C(5條) → A(3條)。true:A(3條) → B(10條) → C(5條)。
全局顯示數量限制:
report:
max_news_per_keyword: 10 # 每個關鍵詞最多顯示10條(0=不限制)
Docker 環境變量:
SORT_BY_POSITION_FIRST=true
MAX_NEWS_PER_KEYWORD=10
綜合示例:
# config.yaml
report:
sort_by_position_first: true # 按配置順序優先
max_news_per_keyword: 10 # 全局默認每個關鍵詞最多10條
# frequency_words.txt
特斯拉
馬斯克
@20 # 重點關注,顯示20條(覆蓋全局配置)
華為 # 使用全局配置,顯示10條
比亞迪
@5 # 限制5條
最終效果:按配置順序顯示 特斯拉(20條) → 華為(10條) → 比亞迪(5條)。
3. 推送模式詳解
👉 點擊展開:三種推送模式詳細對比
配置位置:config/config.yaml 的 report.mode。
report:
mode: "daily" # 可選: "daily" | "incremental" | "current"
Docker 環境變量:REPORT_MODE=incremental。
詳細對比表格:
| 模式 | 適用人群 | 推送時機 | 顯示內容 | 典型使用場景 |
|---|---|---|---|---|
當日彙總daily |
📋 企業管理者/普通用戶 | 按時推送(默認每小時推送一次) | 當日所有匹配新聞 + 新增新聞區域 |
案例:每天下午6點查看今天所有重要新聞 特點:看全天完整趨勢,不漏掉任何熱點 提醒:會包含之前推送過的新聞 |
當前榜單current |
📰 自媒體人/內容創作者 | 按時推送(默認每小時推送一次) | 當前榜單匹配新聞 + 新增新聞區域 |
案例:每小時追蹤"哪些話題現在最火" 特點:即時瞭解當前熱度排名變化 提醒:持續在榜的新聞每次都會出現 |
增量監控incremental |
📈 投資者/交易員 | 有新增才推送 | 新出現的匹配頻率詞新聞 | 案例:監控"特斯拉",只在有新消息時通知 特點:零重複,只看首次出現的新聞 適合:高頻監控、避免信息打擾 |
實際推送效果舉例: 假設你監控"蘋果"關鍵詞,每小時執行一次:
| 時間 | daily 模式推送 | current 模式推送 | incremental 模式推送 |
|---|---|---|---|
| 10:00 | 新聞A、新聞B | 新聞A、新聞B | 新聞A、新聞B |
| 11:00 | 新聞A、新聞B、新聞C | 新聞B、新聞C、新聞D | 僅新聞C |
| 12:00 | 新聞A、新聞B、新聞C | 新聞C、新聞D、新聞E | 僅新聞D、新聞E |
說明:
daily:累積展示當天所有新聞(A、B、C 都保留)。current:展示當前榜單的新聞(排名變化,新聞D上榜,新聞A掉榜)。incremental:只推送新出現的新聞(避免重複干擾)。
常見問題:
💡 使用建議
遇到這個問題?👉 "每個小時執行一次,第一次執行完輸出的新聞,在下一個小時執行時還會出現"。
- 原因:你可能選擇了
daily(當日彙總)或current(當前榜單)模式。- 解決:改用
incremental(增量監控)模式,只推送新增內容。
增量模式重要提示:
⚠️ 重要提示
選擇了
incremental(增量監控)模式的用戶請注意:
- 📌 增量模式只在有新增匹配新聞時才會推送。
- 如果長時間沒有收到推送,可能是因為:
- 當前時段沒有符合你關鍵詞的新熱點出現。
- 關鍵詞配置過於嚴格或過於寬泛。
- 監控平臺數量較少。
- 解決方案:
- 方案1:👉 優化關鍵詞配置 - 調整關鍵詞的精準度,增加或修改監控詞彙。
- 方案2:切換推送模式 - 改用
current或daily模式,可以定時接收推送。- 方案3:👉 增加監控平臺 - 添加更多新聞平臺,擴大信息來源。
4. 熱點權重調整
👉 點擊展開:熱點權重調整
配置位置:config/config.yaml 的 weight 部分。
weight:
rank_weight: 0.6 # 排名權重
frequency_weight: 0.3 # 頻次權重
hotness_weight: 0.1 # 熱度權重
當前默認的配置是平衡性配置。
兩個核心場景: 追即時熱點型:
weight:
rank_weight: 0.8 # 主要看排名
frequency_weight: 0.1 # 不太在乎持續性
hotness_weight: 0.1
適用人群:自媒體博主、營銷人員、想快速瞭解當下最火話題的用戶。
追深度話題型:
weight:
rank_weight: 0.4 # 適度看排名
frequency_weight: 0.5 # 重視當天內的持續熱度
hotness_weight: 0.1
適用人群:投資者、研究人員、新聞工作者、需要深度分析趨勢的用戶。
調整的方法:
- 三個數字加起來必須等於 1.0。
- 哪個重要就調大哪個:在乎排名就調大 rank_weight,在乎持續性就調大 frequency_weight。
- 建議每次只調 0.1 - 0.2,觀察效果。
核心思路:追求速度和時效性的用戶提高排名權重,追求深度和穩定性的用戶提高頻次權重。
5. 推送格式參考
👉 點擊展開:推送格式說明
推送示例:
📊 熱點詞彙統計
🔥 [1/3] AI ChatGPT : 2 條
1. [百度熱搜] 🆕 ChatGPT-5正式發佈 [**1**] - 09時15分 (1次)
2. [今日頭條] AI芯片概念股暴漲 [**3**] - [08時30分 ~ 10時45分] (3次)
━━━━━━━━━━━━━━━━━━━
📈 [2/3] 比亞迪 特斯拉 : 2 條
1. [微博] 🆕 比亞迪月銷量破紀錄 [**2**] - 10時20分 (1次)
2. [抖音] 特斯拉降價促銷 [**4**] - [07時45分 ~ 09時15分] (2次)
━━━━━━━━━━━━━━━━━━━
📌 [3/3] A股 股市 : 1 條
1. [華爾街見聞] A股午盤點評分析 [**5**] - [11時30分 ~ 12時00分] (2次)
🆕 本次新增熱點新聞 (共 2 條)
**百度熱搜** (1 條):
1. ChatGPT-5正式發佈 [**1**]
**微博** (1 條):
1. 比亞迪月銷量破紀錄 [**2**]
更新時間:2025-01-15 12:30:15
消息格式說明:
| 格式元素 | 示例 | 含義 | 說明 |
|---|---|---|---|
| 🔥📈📌 | 🔥 [1/3] AI ChatGPT | 熱度等級 | 🔥高熱度(≥10條) 📈中熱度(5 - 9條) 📌普通熱度(<5條) |
| [序號/總數] | [1/3] | 排序位置 | 當前詞組在所有匹配詞組中的排名 |
| 頻率詞組 | AI ChatGPT | 關鍵詞組 | 配置文件中的詞組,標題必須包含其中詞彙 |
| : N 條 | : 2 條 | 匹配數量 | 該詞組匹配的新聞總數 |
| [平臺名] | [百度熱搜] | 來源平臺 | 新聞所屬的平臺名稱 |
| 🆕 | 🆕 ChatGPT-5正式發佈 | 新增標記 | 本輪抓取中首次出現的熱點 |
| [數字] | [1] | 高排名 | 排名≤閾值的熱搜,紅色加粗顯示 |
| [數字] | [7] | 普通排名 | 排名>閾值的熱搜,普通顯示 |
| - 時間 | - 09時15分 | 首次時間 | 該新聞首次被發現的時間 |
| [時間~時間] | [08時30分 ~ 10時45分] | 持續時間 | 從首次出現到最後出現的時間範圍 |
| (N次) | (3次) | 出現頻率 | 在監控期間出現的總次數 |
| 新增區域 | 🆕 本次新增熱點新聞 | 新話題彙總 | 單獨展示本輪新出現的熱點話題 |
</details>
#### 6. Docker 部署
<details>
<summary>👉 點擊展開:<strong>Docker 部署完整指南</strong></summary>
<br>
**鏡像說明**:
TrendRadar 提供兩個獨立的 Docker 鏡像,可根據需求選擇部署:
| 鏡像名稱 | 用途 | 說明 |
|---------|------|------|
| `wantcat/trendradar` | 新聞推送服務 | 定時抓取新聞、推送通知(必選) |
| `wantcat/trendradar-mcp` | AI 分析服務 | MCP 協議支持、AI 對話分析(可選) |
> 💡 **使用建議**
>
> - 只需要推送功能:僅部署 `wantcat/trendradar` 鏡像。
> - 需要 AI 分析功能:同時部署兩個鏡像。
**方式一:使用 docker compose(推薦)**
1. **創建項目目錄和配置**:
**方式 1 - A:使用 git clone(推薦,最簡單)**
```bash
# 克隆項目到本地
git clone https://github.com/sansan0/TrendRadar.git
cd TrendRadar
方式 1 - B:使用 wget 下載配置文件
# 創建目錄結構
mkdir -p trendradar/{config,docker}
cd trendradar
# 下載配置文件模板
wget https://raw.githubusercontent.com/sansan0/TrendRadar/master/config/config.yaml -P config/
wget https://raw.githubusercontent.com/sansan0/TrendRadar/master/config/frequency_words.txt -P config/
# 下載 docker compose 配置
wget https://raw.githubusercontent.com/sansan0/TrendRadar/master/docker/.env -P docker/
wget https://raw.githubusercontent.com/sansan0/TrendRadar/master/docker/docker-compose.yml -P docker/
💡 說明
Docker 部署需要的關鍵目錄結構如下:
當前目錄/
├── config/
│ ├── config.yaml
│ └── frequency_words.txt
└── docker/
├── .env
└── docker-compose.yml
- 配置文件說明:
config/config.yaml- 應用主配置(報告模式、推送設置等)。config/frequency_words.txt- 關鍵詞配置(設置你關心的熱點詞彙)。.env- 環境變量配置(webhook URLs 和定時任務)。
⚙️ 環境變量覆蓋機制(v3.0.5+)
如果你在 NAS 或其他 Docker 環境中遇到修改 config.yaml 後配置不生效的問題,可以通過環境變量直接覆蓋配置:
| 環境變量 | 對應配置 | 示例值 | 說明 |
|---|---|---|---|
ENABLE_CRAWLER |
crawler.enable_crawler |
true / false |
是否啟用爬蟲 |
ENABLE_NOTIFICATION |
notification.enable_notification |
true / false |
是否啟用通知 |
REPORT_MODE |
report.mode |
daily / incremental / current |
報告模式 |
MAX_ACCOUNTS_PER_CHANNEL |
notification.max_accounts_per_channel |
3 |
每個渠道最大賬號數 |
PUSH_WINDOW_ENABLED |
notification.push_window.enabled |
true / false |
推送時間窗口開關 |
PUSH_WINDOW_START |
notification.push_window.time_range.start |
08:00 |
推送開始時間 |
PUSH_WINDOW_END |
notification.push_window.time_range.end |
22:00 |
推送結束時間 |
ENABLE_WEBSERVER |
- | true / false |
是否自動啟動 Web 服務器 |
WEBSERVER_PORT |
- | 8080 |
Web 服務器端口(默認 8080) |
FEISHU_WEBHOOK_URL |
notification.webhooks.feishu_url |
https://... |
飛書 Webhook(支持多賬號,用 ; 分隔) |
配置優先級:環境變量 > config.yaml。
使用方法:
- 修改
.env文件,取消註釋並填寫需要的配置。 - 或在 NAS/群暉 Docker 管理界面的"環境變量"中直接添加。
- 重啟容器後生效:
docker compose up -d。
- 啟動服務: 選項 A:啟動所有服務(推送 + AI 分析)
# 拉取最新鏡像
docker compose pull
# 啟動所有服務(trend - radar + trend - radar - mcp)
docker compose up -d
選項 B:僅啟動新聞推送服務
# 只啟動 trend - radar(定時抓取和推送)
docker compose pull trend - radar
docker compose up -d trend - radar
選項 C:僅啟動 MCP AI 分析服務
# 只啟動 trend - radar - mcp(提供 AI 分析接口)
docker compose pull trend - radar - mcp
docker compose up -d trend - radar - mcp
💡 提示
- 大多數用戶只需啟動
trend - radar即可實現新聞推送功能。- 只有需要使用 Claude/ChatGPT 進行 AI 對話分析時,才需啟動
trend - radar - mcp。- 兩個服務相互獨立,可根據需求靈活組合。
- 查看運行狀態:
# 查看新聞推送服務日誌
docker logs -f trend - radar
# 查看 MCP AI 分析服務日誌
docker logs -f trend - radar - mcp
# 查看所有容器狀態
docker ps | grep trend - radar
# 停止特定服務
docker compose stop trend - radar # 停止推送服務
docker compose stop trend - radar - mcp # 停止 MCP 服務
方式二:本地構建(開發者選項) 如果需要自定義修改代碼或構建自己的鏡像:
# 克隆項目
git clone https://github.com/sansan0/TrendRadar.git
cd TrendRadar
# 修改配置文件
vim config/config.yaml
vim config/frequency_words.txt
# 使用構建版本的 docker compose
cd docker
cp docker-compose-build.yml docker-compose.yml
構建並啟動服務: 選項 A:構建並啟動所有服務
docker compose build
docker compose up -d
選項 B:僅構建並啟動新聞推送服務
docker compose build trend - radar
docker compose up -d trend - radar
選項 C:僅構建並啟動 MCP AI 分析服務
docker compose build trend - radar - mcp
docker compose up -d trend - radar - mcp
💡 架構參數說明
- 默認構建
amd64架構鏡像(適用於大多數 x86_64 服務器)。- 如需構建
arm64架構(Apple Silicon、樹莓派等),設置環境變量:export DOCKER_ARCH=arm64 docker compose build
鏡像更新:
# 方式一:手動更新(爬蟲 + MCP 鏡像)
docker pull wantcat/trendradar:latest
docker pull wantcat/trendradar - mcp:latest
docker compose down
docker compose up -d
# 方式二:使用 docker compose 更新
docker compose pull
docker compose up -d
可用鏡像:
| 鏡像名稱 | 用途 | 說明 |
|---|---|---|
wantcat/trendradar |
新聞推送服務 | 定時抓取新聞、推送通知 |
wantcat/trendradar - mcp |
MCP 服務 | AI 分析功能(可選) |
服務管理命令:
# 查看運行狀態
docker exec -it trend - radar python manage.py status
# 手動執行一次爬蟲
docker exec -it trend - radar python manage.py run
# 查看即時日誌
docker exec -it trend - radar python manage.py logs
# 顯示當前配置
docker exec -it trend - radar python manage.py config
# 顯示輸出文件
docker exec -it trend - radar python manage.py files
# Web 服務器管理(用於瀏覽器訪問生成的報告)
docker exec -it trend - radar python manage.py start_webserver # 啟動 Web 服務器
docker exec -it trend - radar python manage.py stop_webserver # 停止 Web 服務器
docker exec -it trend - radar python manage.py webserver_status # 查看 Web 服務器狀態
# 查看幫助信息
docker exec -it trend - radar python manage.py help
# 重啟容器
docker restart trend - radar
# 停止容器
docker stop trend - radar
# 刪除容器(保留數據)
docker rm trend - radar
💡 Web 服務器說明
- 啟動後可通過瀏覽器訪問
http://localhost:8080查看最新報告。- 通過目錄導航訪問歷史報告(如:
http://localhost:8080/2025 - xx - xx/)。- 端口可在
.env文件中配置WEBSERVER_PORT參數。- 自動啟動:在
.env中設置ENABLE_WEBSERVER=true。- 安全提示:僅提供靜態文件訪問,限制在 output 目錄,只綁定本地訪問。
數據持久化:
生成的報告和數據默認保存在 ./output 目錄下,即使容器重啟或刪除,數據也會保留。
📊 網頁版報告訪問路徑: TrendRadar 生成的當日彙總 HTML 報告會同時保存到兩個位置:
| 文件位置 | 訪問方式 | 適用場景 |
|---|---|---|
output/index.html |
宿主機直接訪問 | Docker 部署(通過 Volume 掛載,宿主機可見) |
index.html |
根目錄訪問 | GitHub Pages(倉庫根目錄,Pages 自動識別) |
output/YYYY - MM - DD/html/當日彙總.html |
歷史報告訪問 | 所有環境(按日期歸檔) |
本地訪問示例:
# 方式 1:通過 Web 服務器訪問(推薦,Docker 環境)
# 1. 啟動 Web 服務器
docker exec -it trend - radar python manage.py start_webserver
# 2. 在瀏覽器訪問
http://localhost:8080 # 訪問最新報告(默認 index.html)
http://localhost:8080/2025 - xx - xx/ # 訪問指定日期的報告
http://localhost:8080/2025 - xx - xx/html/ # 瀏覽該日期下的所有 HTML 文件
# 方式 2:直接打開文件(本地環境)
open ./output/index.html # macOS
start ./output/index.html # Windows
xdg - open ./output/index.html # Linux
# 方式 3:訪問歷史歸檔
open ./output/2025 - xx - xx/html/當日彙總.html
為什麼有兩個 index.html?
output/index.html:Docker Volume 掛載到宿主機,本地可直接打開。index.html:GitHub Actions 推送到倉庫,GitHub Pages 自動部署。
💡 提示
兩個文件內容完全相同,選擇任意一個訪問即可。
故障排查:
# 檢查容器狀態
docker inspect trend - radar
# 查看容器日誌
docker logs --tail 100 trend - radar
# 進入容器調試
docker exec -it trend - radar /bin/bash
# 驗證配置文件
docker exec -it trend - radar ls -la /app/config/
MCP 服務部署(AI 分析功能): 如果需要使用 AI 分析功能,可以部署獨立的 MCP 服務容器。
架構說明:
flowchart TB
subgraph trend - radar["trend - radar"]
A1[定時抓取新聞]
A2[推送通知]
end
subgraph trend - radar - mcp["trend - radar - mcp"]
B1[127.0.0.1:3333]
B2[AI 分析接口]
end
subgraph shared["共享卷"]
C1["config/ (ro)"]
C2["output/ (ro)"]
end
trend - radar --> shared
trend - radar - mcp --> shared
快速啟動: 如果已按照 方式一:使用 docker compose 完成部署,只需啟動 MCP 服務:
cd TrendRadar/docker
docker compose up -d trend - radar - mcp
# 查看運行狀態
docker ps | grep trend - radar - mcp
單獨啟動 MCP 服務(不使用 docker compose):
# Linux/Mac
docker run -d --name trend - radar - mcp \
-p 127.0.0.1:3333:3333 \
-v $(pwd)/config:/app/config:ro \
-v $(pwd)/output:/app/output:ro \
-e TZ=Asia/Shanghai \
wantcat/trendradar - mcp:latest
# Windows PowerShell
docker run -d --name trend - radar - mcp `
-p 127.0.0.1:3333:3333 `
-v ${PWD}/config:/app/config:ro `
-v ${PWD}/output:/app/output:ro `
-e TZ=Asia/Shanghai `
wantcat/trendradar - mcp:latest
⚠️ 注意
單獨運行時,確保當前目錄下有
config/和output/文件夾,且包含配置文件和新聞數據。
驗證服務:
# 檢查 MCP 服務健康狀態
curl http://127.0.0.1:3333/mcp
# 查看 MCP 服務日誌
docker logs -f trend - radar - mcp
在 AI 客戶端中配置: MCP 服務啟動後,根據不同客戶端進行配置:
Cherry Studio(推薦,GUI 配置):
- 設置 → MCP 服務器 → 添加。
- 類型:
streamableHttp。 - URL:
http://127.0.0.1:3333/mcp。
Claude Desktop / Cline(JSON 配置):
{
"mcpServers": {
"trendradar": {
"url": "http://127.0.0.1:3333/mcp",
"type": "streamableHttp"
}
}
}
💡 提示
MCP 服務僅監聽本地端口(127.0.0.1),確保安全性。如需遠程訪問,請自行配置反向代理和認證。
7. 報告配置
👉 點擊展開:報告相關參數配置
配置位置:config/config.yaml 的 report 部分。
report:
mode: "daily" # 推送模式
rank_threshold: 5 # 排名高亮閾值
sort_by_position_first: false # 排序優先級
max_news_per_keyword: 0 # 每個關鍵詞最大顯示數量
reverse_content_order: false # 內容順序配置
配置項詳解:
| 配置項 | 類型 | 默認值 | 說明 |
|---|---|---|---|
mode |
string | daily |
推送模式,可選 daily/incremental/current,詳見 推送模式詳解 |
rank_threshold |
int | 5 |
排名高亮閾值,排名 ≤ 該值的新聞會加粗顯示 |
sort_by_position_first |
bool | false |
排序優先級:false=按熱點條數排序,true=按配置位置排序 |
max_news_per_keyword |
int | 0 |
每個關鍵詞最大顯示數量,0=不限制 |
reverse_content_order |
bool | false |
內容順序:false=熱點詞彙統計在前,true=新增熱點新聞在前 |
內容順序配置(v3.5.0 新增): 控制推送消息和 HTML 報告中兩部分內容的顯示順序:
| 配置值 | 顯示順序 |
|---|---|
false(默認) |
① 熱點詞彙統計 → ② 新增熱點新聞 |
true |
① 新增熱點新聞 → ② 熱點詞彙統計 |
適用場景:
false(默認):適合關注關鍵詞匹配結果的用戶,先看分類統計。true:適合關注最新動態的用戶,優先查看新增熱點。
Docker 環境變量:
REVERSE_CONTENT_ORDER=true
排序優先級配置: 示例場景:配置順序 A、B、C,熱點數 A(3條)、B(10條)、C(5條)。
| 配置值 | 顯示順序 | 適用場景 |
|---|---|---|
false(默認) |
B(10條) → C(5條) → A(3條) | 關注熱度趨勢 |
true |
A(3條) → B(10條) → C(5條) | 關注個人優先級 |
Docker 環境變量:
SORT_BY_POSITION_FIRST=true
MAX_NEWS_PER_KEYWORD=10
8. 推送時間窗口配置
👉 點擊展開:推送時間窗口控制詳解
配置位置:config/config.yaml 的 notification.push_window 部分。
notification:
push_window:
enabled: false # 是否啟用
time_range:
start: "20:00" # 開始時間(北京時間)
end: "22:00" # 結束時間(北京時間)
once_per_day: true # 每天只推送一次
配置項詳解:
| 配置項 | 類型 | 默認值 | 說明 |
|---|---|---|---|
enabled |
bool | false |
是否啟用推送時間窗口控制 |
time_range.start |
string | "20:00" |
推送時間窗口開始時間(北京時間,HH:MM 格式) |
time_range.end |
string | "22:00" |
推送時間窗口結束時間(北京時間,HH:MM 格式) |
once_per_day |
bool | true |
true=每天在窗口內只推送一次,false=窗口內每次執行都推送 |
使用場景:
| 場景 | 配置示例 |
|---|---|
| 工作時間推送 | start: "09:00", end: "18:00", once_per_day: false |
| 晚間彙總推送 | start: "20:00", end: "22:00", once_per_day: true |
| 午休時間推送 | start: "12:00", end: "13:00", once_per_day: true |
重要提示:
⚠️ 重要提示
GitHub Actions 用戶注意:
- GitHub Actions 執行時間不穩定,可能有 ±15 分鐘的偏差。
- 時間範圍建議至少留足 2 小時。
- 如果想要精準的定時推送,建議使用 Docker 部署在個人服務器上。
Docker 環境變量:
PUSH_WINDOW_ENABLED=true
PUSH_WINDOW_START=09:00
PUSH_WINDOW_END=18:00
PUSH_WINDOW_ONCE_PER_DAY=false
完整配置示例: 場景:每天晚上 8 - 10 點只推送一次彙總。
notification:
push_window:
enabled: true
time_range:
start: "20:00"
end: "22:00"
once_per_day: true
場景:工作時間內每小時推送。
notification:
push_window:
enabled: true
time_range:
start: "09:00"
end: "18:00"
once_per_day: false
9. 執行頻率配置
👉 點擊展開:自動運行頻率設置
配置位置:.github/workflows/crawler.yml 的 schedule 部分。
on:
schedule:
- cron: "0 * * * *" # 每小時運行一次
什麼是 Cron 表達式?
Cron 是一種定時任務格式,由 5 個部分組成:分 時 日 月 周。
┌───────────── 分鐘 (0 - 59)
│ ┌───────────── 小時 (0 - 23)
│ │ ┌───────────── 日期 (1 - 31)
│ │ │ ┌───────────── 月份 (1 - 12)
│ │ │ │ ┌───────────── 星期 (0 - 6,0 = 週日)
│ │ │ │ │
* * * * *
常用配置示例:
| 想要的效果 | Cron 表達式 | 說明 |
|---|---|---|
| 每小時運行 | 0 * * * * |
每小時的第 0 分鐘運行(默認) |
| 每 30 分鐘運行 | */30 * * * * |
每隔 30 分鐘運行一次 |
| 每天早 8 點運行 | 0 0 * * * |
UTC 0:00 = 北京時間 8:00 |
| 工作時間運行 | */30 0 - 14 * * * |
北京 8:00 - 22:00,每 30 分鐘 |
| 每天 3 次 | 0 0,6,12 * * * |
北京 8:00、14:00、20:00 |
重要提示:
⚠️ 重要提示
- 時區注意:GitHub Actions 使用 UTC 時間,北京時間需要 減 8 小時。
- 想要北京時間 8:00 運行 → 設置 UTC 0:00。
- 想要北京時間 20:00 運行 → 設置 UTC 12:00。
- 頻率限制:GitHub 對每個賬號的 Actions 運行次數有限額。
- 建議:不要設置比 30 分鐘更短的間隔。
- 原因:過於頻繁可能被判定為濫用,面臨封號風險。
- 實際情況:GitHub Actions 執行時間本身就有偏差,設置太精確意義不大。
修改方法:
- 打開你 fork 的倉庫。
- 找到
.github/workflows/crawler.yml文件。 - 點擊編輯(鉛筆圖標)。
- 修改
cron: "0 * * * *"中的表達式。 - 點擊 "Commit changes" 保存。
10. 多賬號推送配置
👉 點擊展開:多賬號推送配置詳解
⚠️ 重要提示
GitHub Fork 用戶請勿在
config.yaml中配置推送信息!
- 風險說明:
config.yaml會被提交到公開的 Git 倉庫,配置推送信息(Webhook URL、Token 等)會洩露敏感數據。- 推薦方式:
- GitHub Actions 用戶 → 使用 GitHub Secrets 環境變量。
- Docker 用戶 → 使用 (
.env已在.gitignore中,不會被提交)。- 本地開發用戶:可以在
config.yaml中配置(確保不會 push 到公開倉庫)。
支持的渠道:
| 渠道 | 配置項 | 是否需要配對 | 說明 |
|---|---|---|---|
| 飛書 | feishu_url |
否 | 多個 webhook URL |
| 釘釘 | dingtalk_url |
否 | 多個 webhook URL |
| 企業微信 | wework_url |
否 | 多個 webhook URL |
| Telegram | telegram_bot_token + telegram_chat_id |
✅ 是 | token 和 chat_id 數量必須一致 |
| ntfy | ntfy_topic + ntfy_token |
✅ 是 | topic 和 token 數量必須一致(token 可選) |
| Bark | bark_url |
否 | 多個推送 URL |
| Slack | slack_webhook_url |
否 | 多個 webhook URL |
| 郵件 | email_to |
- | 已支持多收件人(逗號分隔),無需修改 |
推薦配置方式 1:GitHub Actions 環境變量 配置位置:GitHub Repo → Settings → Secrets and variables → Actions → Repository secrets。
基礎配置示例:
# 多賬號數量限制
MAX_ACCOUNTS_PER_CHANNEL=3
# 飛書多賬號(3個群組)
FEISHU_WEBHOOK_URL=https://hook1.feishu.cn/xxx;https://hook2.feishu.cn/yyy;https://hook3.feishu.cn/zzz
# 釘釘多賬號(2個群組)
DINGTALK_WEBHOOK_URL=https://oapi.dingtalk.com/xxx;https://oapi.dingtalk.com/yyy
# 企業微信多賬號(2個群組)
WEWORK_WEBHOOK_URL=https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx;https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=yyy
# Bark多賬號(2個設備)
BARK_URL=https://api.day.app/key1;https://api.day.app/key2
# Slack多賬號(2個頻道)
SLACK_WEBHOOK_URL=https://hooks.slack.com/xxx;https://hooks.slack.com/yyy
配對配置示例(Telegram 和 ntfy):
Telegram 配對配置
# ✅ 正確配置:2個token對應2個chat_id
TELEGRAM_BOT_TOKEN=123456:AAA - BBB;789012:CCC - DDD
TELEGRAM_CHAT_ID=-100111;-100222
# ❌ 錯誤配置:數量不一致,將跳過推送
TELEGRAM_BOT_TOKEN=token1;token2;token3
TELEGRAM_CHAT_ID=id1;id2
說明:token 和 chat_id 的數量必須完全一致,否則該渠道推送會被跳過。
ntfy 配對配置
# ✅ 正確配置:3個topic,只有第2個需要token
NTFY_TOPIC=topic1;topic2;topic3
NTFY_TOKEN=;token_for_topic2;
# ✅ 正確配置:2個topic都需要token
NTFY_TOPIC=topic1;topic2
NTFY_TOKEN=token1;token2
# ❌ 錯誤配置:topic和token數量不匹配
NTFY_TOPIC=topic1;topic2
NTFY_TOKEN=token1;token2;token3
說明:
- 如果某個 topic 不需要 token,在對應位置留空(兩個分號之間)。
topic和token的數量必須一致。
推薦配置方式 2:Docker 環境變量(.env)
配置位置:項目根目錄 docker/.env 文件。
基礎配置示例:
# 多賬號數量限制
MAX_ACCOUNTS_PER_CHANNEL=3
# 飛書多賬號(3個群組)
FEISHU_WEBHOOK_URL=https://hook1.feishu.cn/xxx;https://hook2.feishu.cn/yyy;https://hook3.feishu.cn/zzz
# 釘釘多賬號(2個群組)
DINGTALK_WEBHOOK_URL=https://oapi.dingtalk.com/xxx;https://oapi.dingtalk.com/yyy
# 企業微信多賬號(2個群組)
WEWORK_WEBHOOK_URL=https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx;https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=yyy
# Bark多賬號(2個設備)
BARK_URL=https://api.day.app/key1;https://api.day.app/key2
# Slack多賬號(2個頻道)
SLACK_WEBHOOK_URL=https://hooks.slack.com/xxx;https://hooks.slack.com/yyy
配對配置示例(Telegram 和 ntfy):
Telegram 配對配置
# ✅ 正確配置:2個token對應2個chat_id
TELEGRAM_BOT_TOKEN=123456:AAA - BBB;789012:CCC - DDD
TELEGRAM_CHAT_ID=-100111;-100222
# ❌ 錯誤配置:數量不一致,將跳過推送
TELEGRAM_BOT_TOKEN=token1;token2;token3
TELEGRAM_CHAT_ID=id1;id2
說明:token 和 chat_id 的數量必須完全一致,否則該渠道推送會被跳過。
ntfy 配對配置
# ✅ 正確配置:3個topic,只有第2個需要token
NTFY_TOPIC=topic1;topic2;topic3
NTFY_TOKEN=;token_for_topic2;
# ✅ 正確配置:2個topic都需要token
NTFY_TOPIC=topic1;topic2
NTFY_TOKEN=token1;token2
# ❌ 錯誤配置:topic和
替代品








