Hotdry.
ai-systems

TrendRadar 无代码 Docker 部署与多渠道推送实现

TrendRadar 30s Docker 一键部署,多平台热点聚合与 AI 分析,支持企业微信/飞书/Telegram/ntfy 等多渠道推送的关键参数与配置清单。

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

落地清单

  1. 准备 config/frequency_words.txt:关键词如 AI\n+ChatGPT\n!广告,空行分词组。
  2. 编辑 config.yaml:report.mode: incremental(仅新增,避免重复)。
  3. 测试:docker exec -it trend-radar python manage.py run,检查 output 目录。
  4. 监控: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: truetime_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 字)

查看归档