page contents
侧边栏壁纸
  • 累计撰写 60 篇文章
  • 累计创建 21 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

用 AI 抓全网热点!TrendRadar 从 0 到 1 部署 + 配置全攻略,附避坑指南

广告 广告

在信息爆炸的时代,如何高效捕捉全网热点、精准追踪行业动态,是每个内容创作者、从业者的核心需求。TrendRadar 正是为解决这一痛点而生的开源 AI 热点雷达工具,它支持多平台热点聚合、AI 智能分析、自定义关键词监控、多渠道推送等功能,无需复杂环境,仅需 2 核 2G 的低配云服务器,就能搭建属于自己的专属热点情报站。

本教程将以 云服务器为基础,通过 Docker+Docker Compose 的方式,为新手提供从 0 到 1 的完整部署指南,全程拆解每一个操作步骤,规避常见配置坑点,让零基础用户也能快速上手。无论你是想做热点内容创作、行业舆情监控,还是搭建个人资讯工具,TrendRadar 都能以极低的成本,帮你实现全网热点的实时掌控。跟着教程操作,你将在 10 分钟内完成部署,开启高效的热点追踪之旅。

一台服务器vps:(官网五折福利点我直达)

终端软件点击下载:FinalShell SSH工具, FinalShell官网

第一步:安装 Docker 和 Docker Compose

1. 更新服务器软件源

apt update && apt upgrade -y

(等待几分钟,出现Done就完成)

2. 安装 Docker 依赖

apt install -y apt-transport-https ca-certificates curl software-properties-common

3. 添加 Docker 官方 GPG 密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

4. 添加 Docker 软件源

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null

5. 安装 Docker 引擎

apt update && apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

6. 验证 Docker 安装成功

docker --version
docker compose version
  • 能看到类似Docker version 26.1.4, build 5650f9bDocker Compose version v2.27.0的输出,就是装好了

7. 启动 Docker 并设置开机自启

systemctl start docker
systemctl enable docker

第二步:下载 TrendRadar 项目代码

1. 安装 git(用来拉取代码)

apt install -y git

2. 克隆项目仓库(把代码下载到服务器)

git clone https://github.com/sansan0/TrendRadar.git
  • 执行完会看到Cloning into 'TrendRadar'...,等待完成后,进入项目目录:

cd TrendRadar

第三步:配置环境变量(核心!)

TrendRadar 的配置都在docker/.env文件里,我们需要编辑这个文件:

1. 安装编辑器(新手用 nano,简单)

apt install -y nano

2. 编辑.env 文件

nano docker/.env
  • 打开后会看到一堆配置项,新手先改关键的,其他默认即可:

必改 / 必配项(按需求选):

  • Web 服务器(可选,想访问网页报告就开)

    找到ENABLE_WEBSERVER=false,改成ENABLE_WEBSERVER=true

    (端口默认 8080,不用改,后面会映射)

  • 通知渠道(可选,比如飞书 / 钉钉)

    找到FEISHU_WEBHOOK_URL=,后面填你的飞书机器人 webhook(没有就留空)

    其他通知(Telegram / 钉钉 / 企业微信)同理,有就填,没有留空

👉 点击展开:企业微信机器人(配置最简单最迅速)
  • GitHub Secret 配置(⚠️ Name 名称必须严格一致):

    • Name(名称)WEWORK_WEBHOOK_URL(请复制粘贴此名称,不要手打,避免打错)

    • Secret(值):你的企业微信机器人 Webhook 地址

    机器人设置步骤:

    手机端设置:

    1. 打开企业微信 App → 进入目标内部群聊

    2. 点击右上角"…"按钮 → 选择"消息推送"

    3. 点击"添加" → 名称输入"TrendRadar"

    4. 复制 Webhook 地址,点击保存,复制的内容配置到上方的 GitHub Secret 中

    PC 端设置流程类似

👉 点击展开:个人微信推送(基于企业微信应用,推送到个人微信)

由于该方案是基于企业微信的插件机制,推送样式为纯文本(无 markdown 格式),但可以直接推送到个人微信,无需安装企业微信 App。

GitHub Secret 配置(⚠️ Name 名称必须严格一致):

  • Name(名称)WEWORK_WEBHOOK_URL(请复制粘贴此名称,不要手打)

  • Secret(值):你的企业微信应用 Webhook 地址

  • Name(名称)WEWORK_MSG_TYPE(请复制粘贴此名称,不要手打)

  • Secret(值)text

设置步骤:

  1. 完成上方的企业微信机器人 Webhook 设置

  2. 添加 WEWORK_MSG_TYPE Secret,值设为 text

  3. 按照下面图片操作,关联个人微信

  4. 配置好后,手机上的企业微信 App 可以删除

说明

  • 与企业微信机器人使用相同的 Webhook 地址

  • 区别在于消息格式:text 为纯文本,markdown 为富文本(默认)

  • 纯文本格式会自动去除所有 markdown 语法(粗体、链接等)

👉 点击展开:飞书机器人(消息显示相对友好)

