跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
PythonAI算法

TrendRadar 本地部署指南:构建个人 AI 热点情报系统

TrendRadar 项目支持 Docker 本地部署,通过 NVIDIA 免费 API 实现零成本 AI 热点分析。配置局域网访问、飞书推送及 MCP 协议对接,解决 Markdown 渲染问题,结合 Cherry Studio 实现深度情报研判,打破算法信息茧房。

草莓泡芙发布于 2026/3/23更新于 2026/5/34 浏览
TrendRadar 本地部署指南:构建个人 AI 热点情报系统

TrendRadar 本地部署指南:构建个人 AI 热点情报系统

在大数据算法横行的时代,我们每天被平台'投喂'大量信息,不仅容易陷入信息茧房,还浪费了大量时间筛选有效资讯。我们需要一个个人定制化的新闻推送服务,能够按周期追踪特定领域的趋势和热点,并支持 AI 深度分析。

TrendRadar 项目通过 Docker 本地部署,接入免费的 NVIDIA 模型接口,实现零成本的深度热点分析与趋势追踪。它支持定期推送到飞书、钉钉等即时通讯软件,并通过 Model Context Protocol (MCP) 协议,让 AI 工具(如 Cherry Studio)直接读取新闻数据库,进行深度对话分析。

环境准备

在开始之前,请确保你拥有以下基础环境:

  • 操作系统:Ubuntu 22.04(实体机或 VMware 虚拟机均可)。
  • 网络环境:需要能够通畅访问 GitHub 和 Docker Hub。
  • 基础工具:Git, Docker, Docker Compose。
  • AI 资源:大模型 API Key(推荐申请 NVIDIA 的免费 API,或者使用 DeepSeek、OpenAI)。
  • 客户端工具:Cherry Studio(用于通过 MCP 与 AI 对话)。

部署实战

1. 拉取代码

将项目代码克隆到本地:

git clone https://github.com/sansan0/TrendRadar.git

2. 启动容器

官方文档中容易忽略的一点是,必须进入 docker 子目录才能执行 compose 命令。

cd TrendRadar/docker
docker compose pull
docker compose up -d

关键配置调整

默认配置通常只适合本机测试,为了在局域网访问以及更符合个人习惯,我们需要修改配置文件。

开放局域网访问

默认情况下,Web Server 仅监听 127.0.0.1,导致局域网其他设备无法查看生成的 AI 新闻报告。我们需要修改 docker/docker-compose.yml,去掉 IP 限制,直接暴露端口。

# docker/docker-compose.yml
services:
  trendradar:
    ports:
      - "${WEBSERVER_PORT:-8080}:${WEBSERVER_PORT:-8080}"
      - "3333:3333"

同时,在 docker/.env 中确保开启了 Web 服务:

ENABLE_WEBSERVER=true

配置 AI 模型与新闻源

修改 config/config.yaml 来指定 AI 模型和抓取平台。

配置 AI 模型(以 NVIDIA 免费 API 为例): NVIDIA 提供了许多免费的 API 端点,兼容 OpenAI 格式。注意 model 参数添加『openai/』头部。

# config/config.yaml
ai:
  model: "openai/minimaxai/minimax-m2.5"
  api_key: "nvapi-your_custom_api_key..."
  api_base: "https://integrate.api.nvidia.com/v1"
  timeout: 120
  temperature: 1.0
  max_tokens: 131072

定制新闻源:根据自己的兴趣保留或删除平台。例如只看 GitHub、掘金或华尔街见闻。

platforms:
  enabled: true
sources:
  - id: "toutiao"
    name: "今日头条"
  - id: "juejin"
    name: "掘金"
  - id: "wallstreetcn-hot"
    name: "华尔街见闻"

优化关键词匹配

修改 config/frequency_words.txt 建议使用正则表达式进行精准匹配,避免误报。

[WORD_GROUPS]
# AI 相关
/ai\b/i => AI
/\bDeepSeek\b/ => DeepSeek
/\bOpenAI\b|\bChatGPT\b/i => OpenAI

# 企业与品牌
/英伟达 | 黄仁勋 | \bNVIDIA\b/i => 英伟达
/苏姿丰 | \bAMD\b/i => AMD

推送配置

在 config/config.yaml 中配置通知渠道。开启调度系统后,此项仍为总开关。

notification:
  enabled: true
  channels:
    feishu:
      webhook_url: "https://open.feishu.cn/open-apis/bot/v2/hook/xxx***xxx"

全局配置可在 .env 文件中调整运行模式和时间表。

ENABLE_WEBSERVER=true
AI_ANALYSIS_ENABLED=true
CRON_SCHEDULE=30 8,20 * * *
RUN_MODE=cron
IMMEDIATE_RUN=true

避坑指南:解决飞书推送 Markdown 不渲染问题

这是本次部署中最大的坑。默认代码在推送飞书消息时,使用的是 text 类型,导致飞书无法渲染 Markdown 语法(如加粗、链接),体验极差。

原因分析:飞书 API 要求 Markdown 内容必须通过 interactive(卡片)类型的 lark_md 标签发送。

