在信息爆炸的时代,每天从抖音、知乎、B 站、微博等 35 + 平台涌现的海量热点资讯让用户陷入信息过载的困境。传统的人工筛选方式效率低下,而简单的关键词匹配又难以捕捉话题的深度关联和趋势演变。TrendRadar 作为一款开源的多平台热点聚合工具,通过引入 Model Context Protocol(MCP)协议,构建了一套完整的 AI 分析工具链,实现了从数据采集、智能筛选到自然语言交互分析的端到端解决方案。
MCP 协议:AI 分析工具链的核心架构
Model Context Protocol 是 Anthropic 推出的标准化协议,旨在为 AI 模型提供结构化的工具调用能力。TrendRadar 基于 MCP 协议构建的 AI 分析模块,将原本分散的数据查询、趋势分析、情感判断等功能封装为 17 个标准化工具,支持通过自然语言进行深度数据挖掘。
工具链的工程化设计
TrendRadar 的 MCP 工具链按照功能划分为五个层次:
-
基础查询层:
get_latest_news、get_news_by_date、get_trending_topics提供最基础的数据访问能力,支持按日期、平台、关键词进行精确查询。 -
智能检索层:
search_news、find_related_news实现了语义级别的新闻关联检索。与传统的关键词匹配不同,这些工具能够识别话题的语义相似性,即使新闻标题使用了不同的表述方式。 -
高级分析层:
analyze_topic_trend、analyze_data_insights、analyze_sentiment、aggregate_news、compare_periods、generate_summary_report构成了核心分析能力。以analyze_topic_trend为例,该工具能够追踪特定话题从首次出现到热度消退的完整生命周期,识别爆火节点和衰退趋势。 -
RSS 查询层:
get_latest_rss、search_rss、get_rss_feeds_status扩展了数据源范围,支持 Atom/RSS 订阅源的统一管理。 -
系统管理层:
get_current_config、get_system_status、resolve_date_range提供系统状态监控和配置管理能力。
协议实现的工程考量
TrendRadar 的 MCP 服务采用双模式架构:STDIO 模式和 HTTP 模式。STDIO 模式通过标准输入输出流与 AI 客户端通信,适合本地开发环境;HTTP 模式通过 RESTful API 提供服务,支持远程调用和负载均衡。这种设计确保了工具链在不同部署环境下的兼容性。
在数据格式设计上,所有工具都遵循统一的 JSON Schema 规范,确保 AI 模型能够正确解析参数和返回值。例如,analyze_sentiment工具返回的情感分析结果包含情感极性(positive/negative/neutral)、置信度分数和关键情感词提取,为后续的决策分析提供了结构化数据基础。
多平台聚合的技术架构与数据流
TrendRadar 的数据采集层基于 newsnow 项目的 API,该 API 已经聚合了 35 + 主流平台的热点数据。技术架构采用分层设计:
数据采集与存储层
# 简化的数据采集流程
class DataCollector:
def __init__(self):
self.platforms = self.load_platform_config()
self.storage_backend = self.detect_storage_backend()
def collect_data(self):
for platform in self.platforms:
data = self.fetch_from_newsnow(platform['id'])
processed_data = self.preprocess(data)
self.store(processed_data)
存储层支持多后端架构:本地 SQLite 数据库适合 Docker 部署环境,远程云存储(S3 兼容协议)适合 GitHub Actions 部署。这种设计解决了不同部署场景下的数据持久化需求。
热点权重算法
TrendRadar 采用三重权重算法对热点进行排序:
- 排名权重(60%):各平台前几名的新闻获得更高权重,反映即时热度
- 频次权重(30%):反复出现的新闻获得累积权重,反映话题持续性
- 热度权重(10%):综合考虑排名和频次的综合热度指标
用户可以通过配置文件调整这三个权重比例,实现个性化排序策略。例如,投资者可能更关注持续性(提高频次权重),而自媒体创作者可能更关注即时热度(提高排名权重)。
可落地的部署参数与配置要点
Docker 部署的最佳实践
TrendRadar 提供官方 Docker 镜像wantcat/trendradar,支持多架构部署。生产环境部署建议采用 docker-compose 方案:
version: '3.8'
services:
trendradar:
image: wantcat/trendradar:latest
container_name: trendradar
restart: unless-stopped
volumes:
- ./config:/app/config:ro
- ./output:/app/output
environment:
- TZ=Asia/Shanghai
- REPORT_MODE=incremental
- PUSH_WINDOW_ENABLED=true
- PUSH_WINDOW_START=09:00
- PUSH_WINDOW_END=18:00
ports:
- "8080:8080"
关键配置参数说明:
-
REPORT_MODE:推送模式选择。
incremental(增量监控)适合高频监控场景,只推送新增内容;current(当前榜单)适合实时热度追踪;daily(当日汇总)适合每日报告生成。 -
PUSH_WINDOW:推送时间窗口控制。避免非工作时间打扰,同时减少不必要的推送频率。
-
数据保留策略:通过
LOCAL_RETENTION_DAYS和REMOTE_RETENTION_DAYS控制数据保留天数,平衡存储成本和数据价值。
关键词配置的工程化方法
frequency_words.txt文件支持五种语法规则,实现精准内容筛选:
# 全局过滤区(v3.5.0新增)
[GLOBAL_FILTER]
广告
推广
营销
震惊
标题党
# 词组配置区
[WORD_GROUPS]
# 第1组:科技类
人工智能
AI
ChatGPT
+技术
!培训
@10 # 最多显示10条
# 第2组:财经类
A股
上证
深证
+涨跌
!预测
# 第3组:汽车类
特斯拉
比亚迪
+销量
!二手车
配置要点:
-
从宽到严逐步优化:先使用宽泛关键词测试,根据误匹配情况逐步加入必须词 (
+) 和过滤词 (!) -
数量限制策略:使用
@数字语法控制每个关键词组的显示数量,避免信息过载 -
分组管理:用空行分隔不同主题的词组,实现分类统计和独立排序
MCP 服务的独立部署
对于需要 AI 分析功能的场景,可以独立部署 MCP 服务:
# 启动MCP HTTP服务
docker run -d --name trendradar-mcp \
-p 127.0.0.1:3333:3333 \
-v $(pwd)/config:/app/config:ro \
-v $(pwd)/output:/app/output:ro \
wantcat/trendradar-mcp:latest
MCP 服务监听本地端口 3333,支持通过标准 MCP 协议与 Claude Desktop、Cursor、Cline 等 AI 客户端集成。服务启动后,用户可以通过自然语言进行深度数据分析,如 "分析最近 7 天 ' 人工智能 ' 话题的热度趋势" 或 "对比知乎和微博对 ' 比特币 ' 的关注度差异"。
监控、优化与故障排查
性能监控指标
在生产环境中部署 TrendRadar 时,需要关注以下关键指标:
- 数据采集成功率:监控各平台 API 的响应状态和错误率
- 推送送达率:跟踪各渠道(企业微信、飞书、Telegram 等)的消息送达情况
- 存储空间使用:定期检查本地和远程存储的使用情况,避免空间耗尽
- MCP 服务健康状态:通过
/mcp端点监控 AI 分析服务的可用性
常见故障排查
问题 1:GitHub Actions 部署后收不到推送
解决方案:
- 检查 GitHub Secrets 配置是否正确,特别是 Webhook URL 格式
- 验证推送时间窗口配置是否与 GitHub Actions 执行时间匹配
- 查看 Actions 日志,确认爬虫执行成功且无错误
问题 2:MCP 服务无法连接
解决方案:
- 确认 MCP 服务已启动:
curl http://localhost:3333/mcp - 检查端口冲突:
lsof -i :3333(Linux/Mac)或netstat -ano | findstr :3333(Windows) - 验证数据目录权限:确保
config/和output/目录可读
问题 3:关键词匹配效果不佳
解决方案:
- 使用
analyze_topic_trend工具分析特定话题的热度变化规律 - 调整关键词配置,加入同义词和近义词扩展
- 利用
find_related_news工具发现关联话题,完善关键词体系
优化建议
- 数据源优化:根据实际需求调整监控平台列表,避免过多低质量平台影响分析效果
- 推送频率优化:结合业务场景调整执行频率,高频监控场景使用
incremental模式,日报场景使用daily模式 - 存储策略优化:根据数据价值设定合理的保留周期,重要数据长期保存,普通数据定期清理
工程实践的价值与展望
TrendRadar 通过 MCP 协议构建的 AI 分析工具链,展示了开源项目在信息聚合和智能分析领域的创新实践。其核心价值在于:
- 标准化协议的应用:通过 MCP 协议实现了 AI 工具的标准化和可复用性
- 工程化的配置管理:支持环境变量、配置文件、命令行参数的多层次配置
- 灵活的数据架构:支持本地和远程存储,适应不同部署环境
- 可扩展的工具生态:基于标准协议的工具链易于扩展和集成
从技术演进的角度看,TrendRadar 代表了信息聚合工具从简单采集向智能分析的发展趋势。未来可能的演进方向包括:
- 多模态分析:整合文本、图像、视频等多模态数据源
- 预测性分析:基于历史数据的热点趋势预测和预警
- 个性化推荐:基于用户兴趣画像的个性化内容推荐
- 联邦学习应用:在保护数据隐私的前提下实现跨平台联合分析
对于工程团队而言,TrendRadar 提供了一个完整的参考架构,展示了如何将 AI 能力工程化地集成到传统的信息处理流程中。其开源特性也为定制化开发和技术研究提供了基础。
在实际部署中,建议团队根据具体业务需求进行定制化开发,重点关注数据质量、分析精度和系统稳定性三个维度。通过持续的监控和优化,TrendRadar 能够成为企业舆情监控、行业趋势分析、内容创作辅助的得力工具。
资料来源
- TrendRadar GitHub 仓库:https://github.com/sansan0/TrendRadar
- Model Context Protocol 官方文档:https://modelcontextprotocol.io/
本文基于 TrendRadar v4.5.0 版本的技术架构进行分析,实际部署时请参考最新版本文档。