当前位置: 首页 > news >正文

LLM应用剖析: 热点新闻助手TrendRadar

1. 背景

  • 花了近三天时间,深入研究了Github近几天一直霸榜的热门项目TrendRadar,星标已达30K+,与先前的开源项目微舆,成为11月份github的趋势榜国产双雄。
  • 项目的部署小白直接入手,基于Github Action实现一键配置与部署,项目介绍教程还是很详细的。

2. 整体流程

整体流程

  • (1) 数据源: 和微舆一样,是基于开源项目newsnow的35+个新闻及资讯网站的榜单获取,包括抖音、头条、微博、贴吧、知乎等
  • (2) 定时爬虫: 基于Github Actions部署,默认每小时执行一次爬虫,具体可以参考.github/workflows/crawler.yml中的配置,爬取的数据保存在本地output。
  • (3) 个性化推送: 通过设置个人关注的关键词、热度趋势、时间频次等策略,可推送至微信、钉钉、飞书、Telegram、邮件、ntfy等
  • (4) MCP服务: 通过FastMCP构建MCP服务,且项目中提供Cherry Studio接入教程,该MCP服务提供如下工具:
  • a. get_latest_news: 获取最新下载批次的新闻
  • b. get_trending_topics: 获取个人关注词的新闻出现频率统计
  • c. get_news_by_date: 获取指定日期的新闻数据,用于历史数据分析和对比
  • d. analyze_topic_trend: 统一话题趋势分析工具,整合多种趋势分析模式
  • e. analyze_data_insights: 统一数据洞察分析工具, 整合多种数据分析模式
  • f. analyze_sentiment: 分析新闻的情感倾向和热度趋势
  • g. find_similar_news: 查找与指定新闻标题相似的其他新闻
  • h. generate_summary_report: 每日/每周摘要生成器, 自动生成热点摘要报告
  • i. search_news: 统一搜索接口,支持多种搜索模式
  • j. search_related_news_history: 基于种子新闻,在历史数据中搜索相关新闻
  • k. get_current_config: 获取当前系统配置
  • l. get_system_status: 获取系统运行状态和健康检查信息
  • m. trigger_crawl: 手动触发一次爬取任务

3. 核心源码

  • (1) 整体代码非常简单,代码风格偏冗余(近5000行的main.py包含了所有),建议客官们源码可以浏览浏览。
  • (2) 仔细研读了FastMCP的操作手册,发现现在构建MCP服务,也是手拿把掐分分钟。以下是该项目MCP服务的部分内容
from fastmcp import FastMCP# 创建 FastMCP 2.0 应用
mcp = FastMCP('trendradar-news')@mcp.tool
async def trigger_crawl(platforms: Optional[List[str]] = None,save_to_local: bool = False,include_url: bool = False
) -> str:"""手动触发一次爬取任务(可选持久化)Args:platforms: 指定平台ID列表,如 ['zhihu', 'weibo', 'douyin']- 不指定时:使用 config.yaml 中配置的所有平台- 支持的平台来自 config/config.yaml 的 platforms 配置- 每个平台都有对应的name字段(如"知乎"、"微博"),方便AI识别- 注意:失败的平台会在返回结果的 failed_platforms 字段中列出save_to_local: 是否保存到本地 output 目录,默认 Falseinclude_url: 是否包含URL链接,默认False(节省token)Returns:JSON格式的任务状态信息,包含:- platforms: 成功爬取的平台列表- failed_platforms: 失败的平台列表(如有)- total_news: 爬取的新闻总数- data: 新闻数据Examples:- 临时爬取: trigger_crawl(platforms=['zhihu'])- 爬取并保存: trigger_crawl(platforms=['weibo'], save_to_local=True)- 使用默认平台: trigger_crawl()  # 爬取config.yaml中配置的所有平台"""tools = _get_tools()result = tools['system'].trigger_crawl(platforms=platforms, save_to_local=save_to_local, include_url=include_url)return json.dumps(result, ensure_ascii=False, indent=2)def run_server(project_root: Optional[str] = None,transport: str = 'stdio',host: str = '0.0.0.0',port: int = 3333
):"""启动 MCP 服务器Args:project_root: 项目根目录路径transport: 传输模式,'stdio' 或 'http'host: HTTP模式的监听地址,默认 0.0.0.0port: HTTP模式的监听端口,默认 3333"""# 初始化工具实例_get_tools(project_root)# 根据传输模式运行服务器if transport == 'stdio':mcp.run(transport='stdio')elif transport == 'http':# HTTP 模式(生产推荐)mcp.run(transport='http',host=host,port=port,path='/mcp'  # HTTP 端点路径)else:raise ValueError(f"不支持的传输模式: {transport}")