若启用 AI 分析,飞书推送偶发(约 5% 概率)会有数分钟延迟(推测为平台对 AI 生成内容的合规性审核)。

GitHub Secret 配置(⚠️ Name 名称必须严格一致):


有两个方案,方案一配置简单,方案二配置复杂(但是稳定推送)

其中方案一,由 ziventian发现并提供建议,在这里感谢他,默认是个人推送,也可以配置群组推送操作#97

方案一:

对部分人存在额外操作,否则会报"系统错误"。需要手机端搜索下机器人,然后开启飞书机器人应用(该建议来自于网友,可参考)

  1. 电脑浏览器打开 https://botbuilder.feishu.cn/home/my-command

  2. 点击"新建机器人指令"

  3. 点击"选择触发器",往下滑动,点击"Webhook 触发"

  4. 此时你会看到"Webhook 地址",把这个链接先复制到本地记事本暂存,继续接下来的操作

  5. "参数"里面放上下面的内容,然后点击"完成"

  6. 方案二:

    1. 电脑浏览器打开 https://botbuilder.feishu.cn/home/my-app

    2. 点击"新建机器人应用"

    3. 进入创建的应用后,点击"流程设计" > "创建流程" > "选择触发器"

    4. 往下滑动,点击"Webhook 触发"

    5. 此时你会看到"Webhook 地址",把这个链接先复制到本地记事本暂存,继续接下来的操作

    6. "参数"里面放上下面的内容,然后点击"完成"

    {
      "message_type": "text",
      "content": {
        "text": "{{内容}}"
      }
    }
    1. 点击"选择操作" > "发送飞书消息",勾选 "群消息",然后点击下面的输入框,点击"我管理的群组"(如果没有群组,你可以在飞书 app 上创建群组)

    2. 消息标题填写"TrendRadar 热点监控"

{
  "message_type": "text",
  "content": {
    "text": "{{内容}}"
  }
}
  1. 点击"选择操作" > "通过官方机器人发消息"

  2. 消息标题填写"TrendRadar 热点监控"

👉 点击展开:钉钉机器人

GitHub Secret 配置(⚠️ Name 名称必须严格一致):

  • Name(名称)DINGTALK_WEBHOOK_URL(请复制粘贴此名称,不要手打)

  • Secret(值):你的钉钉机器人 Webhook 地址


机器人设置步骤:

  1. 创建机器人(仅 PC 端支持)

    • 打开钉钉 PC 客户端,进入目标群聊

    • 点击群设置图标(⚙️)→ 往下翻找到"机器人"点开

    • 选择"添加机器人" → "自定义"

  2. 配置机器人

    • 设置机器人名称

    • 安全设置

      • 自定义关键词:设置 "热点"

  3. 完成设置

    • 勾选服务条款协议 → 点击"完成"

    • 复制获得的 Webhook URL

    • 将 URL 配置到 GitHub Secrets 中的 DINGTALK_WEBHOOK_URL

注意:移动端只能接收消息,无法创建新机器人。

👉 点击展开:邮件推送(支持所有主流邮箱)
  • 注意事项:为防止邮件群发功能被滥用,当前的群发是所有收件人都能看到彼此的邮箱地址。

  • 如果你没有过配置下面这种邮箱发送的经历,不建议尝试

⚠️ 重要配置依赖:邮件推送需要 HTML 报告文件。请确保 config/config.yaml 中的 storage.formats.html 设置为 true

storage:
  formats:
    sqlite: true
    txt: false
    html: true   # 必须启用,否则邮件推送会失败

如果设置为 false,邮件推送时会报错:错误:HTML文件不存在或未提供: None

  • AI 分析(可选,想用就配)

    找到:

    plaintext

    AI_ANALYSIS_ENABLED=
    AI_API_KEY=
    AI_MODEL=
    

    改成:

    plaintext

    AI_ANALYSIS_ENABLED=true
    AI_API_KEY=你的AI接口密钥(比如OpenAI/DeepSeek的Key)
    AI_MODEL=deepseek/deepseek-chat (或openai/gpt-3.5-turbo,根据你的Key适配)
    

保存退出 nano:

  • Ctrl+O(保存),回车确认文件名

  • Ctrl+X(退出编辑器)

3. 创建必要的配置目录(防止容器启动报错)

mkdir -p config output
  • config:放自定义配置文件(如果有)

  • output:存储爬取的新闻数据

第四步:启动 Docker 容器

1. 进入 docker 目录

cd docker

2. 启动容器(用官方镜像,最快)

docker compose up -d
  • 执行后会自动下载镜像(第一次可能需要几分钟,耐心等)

  • 看到Creating trendradar ... doneCreating trendradar-mcp ... done就成功了!

3. 验证容器是否运行

docker compose ps
  • 看到STATUS列是Up,说明容器正常运行

第五步:访问服务(可选)

1. 开放端口(云服务器安全组!关键!)

  • 登录你的云服务器控制台,找到「安全组 / 防火墙」配置:

    • 开放 8080 端口(Web 服务器)

    • 开放 3333 端口(MCP 服务器)

    • 开放规则:来源选「0.0.0.0/0」,协议 TCP

