在信息爆炸的时代,如何高效聚合多平台新闻热点,并通过 AI 驱动的分析实现智能趋势跟踪和自动化通知,成为工程化部署的关键挑战。TrendRadar 项目提供了一个轻量级的解决方案,通过 Docker 容器化部署,可以无缝集成多平台数据采集、MCP 协议的 AI 分析,以及多渠道推送机制,无需复杂的自定义编码。本文将聚焦于 Docker 部署的工程实践,阐述观点、提供证据支持,并给出可落地的参数配置和操作清单,帮助开发者快速上线系统。
首先,观点上,Docker 部署 TrendRadar 的核心优势在于其容器化特性,确保环境一致性和可移植性,避免了传统 Python 依赖安装的痛点。根据项目设计,TrendRadar 支持聚合 11 个主流平台(如知乎、抖音、Bilibili、华尔街见闻等)的热点新闻,并通过 MCP (Model Context Protocol) 协议接入 AI 模型进行深度分析,包括趋势追踪、情感分析和相似新闻检索。同时,自动化通知功能覆盖企业微信(WeChat)、Email 和 Telegram 等渠道,支持三种推送模式:当日汇总(daily)、当前榜单(current)和增量监控(incremental),这使得系统适用于投资者、自媒体人或企业舆情监控场景。证据来源于项目 GitHub 仓库的文档,明确指出 Docker 镜像 wantcat/trendradar:latest 已支持多架构运行,部署仅需一行命令,即可实现 30 秒网页浏览和 1 分钟手机通知的快速响应。
进一步证据显示,TrendRadar 的 AI 分析模块基于 MCP 协议,提供 13 种工具,如 get_latest_news(获取最新新闻)、analyze_topic_trend(话题趋势分析)和 generate_summary_report(摘要生成)。这些工具允许自然语言查询,例如“分析最近一周 AI 热点的热度变化”,无需编写额外代码,即可从本地积累的新闻数据中提取洞察。推送机制的证据在于支持环境变量覆盖配置,例如通过 -e FEISHU_WEBHOOK_URL 设置飞书通知,或 -e TELEGRAM_BOT_TOKEN 配置 Telegram Bot,确保安全性和灵活性。项目更新日志(v3.0.5)还优化了 Docker 环境变量支持,解决了 NAS 用户配置不生效的问题,证明了其工程化成熟度。
在可落地参数方面,部署 TrendRadar 时,首先准备配置目录:创建 config 文件夹,下载 config.yaml 和 frequency_words.txt 文件。其中,config.yaml 定义核心参数,如 report.mode: "daily"(当日汇总模式,适合全面趋势跟踪);notification.push_window.enabled: true(启用时间窗口,start: "09:00", end: "18:00",避免非工作时段打扰);crawler.platforms 列出监控平台,默认包括 toutiao、baidu、wallstreetcn-hot 等,可扩展至 35 个。frequency_words.txt 支持关键词语法:普通词如“AI”,必须词如“+技术”,过滤词如“!广告”,用空行分隔词组,实现精准筛选。例如,第一组:AI\nChatGPT\n+趋势;第二组:比特币\n+价格\n!预测。这确保了推送内容的针对性,减少信息噪音。
对于通知参数,WeChat(企业微信)配置 -e WEWORK_WEBHOOK_URL="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=your_key";Email 配置 -e EMAIL_FROM="user@example.com" -e EMAIL_PASSWORD="auth_code" -e EMAIL_TO="recipient@example.com",支持 SMTP 自动识别(如 QQ 邮箱端口 465,SSL);Telegram 配置 -e TELEGRAM_BOT_TOKEN="123456:ABC" -e TELEGRAM_CHAT_ID="your_chat_id"。推送频率通过 CRON_SCHEDULE="*/30 * * * *" 设置为每 30 分钟执行一次,平衡实时性和资源消耗。AI 分析需额外启动 MCP 服务:uv run python -m mcp_server.server --transport http --port 3333,然后在客户端如 Claude Desktop 配置 {"url": "http://localhost:3333/mcp"}。
操作清单如下,确保部署成功:
-
环境准备:安装 Docker 和 Docker Compose,确保系统支持多架构(arm64/x86_64)。创建项目目录:mkdir trendradar && 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/。编辑 frequency_words.txt 添加关键词组,config.yaml 调整 report.mode 和 push_window。
-
Docker Compose 启动:下载 docker-compose.yml 和 .env,编辑 .env 中的 webhook 变量,如 NTFY_TOPIC="trendradar-alerts"(可选 ntfy 推送)。运行 docker-compose up -d。
-
验证运行:docker logs -f trend-radar 检查日志;docker exec -it trend-radar python manage.py status 查看状态。手动触发:docker exec -it trend-radar python manage.py run。
-
AI 集成:在 output 目录积累数据后,启动 MCP 服务。测试查询:“搜索今天知乎的热点新闻”。
-
监控与优化:设置阈值,如 weight.rank_weight: 0.6(排名权重 60%),frequency_weight: 0.3(频次 30%),hotness_weight: 0.1(热度 10%)。监控点包括推送成功率(>95%)、数据更新延迟(<5 分钟)、MCP 响应时间(<2 秒)。
风险控制:数据持久化使用 -v ./output:/app/output 挂载卷,避免容器重启丢失历史新闻;回滚策略若推送失败,切换至 incremental 模式,仅发新增;若 Docker 镜像拉取慢,使用本地构建 docker-compose build。
通过以上配置,TrendRadar 的 Docker 部署不仅实现了多平台聚合和 AI 分析,还确保了通知的可靠性和低侵入性。实际落地中,可根据场景调整参数,如投资者优先 incremental 模式和高频 CRON(*/15 * * * *),自媒体人选用 current 模式和图片导出功能(GitHub Pages)。此方案无需编程基础,适用于个人或团队使用。
资料来源:GitHub 项目仓库 https://github.com/sansan0/TrendRadar,包含详细部署文档和更新日志。