GitHub Explorer

TrendRadar 深度分析报告

GitHub: https://github.com/sansan0/TrendRadar

一句话总结

一个”Fork 即用”的中文热点聚合+AI 分析+多渠道推送工具,将信息采集到推送的完整链路打包为零成本的个人信息雷达。

值得关注的理由

  1. 端到端信息管道:在竞品只做采集或只做基础设施的格局中,TrendRadar 是唯一将”多平台聚合+关键词筛选+AI 深度分析+多渠道推送+时段调度”串成完整链路的开源方案
  2. 极低部署门槛的产品化开源:Fork→设 Secrets→自动运行的”Fork 即用”模式值得所有工具类开源项目学习,11 个月内 22,746 forks 验证了这一策略的有效性
  3. 可复用的架构模式:AI 两阶段筛选(标签提取+缓存+批量分类)、三级时间调度模型、签到制自限机制等设计可直接迁移到其他项目

项目展示

TrendRadar Banner 项目 Banner,展示 TrendRadar 的品牌视觉

GitHub Pages 网页效果 纯静态前端配置编辑器,数据留在本地

AI 分析推送效果 AI 深度分析后的推送消息样例

项目画像

维度数据
GitHubhttps://github.com/sansan0/TrendRadar
Star / Fork49,486 / 22,746
代码行数36,511 (Python 74.6%, JavaScript 14.8%, CSS 3.7%, HTML 1.8%)
项目年龄11 个月
开发阶段低维护期(高峰已过,近 3 月月均 ~7 次提交)
贡献模式独立开发(sansan0 贡献 99%+ commits)
热度定位大众热门(近 5 万 stars,中文开源工具类项目中属现象级)
质量评级代码[良好] 文档[优秀] 测试[无]

作者视角:为什么存在这个项目

创始人/作者背景

sansan0 是一位独立中文开发者,项目矩阵(bilibili 评论分析器、网易笔记备份工具、AI 代码上下文助手)全部围绕”信息采集-整理-分析”主线。运营公众号”硅基茶水间”,有国内自媒体影响力。他自己就是 TrendRadar 的第一个用户——从项目细致的配置选项来看,功能是在长期自用中逐步打磨出来的。

问题判断

在信息过载时代,用户需要在微博、头条、知乎、B站等十余个平台间反复切换了解热点。作者看到的关键空白是:现有聚合工具只提供”看”的能力,没有人把”采集+筛选+分析+推送”串成一条完整链路,尤其是面向中文生态。时机方面,LLM API 的普及化让”AI 分析”成为可以零成本集成的能力,这是 2 年前不具备的条件。

解法哲学

核心价值观是极简部署 + 配置驱动:

  • 选择做的:零代码门槛(Fork 即用)、配置即产品(YAML+TXT DSL)、渐进式复杂度(基础/进阶/高级三档)、隐私优先(纯静态配置编辑器)
  • 选择不做的:不自建爬虫(寄生于 newsnow API)、不做精美前端(专注后端管道)、不做 SaaS(开源自托管)

战略意图

TrendRadar 在作者项目矩阵中处于流量入口+社区枢纽位置。项目正从”热榜聚合推送工具”向”AI 驱动的个人信息雷达”演进——v5.0 引入 AI 分析,v6.0 引入 MCP 协议,标志着从”信息搬运”到”信息理解”的战略跃迁。MCP 接口将 TrendRadar 从独立工具转变为 AI Agent 生态中的可调用组件。

核心价值提炼

创新之处

  1. 7 天签到制自限机制(新颖 4/5 | 实用 4/5 | 可迁移 5/5) GitHub Actions workflow 内置 7 天过期检查,超期未签到则自动禁用。哲学含义:“如果 7 天都忘了签到,这些资讯对你并非刚需”。任何依赖公共 CI/CD 资源的开源项目都可采用。

  2. AI 两阶段筛选 + hash 缓存(新颖 4/5 | 实用 4/5 | 可迁移 4/5) 阶段 A 用 AI 从自然语言兴趣描述提取结构化标签;阶段 B 按标签批量分类新闻。通过 hash 判断兴趣是否变化,标签变化时用差量更新(keep/add/remove),大幅减少 AI 调用成本。

  3. 文本 DSL 关键词筛选引擎(新颖 3/5 | 实用 5/5 | 可迁移 4/5) frequency_words.txt 用极简语法(+/!/@/[]/=>)实现了类 Elasticsearch 查询的筛选力,比 JSON/YAML 更易编辑。

  4. 三级时间调度模型(新颖 3/5 | 实用 4/5 | 可迁移 4/5) periods(时段行为)→ day_plans(日计划组合)→ week_map(星期映射),支持跨日时段和预设模板,timeline.yaml 达 27KB。

  5. 纯静态配置编辑器(新颖 3/5 | 实用 4/5 | 可迁移 4/5) 单文件 Web 应用部署在 GitHub Pages 上,数据完全留在浏览器本地,实现”隐私优先的 SaaS 体验”。