2. 访问 Web 页面

在本地浏览器输入:http://你的服务器IP:8080

  • 如果能看到页面,说明 Web 服务器正常;如果看不到,检查安全组是否开了 8080 端口

3. 查看容器日志(排查问题用)

# 查看trendradar主容器日志
docker compose logs -f trendradar

# 查看mcp容器日志
docker compose logs -f trendradar-mcp
  • Ctrl+C退出日志查看

常用操作(后续管理用)

1. 重启容器

docker compose restart

2. 停止容器

docker compose down

3. 更新镜像(后续有新版本时)

docker compose pull
docker compose up -d

4. 查看爬取的数据

# 进入output目录查看
cd ../output
ls -l

新手常见问题排查

  1. 容器启动失败

    • 先看日志:docker compose logs trendradar

    • 检查目录权限:chmod -R 777 ../config ../output(临时解决权限问题)

  2. 访问不到 8080 端口

    • 检查服务器防火墙:ufw allow 8080/tcp(Ubuntu 自带防火墙)

    • 检查云服务器安全组是否开放 8080

  3. AI 分析不生效

  • 确认.envAI_ANALYSIS_ENABLED=true

  • 确认AI_API_KEYAI_MODEL填写正确

  • 查看日志:docker compose logs -f trendradar,看是否有 API 密钥错误

置文件说明:

  • 可视化配置编辑器:TrendRadar 配置文件编辑器

  • 配置分工原则(v4.6.0 优化)

    文件

    用途

    修改频率

    说明

    config/config.yaml

    核心功能配置

    报告模式、推送设置、存储格式、推送窗口、AI 分析开关、平台启用等全局行为控制

    config/frequency_words.txt

    关键词配置

    设置你关心的热点词汇,支持分组、正则、别名等高级语法

    config/timeline.yaml

    时间线配置

    控制新闻时间线的展示和过滤规则

    config/ai_analysis_prompt.txt

    AI 分析提示词

    自定义 AI 分析的角色定义和输出格式(v5.0.0+)

    config/ai_translation_prompt.txt

    AI 翻译提示词

    自定义 AI 翻译的提示词模板

    config/ai_interests.txt

    AI 兴趣过滤

    定义 AI 基于兴趣自动过滤新闻的规则

    config/ai_filter/

    AI 过滤提示词

    AI 过滤模块的内部提示词(一般无需修改)

    config/custom/

    用户自定义扩展

    按需

    custom/ai/ 放自定义 AI 提示词,custom/keyword/ 放自定义关键词文件

    docker/.env

    敏感信息 + Docker 特有配置

    webhook URLs、API Key、S3 密钥、定时任务等,不会被 git 追踪

    💡 分工要点

    • 功能行为 → 改 config.yaml(如开启/关闭某个平台、调整推送模式)

    • 关注内容 → 改 frequency_words.txt(如添加新的关注关键词)

    • AI 输出风格 → 改 ai_analysis_prompt.txtai_translation_prompt.txt

    • 密钥与凭证 → 改 docker/.env(API Key、Webhook URL 等敏感信息统一放这里)

    • 个性化扩展 → 使用 config/custom/ 目录,避免直接修改默认配置被升级覆盖

    💡 配置修改生效:修改 config.yaml 后,执行 docker compose up -d 重启容器即可生效

    ⚙️ 环境变量覆盖机制(v3.0.5+)

    .env 文件中的环境变量会覆盖 config.yaml 中的对应配置:

    环境变量

    对应配置

    示例值

    说明

    ENABLE_WEBSERVER

    -

    true / false

    是否自动启动 Web 服务器

    WEBSERVER_PORT

    -

    8080

    Web 服务器端口

    WEBSERVER_WATCHDOG

    -

    true / false

    是否开启“网页服务自动恢复”(服务异常时自动重开)

    WEBSERVER_WATCHDOG_INTERVAL

    -

    60

    自动恢复检查间隔(秒)

    FEISHU_WEBHOOK_URL

    notification.channels.feishu.webhook_url

    https://...

    飞书 Webhook(多账号用 ; 分隔)

    AI_ANALYSIS_ENABLED

    ai_analysis.enabled

    true / false

    是否启用 AI 分析(v5.0.0 新增)

    AI_API_KEY

    ai.api_key

    sk-xxx...

    AI API Key(ai_analysis 和 ai_translation 共享)

    AI_PROVIDER

    ai.provider

    deepseek / openai / gemini

    AI 提供商

    S3_*

    storage.remote.*

    -

    远程存储配置(5 个参数)

    配置优先级:环境变量 > config.yaml

    使用方法

    • 修改 .env 文件,填写需要的配置

    • 或在 NAS/群晖 Docker 管理界面的"环境变量"中直接添加

    • 重启容器后生效:docker compose up -d

总结

部署核心步骤:

  1. 装 Docker → 2. 拉代码 → 3. 配.env → 4. 启动容器 → 5. 开安全组端口

    整个过程只要跟着复制命令,服务器完全能跑起来,有任何报错可以先看日志,大部分问题都是端口没开、配置没填对或者权限问题~

0

评论区