在信息爆炸时代,手动浏览多个新闻平台已无法跟上热点节奏。TrendRadar 项目提供了一个轻量级解决方案:通过 Docker 一键部署 MCP(Model Context Protocol)AI 系统,自动聚合抖音、Bilibili、知乎等 35 个平台的新闻热点,并内置 13 种分析工具,实现趋势追踪、情感分析和相似检索等功能,同时支持企业微信、飞书等多渠道实时通知。本文聚焦工程化部署要点,给出可复制的参数配置、关键词过滤清单和 MCP 工具调用参数,确保零编程基础用户也能快速上线。
Docker 部署核心参数与步骤
TrendRadar 的设计目标是 “轻量、易部署”,支持 GitHub Actions 和 Docker 双模式,但 Docker 更适合本地 / NAS 私有化运行,避免 GitHub 配额限制。核心镜像 wantcat/trendradar:latest 已预编译多架构(AMD64/ARM),体积小、启动快。
部署清单(docker-compose 推荐):
-
目录准备:
mkdir -p trendradar/{config,output,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/ wget https://raw.githubusercontent.com/sansan0/TrendRadar/master/docker/docker-compose.yml -O docker/docker-compose.yml wget https://raw.githubusercontent.com/sansan0/TrendRadar/master/docker/.env -O docker/.env -
环境变量配置(docker/.env,优先级最高):
# 核心开关 ENABLE_CRAWLER=true ENABLE_NOTIFICATION=true # 推送模式:daily(当日汇总)/current(当前榜单)/incremental(增量,只新内容) REPORT_MODE=incremental # 推荐投资者/交易员,避免重复 # 推送时间窗口(可选,避免夜间扰民) PUSH_WINDOW_ENABLED=true PUSH_WINDOW_START=08:00 PUSH_WINDOW_END=22:00 # 多渠道通知(至少选一,多个并行) WEWORK_WEBHOOK_URL=https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=your-key # 企业微信 FEISHU_WEBHOOK_URL=https://www.feishu.cn/open-apis/bot/v2/hook/your-hook # 飞书(显示最友好) DINGTALK_WEBHOOK_URL=https://oapi.dingtalk.com/robot/send?access_token=your-token # 钉钉 TELEGRAM_BOT_TOKEN=123456:AAH... # Telegram(需配 CHAT_ID) TELEGRAM_CHAT_ID=your-chat-id EMAIL_FROM=your@email.com # 邮件(自动识 SMTP) EMAIL_PASSWORD=your-auth-code EMAIL_TO=user1@email.com,user2@email.com NTFY_TOPIC=trendradar-yourname-1234 # ntfy(免费跨平台) BARK_URL=https://api.day.app/your-key # iOS Bark # 爬取频率(CRON,勿太频防 API 限流) CRON_SCHEDULE="*/30 * * * *" # 每 30min -
启动:
cd docker docker-compose up -d docker logs -f trend-radar # 监控日志
容错参数:
MAX_NEWS_PER_KEYWORD=10:每个关键词限 10 条,防推送过长。SORT_BY_POSITION_FIRST=true:按配置顺序优先(config.yaml/report),而非纯热度。- 数据持久:
-v ./output:/app/output,重启不丢历史。
部署后 1-2 天积累数据,即可启用 MCP AI。项目自带 11 月测试数据(output/),即时体验。
关键词过滤与热点算法调优
聚合基于 newsnow API(35+ 平台:抖音 / 知乎 / B 站 / 微博 / 百度 / 财联社 等),默认 11 个,可在 config.yaml/platforms 扩展。
frequency_words.txt 语法清单(空行分词组,独立统计):
# 组1: AI 技术(热度优先)
人工智能
ChatGPT
+技术
!广告
@15 # 最多 15 条
# 组2: 股市(增量监控)
A股
上证
+涨跌
!预测
@5
# 组3: 汽车(跨平台对比)
特斯拉
比亚迪
+销量
热点权重(config.yaml/weight,总和 = 1.0):
- 实时追热点:
rank_weight: 0.7, frequency_weight: 0.2, hotness_weight: 0.1 - 深度趋势:
rank_weight: 0.3, frequency_weight: 0.5, hotness_weight: 0.2
推送示例(飞书效果最佳):
🔥 [1/3] AI ChatGPT: 5条
1. [知乎] 🆕 ChatGPT-5发布 [1] - 09:15 (1次)
MCP AI:13 工具工程调用参数
MCP 服务(uv run python -m mcp_server.server 或 HTTP:3333/mcp)兼容 Claude Desktop/Cursor/Cline 等。13 工具分类:
基础查询 (3):
get_latest_news:{platform: "zhihu", limit: 10}→ 最新知乎 Top10。get_news_by_date:{date: "2025-11-25", keyword: "AI"}。get_trending_topics:{days: 7}→ 7 天趋势词。
智能检索 (4):
search_news:{query: "比特币", platforms: ["douyin", "bilibili"]}。search_related_news_history:{topic: "特斯拉", days: 30}→ 历史关联。find_similar_news:{news_id: "abc123", similarity_threshold: 0.8}。analyze_sentiment:{news_list: [...], sentiment_type: "positive|negative|neutral"}→ 情感倾向(阈值 0.7+ 高置信)。
高级分析 (4):
analyze_topic_trend:{topic: "AI", period: "week"}→ 热度生命周期 / 预测。analyze_data_insights:{topics: ["A股", "美股"], metrics: "frequency,rank"}→ 跨平台对比。generate_summary_report:{date_range: "2025-11-20~25", format: "markdown"}。analyze_emotion_evolution:{topic: "政策", days: 14}。
系统 (2):
get_current_config/get_system_status→ 监控数据量 / 错误率。trigger_crawl:{platforms: ["all"]}→ 手动触发。
调用最佳实践:
- Cursor/Claude:STDIO 模式,路径
/path/to/TrendRadar。 - 参数校验:日期 YYYY-MM-DD,平台 ID 如 "zhihu"/"douyin"。
- 监控阈值:数据 <7 天报错,回滚用测试数据。
- 回滚策略:日志异常 →
docker-compose down; docker pull wantcat/trendradar:latest; up -d。
风险控制与监控
- 限流:CRON >15min,star newsnow 项目。
- 隐私:Webhook 用 GitHub Secrets 或 .env,非明文 config.yaml。
- 监控点:
docker exec trend-radar python manage.py status(数据条数 / 上次爬取)。 - 扩展:NAS 如群晖,端口 80/443 映射,环境变量覆盖 yaml。
TrendRadar 将被动刷屏转为主动智能推送,MCP AI 解锁数据价值。生产阈值:关键词 5-10 组,平台 15+,日推送 <50 条。
资料来源:
- TrendRadar GitHub:“本项目以轻量,易部署为目标”。
- newsnow API(底层数据源)。
(正文约 1250 字)