为什么折腾这个

每天刷各个平台的热搜太分散了,知乎一个、微博一个、B站又一个。TrendRadar 能把这些聚合到一起,定时推送到飞书,打开飞书就能看全网热点。开源自托管,数据在自己手里。

环境

  • 树莓派 4B (arm64), 8GB RAM
  • Debian 13 Trixie
  • Docker 29.7.2 + Docker Compose v5.4.0
  • TrendRadar v6.10.0

部署过程

创建目录

我习惯把所有 Docker 项目放在 ~/.docker/ 下统一管理:

mkdir -p ~/.docker/trendradar/{config,docker}

下载配置文件

直接 clone 官方仓库,拷贝 configdocker 两个目录就行:

# clone 到临时目录
git clone https://ghfast.top/https://github.com/sansan0/TrendRadar.git /tmp/TrendRadar

# 拷贝配置目录
cp -r /tmp/TrendRadar/config ~/.docker/trendradar/config
cp -r /tmp/TrendRadar/docker ~/.docker/trendradar/docker

# 清理
rm -rf /tmp/TrendRadar

国内访问 GitHub 用的 ghfast.top 加速,实测树莓派上能跑通。

拷贝完的目录结构:

~/.docker/trendradar/
├── config/
│   ├── config.yaml              # 核心配置文件(必须编辑)
│   ├── frequency_words.txt      # 关键词配置(必须编辑)
│   ├── timeline.yaml            # 时间线调度配置
│   ├── ai_analysis_prompt.txt   # AI 分析提示词(可选)
│   ├── ai_interests.txt         # AI 兴趣过滤(可选)
│   ├── ai_translation_prompt.txt# AI 翻译提示词(可选)
│   ├── ai_filter/               # AI 筛选提示词目录
│   │   ├── prompt.txt
│   │   ├── extract_prompt.txt
│   │   └── update_tags_prompt.txt
│   └── custom/                  # 用户自定义配置
│       ├── ai/                  # 自定义 AI 提示词
│       └── keyword/             # 自定义关键词文件
└── docker/
    ├── .env                     # 环境变量
    └── docker-compose.yml       # 容器编排

config/ 目录下的文件全部保留,即使暂时不用 AI 功能。缺少文件可能导致预设模板报错。

配置飞书推送

先在飞书群里建一个自定义机器人:电脑端飞书 → 群设置 → 群机器人 → 添加机器人 → 自定义机器人。手机端没有这个入口,别在手机上操作。

拿到 Webhook URL 后,改两个地方。

config.yaml 里找到 notification.channels.feishu.webhook_url,填进去:

notification:
  enabled: true
  channels:
    feishu:
      webhook_url: "https://open.feishu.cn/open-apis/bot/v2/hook/你的token"

.env 里也加一行:

FEISHU_WEBHOOK_URL=https://open.feishu.cn/open-apis/bot/v2/hook/你的token

调整关键配置

根据自己的需求改 config.yaml

# 每次推送当前热榜(不是增量,也不是每日汇总)
report:
  mode: "current"

# 调度系统用 morning_evening 预设:全天推送 + 晚间汇总
schedule:
  enabled: true
  preset: "morning_evening"

# 暂时不用 AI
ai_analysis:
  enabled: false
ai_translation:
  enabled: false
display:
  regions:
    ai_analysis: false

.env 里改运行参数:

WEBSERVER_PORT=13080
CRON_SCHEDULE=0 */2 * * *
IMMEDIATE_RUN=true
AI_ANALYSIS_ENABLED=false
MCP_PORT=13333

docker-compose.yml 两处改动

1. 端口绑定:默认绑定 127.0.0.1,局域网其他设备访问不了。去掉前缀:

# 改前
ports:
  - "127.0.0.1:${WEBSERVER_PORT:-8080}:${WEBSERVER_PORT:-8080}"
# 改后
ports:
  - "${WEBSERVER_PORT:-8080}:${WEBSERVER_PORT:-8080}"

2. MCP 服务:默认会启动,暂时用不上。加 profiles 让它默认不启动:

trendradar-mcp:
  profiles: ["mcp"]
  image: wantcat/trendradar-mcp:latest
  ...

以后要用 MCP 时跑 docker compose --profile mcp up -d 就行。

启动

cd ~/.docker/trendradar/docker
docker compose pull
docker compose up -d

首次启动会自动抓取一次数据。看日志确认:

docker logs -f trendradar

正常的话会看到 11 个平台逐个抓取,最后飞书推送成功。

最终效果

飞书收到的推送长这样:

总新闻: 28 条
热榜: 25/145(平台 7/7)
RSS: 3/20(源 2/2)

类型: 当前榜单
时间: 2026-08-09 18:01:23
最热话题: 中国(6) | 北美(5) | 宇树机器人(3)
📊 热点词汇统计 (共 25 条)

📈 [1/10] 中国 : 6 条

......

Web 报告

打开 http://树莓派IP:13080 可以查看生成的 HTML 报告。

Docker 常用命令

# 进入项目目录
cd ~/.docker/trendradar/docker

# 启动
docker compose up -d

# 停止
docker compose down

# 重启
docker compose restart

# 更新镜像
docker compose pull && docker compose up -d

# 查看容器状态
docker ps --filter name=trendradar

# 查看实时日志
docker logs -f trendradar

# 查看最近 50 行日志
docker logs --tail 50 trendradar

# 环境与配置体检
docker exec -it trendradar python -m trendradar --doctor

# 通知渠道实测
docker exec -it trendradar python -m trendradar --test-notification

# 当前调度状态
docker exec -it trendradar python -m trendradar --show-schedule

# 实时日志
docker exec -it trendradar python manage.py logs

# 立即抓取一次
docker exec trendradar python manage.py run

# 查看容器运行状态
docker exec trendradar python manage.py status

# 查看当前配置
docker exec trendradar python manage.py config

# 查看输出文件
docker exec trendradar python manage.py files

# 启动 Web 服务器(如果未自动启动)
docker exec trendradar python manage.py start_webserver

# 停止 Web 服务器
docker exec trendradar python manage.py stop_webserver

# 查看 Web 服务器状态
docker exec trendradar python manage.py webserver_status

参考文档

  • TrendRadar 官方文档:https://trendradar.sandev.cc/zh/docs/docker/
  • TrendRadar GitHub 仓库:https://github.com/sansan0/TrendRadar
  • 官方可视化配置编辑器:https://sansan0.github.io/TrendRadar/