修复方案:我们需要修改 Python 源码。如果你使用 Docker 映射了代码目录,可以直接修改;否则需要进入容器修改。

修正 1:trendradar/notification/senders.py

找到 send_to_feishu 函数,将原来的 text 类型 payload 替换为 interactive 卡片类型。

# 修改前
payload = {
    "msg_type": "text",
    "content": {"text": batch_content},
}

# 修改后
if is_flow_webhook:
    # 兼容飞书捷径/自动化流程的 Webhook
    payload = {"msg_type": "text", "content": {"text": batch_content}}
else:
    # 标准飞书机器人 Webhook,使用卡片渲染 Markdown
    payload = {
        "msg_type": "interactive",
        "card": {
            "header": {"title": {"tag": "plain_text", "content": "AI 热点推送"}, "template": "blue"},
            "elements": [{"tag": "div", "text": {"tag": "lark_md", "content": batch_content}}]
        }
    }

注意:同样的逻辑也需要应用到 trendradar/notification/dispatcher.py 和 mcp_server/tools/notification.py 中,确保所有推送入口都能正确渲染 Markdown。

修正 2:Docker 挂载

在 docker/docker-compose.yml 的 volumes 中添加代码目录映射,以便修改生效。

volumes:
  - ../config:/app/config:ro
  - ../output:/app/output
  - ../trendradar:/app/trendradar

进阶玩法:接入 Cherry Studio 进行 AI 对话

部署了 MCP 服务后,TrendRadar 就不再只是一个单向的推送工具,而是可以对话的知识库。

  1. Server 端配置:确保在步骤 4.1 中已经开放了 3333 端口,且 docker-compose.yml 中包含了 trendradar-mcp 服务。局域网地址示例:http://192.168.1.100:3333
  2. Cherry Studio 客户端配置:
    • 添加模型服务:在设置中添加 NVIDIA 或其他兼容 OpenAI 的服务商,填入 API Key。
    • 添加 MCP 服务器:名称设为 TrendRadar MCP,类型为可流式传输的 HTTP (streamableHttp),URL 指向你的部署机器 IP。

连接成功后,你可以在 Cherry Studio 中直接在这个 MCP 频道下提问,例如:'我想了解 'AI' 这个话题,请依次完成以下步骤:搜索今天的相关新闻,分析最近一周的热度趋势,对比各平台的关注度,分析最近一周的情感倾向。'

AI 将会自动调用 TrendRadar 的数据库,生成包含图表数据的专业分析报告。

总结

通过本次本地部署,我们成功实现了数据自主存储、体验升级(修复飞书推送 bug)、智能加持(利用免费大模型)以及深度交互(MCP + Cherry Studio)。如果你也厌倦了被算法支配,不妨动手试试这套方案。

参考项目:TrendRadar GitHub 仓库

目录

  1. TrendRadar 本地部署指南:构建个人 AI 热点情报系统
  2. 环境准备
  3. 部署实战
  4. 1. 拉取代码
  5. 2. 启动容器
  6. 关键配置调整
  7. 开放局域网访问
  8. docker/docker-compose.yml
  9. 配置 AI 模型与新闻源
  10. config/config.yaml
  11. 优化关键词匹配
  12. AI 相关
  13. 企业与品牌
  14. 推送配置
  15. 避坑指南:解决飞书推送 Markdown 不渲染问题
  16. 修正 1:trendradar/notification/senders.py
  17. 修改前
  18. 修改后
  19. 修正 2:Docker 挂载
  20. 进阶玩法:接入 Cherry Studio 进行 AI 对话
  21. 总结
  • 💰 8折买阿里云服务器限时8折了解详情
  • GPT-5.5 超高智商模型1元抵1刀ChatGPT中转购买
  • 代充Chatgpt Plus/pro 帐号了解详情
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Llama-3.2-3B 本地部署与多语言对话实测
  • Stable Diffusion XL 快速部署与使用指南
  • Spring Bean 作用域、生命周期与自动装配源码解析
  • 数据结构:树的基本概念与堆的功能实现
  • C++ 核心语法解析:引用、内联函数与空指针
  • 基于 RAGFlow 本地知识库与定制化大模型的私有化应用
  • GTC 2026 前瞻:Rubin 平台与 AI 工厂建设
  • 详解 Python 常见文件类型:.py、.ipynb、.pyi、.pyc、.pyd 及扩展
  • Spring Boot 数据访问与数据库集成实战
  • 手势控制电脑方案分析与 Python 最小可运行示例
  • 零基础黑客入门:普通人成为安全专家的十个步骤
  • Android 变量生命周期、内存释放机制与 GC 触发时机研究
  • 26 年网络建设与运维样题一网络建设与调试模块完整配置方案
  • Spring Web MVC 核心概念与实战指南
  • 最长有效括号:Python 动态规划解法
  • sherpa-onnx 离线语音部署框架:支持 Whisper、Moonshine、SenseVoice 等模型
  • 自然语言处理在金融风控中的实战应用
  • 使用 AI 快速验证 GIT 环境配置方案
  • FastAPI:Python 高性能 Web 框架深度解析
  • GitHub Copilot 接入 Figma MCP 实现设计稿转前端代码

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online