TrendRadar 项目以零代码门槛著称,通过 Docker 容器化和 GitHub Actions 实现 30 秒网页部署或一键 Docker 运行,完美解决传统热点监控工具的部署复杂性问题。该工具聚合抖音、知乎、B站、微博等 11+ 平台实时热搜,支持基于 MCP 协议的 AI 分析(13 种工具,包括趋势追踪、情感分析、相似检索),并通过多渠道推送直达用户手机。相较于手动搭建爬虫系统,TrendRadar 的 no-code Docker 方案将部署时间压缩至分钟级,同时支持自定义关键词筛选和推送模式,避免信息过载。
Docker 部署的核心优势与参数配置
Docker 部署是 TrendRadar 的首选方案,支持多架构(AMD64/ARM64),官方镜像 wantcat/trendradar:latest 已集成所有依赖,一键拉取即可运行。相比 GitHub Pages 的静态网页,Docker 提供数据持久化和实时 cron 调度,适合生产环境。
快速启动命令(Linux/macOS 示例):
mkdir -p config output
# 下载默认配置
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/
docker run -d --name trend-radar \
-v ./config:/app/config:ro \
-v ./output:/app/output \
-e FEISHU_WEBHOOK_URL="你的飞书 webhook" \
-e CRON_SCHEDULE="*/30 * * * *" \
-e RUN_MODE="cron" \
-e IMMEDIATE_RUN="true" \
wantcat/trendradar:latest
关键环境变量参数:
CRON_SCHEDULE: 调度频率,默认 */30 * * * *(每 30 分钟),生产环境建议 15-60 分钟,避免 API rate limit。GitHub Actions 默认每小时,Docker 可精细控制。
RUN_MODE: cron(定时)或 once(单次),结合 IMMEDIATE_RUN=true 立即测试。
ENABLE_CRAWLER=true / ENABLE_NOTIFICATION=true: 开关爬虫与推送,v3.0.5+ 支持环境覆盖 config.yaml。
- 数据卷
-v ./output:/app/output: 持久化 HTML/TXT 报告,容器的 /app/output 映射到宿主机,支持 NAS 部署。
使用 docker-compose 更优雅:
# docker-compose.yml 示例
services:
trend-radar:
image: wantcat/trendradar:latest
volumes:
- ./config:/app/config:ro
- ./output:/app/output
environment:
- FEISHU_WEBHOOK_URL=https://open.feishu.cn/open-...
- REPORT_MODE=incremental # 推送模式
- PUSH_WINDOW_ENABLED=true
- PUSH_WINDOW_START=08:00
- PUSH_WINDOW_END=22:00
restart: unless-stopped
启动:docker-compose up -d,日志查看 docker logs -f trend-radar。更新镜像:docker-compose pull && docker-compose up -d。
落地清单:
- 准备 config/frequency_words.txt:关键词如
AI\n+ChatGPT\n!广告,空行分词组。
- 编辑 config.yaml:
report.mode: incremental(仅新增,避免重复)。
- 测试:
docker exec -it trend-radar python manage.py run,检查 output 目录。
- 监控:
docker exec -it trend-radar python manage.py status,确认数据积累。
多渠道推送机制与阈值参数
TrendRadar 支持 9+ 推送渠道,覆盖企业微信、飞书、Telegram、ntfy 等,实现跨平台通知。核心是 webhook 机制,分批推送(每批 ~4KB),自动处理长度限制。
配置优先级:环境变量 > config.yaml > GitHub Secrets。Docker 中直接用 -e 注入。
| 渠道 |
配置参数 |
关键阈值 |
适用场景 |
| 企业微信 |
WEWORK_WEBHOOK_URL |
分批 10KB,WEWORK_MSG_TYPE=text/markdown |
团队群聊,纯文本推个人微信 |
| 飞书 |
FEISHU_WEBHOOK_URL |
分批推送,长文优化 |
移动端显示最佳 |
| Telegram |
TELEGRAM_BOT_TOKEN + TELEGRAM_CHAT_ID |
4KB/消息 |
跨平台,隐私 ntfy 替代 |
| ntfy |
NTFY_TOPIC=trendradar-xxx,可选 NTFY_SERVER_URL |
免费 250 条/天,自建无限制 |
iOS/Android/Web,轻量隐私 |
| Slack |
SLACK_WEBHOOK_URL |
mrkdwn 格式,4KB/批 |
团队协作 |
| 邮件 |
EMAIL_FROM/PASSWORD/TO,SMTP 自动识别 |
HTML 精美,多收件人逗号分隔 |
归档报告 |
推送模式参数(config.yaml report.mode):
daily: 当日汇总,适合管理者。
current: 当前榜单,追踪实时。
incremental: 仅新增,零重复(推荐高频)。
时间窗口控制:notification.push_window.enabled: true,time_range: {start: "09:00", end: "18:00"},避免夜间打扰。Docker 环境变量 PUSH_WINDOW_START=09:00。
关键词筛选语法:
- 普通:
AI
- 必须:
+趋势
- 过滤:
!广告
- 数量:
@5(v3.2.0+)
- 排序:
sort_by_position_first: true(配置顺序优先)。
例如 frequency_words.txt:
AI
ChatGPT
+分析
@10
比亚迪
特斯拉
+销量
热点算法权重(weight 部分):默认 rank_weight: 0.6, frequency_weight: 0.3, hotness_weight: 0.1,实时调整排序:高排名 60%、频次 30%、综合热度 10%。
风险控制与监控优化
风险:newsnow API 压力,建议 star 支持源项目;webhook 泄露,用 Secrets 存储。Docker 内存 <512MB 易 OOM,推荐 1GB+。
监控点:
- 日志:新增🆕标记、热度🔥📈📌。
- AI 分析:MCP 工具调用,查询
analyze_topic_trend("AI", days=7)。
- 回滚:
max_news_per_keyword: 5,全局限流。
实际部署中,一位用户反馈 ntfy 编码修复后稳定推送(v3.2.0)。项目更新频繁,Docker pull 保持最新。
参数阈值建议:
| 参数 |
保守值 |
激进值 |
说明 |
| CRON |
*/60 |
*/15 |
平衡 rate limit |
| max_news |
10 |
20 |
推送长度 |
| push_window |
09-18 |
全天 |
防扰 |
TrendRadar 的 no-code Docker + 多渠道推送,将热点监控从被动浏览转为主动智能推送,落地企业舆情、投资追踪场景。GitHub 仓库显示,项目星数快速增长,社区反馈优化迅速。[1]
资料来源:
[1] GitHub - sansan0/TrendRadar: 多平台热点聚合 + MCP AI 分析工具,支持 Docker 与多渠道推送。https://github.com/sansan0/TrendRadar (2025-11-29 访问)。
(正文约 1250 字)