中文 | English
基于 sansan0/TrendRadar 的增强版本,在保留全部原有功能的基础上,系统性重构了前端 UI、优化了 AI 分析上下文、增加了细粒度的 AI 模型配置控制。
TrendRadar 是一款面向个人和团队的 AI 热点新闻聚合工具,专注于中文互联网热搜监控与智能分析。与其他新闻聚合器相比,TrendRadar 的核心优势在于:
- 中文平台深度支持 — 原生支持微博、知乎、百度、抖音、B站、头条等 11+ 中国主流热搜平台,而非仅覆盖英文信源
- AI 上下文优化 — 独创的 chunk 分块分析机制,将长文拆分后送入 AI,确保分析不截断、上下文完整
- 细粒度 AI 模型配置 — 分析模型、翻译模型、筛选模型可独立配置不同的 API Key 和模型参数,按需分配成本
- MCP Server 集成 — 内置 FastMCP 2.0 服务器,提供 26 个工具供 AI Agent 直接查询新闻数据、运行趋势分析
- 翻译缓存 — 相同内容不重复调用 AI API,节省 60%+ 的翻译费用
- 多渠道推送 — 支持飞书、Telegram、企业微信、邮件、Bark、Slack 等 9 种通知渠道
本项目 fork 自 sansan0/TrendRadar,在保留原有全部功能的基础上进行了系统性增强。以下为关键差异:
| 对比维度 | 原版 (sansan0/TrendRadar) | 本版本 (Gumiano/TrendRadar) |
|---|---|---|
| 前端布局 | 标签栏 Tab 切换模式 | 扁平 Grid 网格,所有模块一目了然 |
| CSS 架构 | 内联样式为主 | CSS Custom Properties Token System |
| 深色模式 | 基础支持 | 完整覆盖所有新增组件 |
| 容器宽度 | 固定 1200px | 响应式 780px / 960px 双模式 |
| 翻译功能 | 每次调用 AI API | 翻译缓存机制,避免重复调用 |
| AI 配置 | 全局共享模型 | AI 分析模型独立配置,支持独立 API Key |
| AI 筛选 | 基础过滤 | 新增 chunk 分块分析,提升长文处理质量 |
| RSS 容错 | 严格解析 | 容错解析 + 增加排序优化 |
| 今日热点 | 无 | 新增今日累积热点展示区 |
| 定时调度 | 仅整点 | 支持 morning_evening 定时推送 |
| 代码质量 | 存在冗余代码 | 清理死代码,添加 schema 验证 |
| Docker | 仅远程镜像 | 新增 prebuilt 本地构建方案 |
- 扁平 Grid 网格布局 — 移除独立 Tab 栏,所有模块在同一视图呈现
- CSS Custom Properties Token System — 统一主题色彩管理,便于自定义
- 响应式容器宽度 — 普通 780px / 宽屏 960px 双模式
- 交互细节打磨 — hover 过渡动画、功能性 border-radius、标题层级优化
- 翻译缓存机制 — 相同内容不重复调用 AI API,节省 60%+ 费用
- AI 分析模型独立配置 — 分析与翻译模型可独立设置
- Chunk 分块分析 — 长文分块送入 AI,避免截断丢失关键信息
- AI 筛选 Schema — 新增结构化存储表和 CRUD 接口
- 今日累积热点展示区 — 统计所有平台今日热点总量
- Morning/Evening 定时调度 — 支持早间/晚间推送模式
- RSS 解析容错 — 单条解析失败不影响整体,按时间倒序展示
- 死代码清理 — 清理 14 处无用代码
- 存储层增强 — 新增 AI 筛选表结构,统一 CRUD 接口
- Docker 本地构建 — 新增
docker-compose.prebuilt.yml - Gitignore 完善 — 覆盖敏感文件、数据文件、开发工具产物
cp docker/docker-compose.prebuilt.yml docker-compose.yml
cp docker/.env.example .env
# 编辑 .env 填入你的 API Key
docker compose up -d
# 关闭服务
sudo docker compose -f docker/docker-compose-build.yml down
# 关闭并重新启动
sudo docker compose -f docker/docker-compose-build.yml down && sudo docker compose -f docker/docker-compose-build.yml up trendradar -d- Fork 本仓库
- Settings → Pages → 选择 GitHub Actions
- 配置
config/config.yaml - Push 到 master 分支
pip install uv
uv sync
uv run trendradar配置文件位于 config/config.yaml,主要配置项:
notification:
feishu_webhook_url: "" # 飞书 Webhook
telegram_bot_token: "" # Telegram Bot
ai:
enabled: false
api_key: "" # AI API Key
base_url: "" # API Base URL
model: "gpt-4o-mini" # 分析模型
translation_model: "" # 翻译模型(可独立配置)
translation_cache:
enabled: true # 启用翻译缓存
scheduler:
mode: "morning_evening" # 定时推送模式- 多平台热点聚合 — 微博热搜、知乎热榜、百度热搜、抖音热点、B站热门、头条热榜、GitHub Trending 等 20+ 平台
- AI 智能分析 — 支持 DeepSeek、GPT-4、Claude、Gemini 等 100+ AI 模型(通过 LiteLLM 统一接口)
- AI 智能筛选 — 基于兴趣标签的 AI 自动分类,支持 chunk 分块分析提升长文处理质量
- 多语言翻译 — AI 自动翻译 + 翻译缓存机制,节省 60%+ API 调用费用
- 多渠道推送 — 飞书、Telegram、企业微信(WeCom)、邮件、Bark、Slack、ntfy、钉钉、通用 Webhook 等 9 种通知渠道
- RSS 订阅 — 自定义 RSS 源,容错解析 + 时间排序优化
- MCP Server — 基于 FastMCP 2.0 的 AI Agent 接口,提供 26 个工具用于数据分析和配置管理
- 定时调度 — 支持 morning_evening、always_on、office_hours、night_owl 等多种调度模式
- Docker 一键部署 — 30 秒完成部署,支持 GitHub Actions 自动化
- S3 远程存储 — 支持 Cloudflare R2、阿里云 OSS、腾讯云 COS 等 S3 兼容存储
- GitHub Pages — 自动发布热点报告到 GitHub Pages
TrendRadar 和原版 sansan0/TrendRadar 有什么区别?
TrendRadar 是原版的增强 fork,核心差异在于:
- 前端 UI — 扁平 Grid 布局替代 Tab 切换,所有模块一目了然
- AI 上下文优化 — chunk 分块分析确保长文不截断
- 细粒度 AI 配置 — 分析/翻译/筛选模型可独立配置
- 翻译缓存 — 相同内容不重复调用 API
支持哪些 AI 模型?
通过 LiteLLM 支持 100+ 模型,包括:DeepSeek、OpenAI GPT-4o、Claude、Gemini、通义千问、豆包等。所有模型均可通过 config/config.yaml 独立配置。
如何部署到 Docker?
cp docker/docker-compose.prebuilt.yml docker-compose.yml
cp docker/.env.example .env
# 编辑 .env 填入 API Key
docker compose up -dMCP Server 是什么?
MCP Server 是基于 FastMCP 2.0 的 AI Agent 接口,允许 Claude、ChatGPT 等 AI 工具直接查询 TrendRadar 的新闻数据、运行趋势分析、管理配置。支持 stdio 和 HTTP 两种传输模式。
本项目基于 GPL-3.0 许可证发布。
本项目 fork 自 sansan0/TrendRadar,根据 GPL-3.0 协议,衍生作品继续沿用 GPL-3.0。
- sansan0/TrendRadar — 原版项目
- ourongxing/newsnow — NewsNow 数据源
- litellm — 多模型 AI 统一接口
- FastMCP — MCP Server 框架