可复用的模式与技巧

  1. “Fork 即用”产品化开源模式:GitHub Actions + Secrets + Pages 构建无服务器应用 → 适用于轻量定时任务型工具
  2. 配置 DSL + 可视化编辑器双轨:文本 DSL 满足高级用户 + 静态前端满足小白 → 适用于同时服务技术/非技术用户的工具
  3. SQLite Mixin + 双后端存储:Mixin 抽象数据库操作,Local 和 Remote 后端分别继承 → 适用于无服务器环境下的持久化需求
  4. LiteLLM 统一多模型接口:用户只需 model: provider/model_name 即可切换 AI 提供商 → 适用于任何多 LLM 项目
  5. 签到制自限机制:定期签到防止僵尸 fork 浪费公共资源 → 适用于依赖共享 CI/CD 的开源项目

关键设计决策

  1. 寄生于 newsnow API:零采集成本,但完全依赖第三方服务可用性,是最大的架构风险
  2. GitHub Actions 作为免费运行时:零成本换来部署脆弱性(Issue #109/#513 反复证明)
  3. 六层架构:采集→核心处理→AI 集成→通知分发→报告生成→存储,模块边界清晰,但 main.py 达 ~850 行偏重
  4. AppContext 模式:消除全局状态,用依赖注入替代全局变量,提升可测试性

竞品格局与定位

竞品对比矩阵

维度TrendRadarnewsnowDailyHotApiRSSHub
热榜聚合✅ (借 newsnow)✅ (自建)✅ (自建)✅ (万物 RSS)
关键词筛选✅ (DSL+AI)❌❌❌
AI 分析✅ (LiteLLM)❌❌❌
多渠道推送✅ (9 渠道)❌❌❌
时段调度✅ (三级模型)❌❌❌
MCP 接口✅❌❌❌
前端 UI⚠️ (仅配置页)✅ (精美)✅ (Vercel)⚠️ (简单)
数据独立性❌ (依赖 newsnow)✅✅✅
Stars49.5K18.9K3.7K42.9K

差异化护城河

TrendRadar 的独特价值在于端到端的信息处理链路——从采集、筛选、分析到多渠道推送的一站式服务。竞品要么只做采集层(newsnow/DailyHotApi),要么只做基础设施层(RSSHub),没有竞品同时覆盖”AI 智能筛选 + 多渠道推送 + 时段调度”这三个能力。

竞争风险

  • 对 newsnow API 的强依赖是最大单点风险——上游下线或限流将导致核心功能失效
  • GitHub Actions 免费额度政策变化可能影响核心部署模式
  • AI 分析是差异化关键,但随着 LLM 能力普及化,这一护城河可能被快速复制

生态定位

处于应用层,位于 newsnow(数据源)和用户终端(微信/飞书/Telegram 等)之间。价值不在于某个单点功能,而在于将多个能力编排成一条顺畅的信息管道。通过 MCP 接口融入 AI Agent 生态,有望从”推送工具”升级为”信息感知组件”。

套利机会分析

  • 信息差: 无信息差套利空间——项目已被广泛曝光(阮一峰周刊、小众软件、LinuxDo 社区),近 5 万 stars 说明充分被市场发现
  • 技术借鉴: (1) “Fork 即用”的产品化开源分发模式;(2) AI 两阶段筛选架构(标签提取+缓存+批量分类);(3) 三级时间调度模型;(4) 签到制自限机制防止资源浪费
  • 生态位: 填补了”中文热点聚合+AI 分析+多渠道推送”的垂直空白,是数据源和用户终端之间的信息处理中间层
  • 趋势判断: 项目仍在增长但开发投入已下降(近 3 月月均仅 ~7 次 commit),从密集开发转入低维护期。符合 AI Agent 生态化趋势(MCP 接口),但核心壁垒不高

风险与不足

  1. 零测试覆盖:209 次 commit、v6.5.0 的项目完全没有测试文件,也没有 lint/类型检查配置,是最大的工程短板
  2. 数据源单点依赖:核心数据完全依赖 newsnow API,无备选方案
  3. 部署体验与承诺不符:宣传”30 秒部署”,但 Issue #109/#513 反映大量用户在 GitHub Actions/Pages 配置上遇到困难
  4. 错误处理粗放:关键路径有 try-except 保护,但错误信息通过 print 输出,缺乏结构化日志和错误传播机制
  5. 开发投入下降:2026 年 2-3 月 commit 数骤降,项目可能进入维护性更新阶段
  6. GPL-3.0 协议:限制商业使用和二次分发

行动建议

  • 如果你要用它: 最适合”中文信息焦虑者”——需要多平台热点推送到微信/飞书/Telegram 且不想自建服务的用户。如果只需要看热榜,newsnow 的前端体验更好;如果需要更广的信息源,RSSHub + 阅读器组合更灵活。选 TrendRadar 的前提是你需要”主动推送 + AI 分析 + 关键词筛选”这套完整链路
  • 如果你要学它: 重点关注 (1) trendradar/core/ — 关键词 DSL 解析和权重计算;(2) trendradar/ai/ — 两阶段 AI 筛选架构;(3) config/timeline.yaml — 三级调度模型设计;(4) .github/workflows/crawler.yml — 签到制自限机制
  • 如果你要 fork 它: (1) 添加备选数据源减少 newsnow 依赖;(2) 引入基础测试和 CI 质量检查;(3) 将 main.py 的 ~850 行拆分为更小的模块;(4) 用 logging 模块替换 print 错误处理

知识入口

资源链接
DeepWikideepwiki.com/sansan0/TrendRadar
Zread.aizread.ai/sansan0/TrendRadar
关联论文无
在线 Demosansan0.github.io/TrendRadar — 可视化配置编辑器

相关报告