4. 总结与思考

  • 项目的初衷主要是通过聚合的35+新闻资讯,然后通过用户自定义关键词等策略实现个性化推送,想要学习资讯榜单爬取、多端推送以及构建MCP服务的读者,可以学之以用。

5. 参考

  • (1) 项目地址: https://github.com/sansan0/TrendRadar
  • (2) 榜单聚合项目: https://github.com/ourongxing/newsnow
  • (3) FastMCP文档: https://gofastmcp.com/getting-started/welcome

公众号

http://www.gsyq.cn/news/63559.html

相关文章:

  • 神秘顾客调研费用哪家便宜?优加市场调研服务性价比高值得选
  • 物联网小程序开发公司,物联网小程序开发公司3家实力厂商详解:含支付宝小程序/微信小程序/北京小程序/物业小程序/活动小程序/抖音小程序开发公司推荐
  • 2025年钢板防护罩厂家权威推荐榜单:CNC机床防尘罩/链板排屑机/盔甲防护罩源头厂家精选
  • 2025年深圳沥青施工公司权威推荐榜单:彩色沥青施工/沥青路面铺设/沥青路面划线施工优质企业精选
  • 2025年移动式升降机厂家权威推荐榜单:高空作业平台‌/弹簧平台‌/移动式升降平台源头厂家精选
  • PlantAssistant-隐藏焊点
  • 论文精读(七):结合大语言模型和领域知识库的证券规则规约手段
  • 洛谷 P1330:封锁阳光大学 ← 染色法 + 二分图
  • 2025年下半年跳汰机供应商综合推荐与选购指南
  • 2025年下半年破碎机制造厂推荐排行榜单全面解析
  • 读社会工程:防范钓鱼欺诈(卷3)04工具包
  • MAF快速入门(3)聊天记录持久化到数据库
  • 2025靠谱的EN01国产发动机厂家:甄选高性价比工厂助力动
  • 【GitHub每日速递 20251128】Milvus向量数据库:高性能、多特性,助力AI应用开发新潮流!
  • 正规N63/N74宝马发动机厂家TOP5权威推荐:破解宝马动
  • 2025年信誉好的红色展厅设计专业公司推荐,实力强的红色展厅
  • 基于图像检索的智能菜谱匹配技术
  • 全自动家用咖啡机推荐:主流品牌特点及用户反馈
  • 家庭全自动咖啡机品牌排行 热门家用品牌推荐
  • 不同基础如何备赛?犀牛国际教育物理碗培训全攻略
  • PHP Fiber 优雅协作式多任务
  • 2025 AMC竞赛培训机构排名前十强,多维度深度评测指南
  • AcWing 4205:树的增边 ← 二分图 + 染色法
  • 降ai率工具哪个好?多维度评测推荐
  • AI写论文工具推荐:2025年高效辅助平台盘点
  • 2025年知名的ENF级除醛母婴板厂家最新实力排行
  • 2025年知名的空压机/汉钟空压机高评价厂家推荐榜
  • 2025年质量好的顶装挂衣杆/加厚挂衣杆厂家选购指南与推荐
  • 2025年比较好的任意切柜内灯实力厂家TOP推荐榜
  • 2025年口碑好的衣柜拉手厂家推荐及选购参考榜