跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

TrendRadar 本地部署指南:Docker 配置、AI 模型接入与 MCP 服务对接

综述由AI生成介绍 TrendRadar 项目的本地 Docker 部署流程。涵盖环境准备、代码克隆、容器启动及网络配置。重点讲解了如何修改 docker-compose.yml 支持局域网访问,配置 NVIDIA 免费 API 进行 AI 分析,以及修复飞书推送 Markdown 渲染问题。最后演示了如何通过 MCP 协议将 TrendRadar 接入 Cherry Studio,实现基于本地新闻数据库的 AI 对话与深度趋势分析。

CloudNative发布于 2026/4/5更新于 2026/6/734 浏览
TrendRadar 本地部署指南:Docker 配置、AI 模型接入与 MCP 服务对接

TrendRadar 本地部署指南

本文基于 TrendRadar 项目,详细拆解如何通过 Docker 本地部署一套个人专属的 AI 热点情报系统。涵盖从环境准备、Docker 镜像拉取、局域网访问配置、飞书推送修复到 Cherry Studio MCP 服务对接的全流程。

1. 背景与需求

在大数据算法横行的时代,我们每天被平台投喂大量信息,容易陷入信息茧房。核心需求如下:

  1. 拒绝算法绑架:需要个人定制化的新闻推送服务。
  2. 趋势追踪:按周期追踪特定领域的趋势和热点。
  3. AI 深度分析:不仅看新闻,还要 AI 总结、分析情感倾向,甚至通过对话深度探索。

TrendRadar 的核心价值:

  • 零成本 AI 分析:支持接入免费的 NVIDIA 模型接口。
  • 定制推送:定期推送到飞书、钉钉等即时通讯软件。
  • MCP 协议支持:通过 Model Context Protocol (MCP) 协议,让 AI 工具直接读取新闻数据库。

2. 环境准备

确保拥有以下基础环境:

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

3. 部署实战

3.1 下载代码仓

将项目代码克隆到本地:

git clone https://github.com/sansan0/TrendRadar.git
3.2 启动 Docker 容器

⚠️ 提示:必须进入 docker 子目录才能执行 compose 命令。

# 1. 进入项目 docker 目录
cd TrendRadar/docker
# 2. 拉取最新镜像
docker compose pull
# 3. 启动所有服务
docker compose up -d

4. 关键配置调整

默认配置通常只适合本机测试,需修改 docker/docker-compose.yml 和 config/config.yaml。

4.1 局域网访问配置

默认 Web Server 仅监听 127.0.0.1,需去掉 IP 限制以允许局域网访问。

修改文件:docker/docker-compose.yml

# 修改前
ports:
  - 
   


   
   
"127.0.0.1:${WEBSERVER_PORT:-8080}:${WEBSERVER_PORT:-8080}"
-
"127.0.0.1:3333:3333"
# 修改后(允许局域网访问 Web 报告和 MCP 服务)
ports:
-
"${WEBSERVER_PORT:-8080}:${WEBSERVER_PORT:-8080}"
-
"3333:3333"

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

ENABLE_WEBSERVER=true
4.2 配置新闻源与 AI 模型

修改文件:config/config.yaml

配置 AI 模型(以 NVIDIA 免费 API 为例):

ai:
  # 格式:provider/model_name
  model: "openai/minimaxai/minimax-m2.5"
  api_key: "nvapi-your_custom_api_key..."
  # 关键:自定义 API 端点
  api_base: "https://integrate.api.nvidia.com/v1"
  timeout: 120
  temperature: 1.0
  max_tokens: 131072

定制新闻源:根据自己的兴趣保留或删除平台。

platforms:
  enabled: true
sources:
  - id: "toutiao"
    name: "今日头条"
  - id: "bilibili-hot-search"
    name: "bilibili 热搜"
  - id: "github"
    name: "GitHub"
  # ... 更多平台配置
4.3 优化关键词匹配

修改文件:config/frequency_words.txt 建议使用正则表达式进行精准匹配。

[WORD_GROUPS]
# AI 相关
/\bai\b/i => AI
/\bDeepSeek\b/ => DeepSeek
/\bOpenAI\b/ => OpenAI
# 企业与品牌
/英伟达|黄仁勋|\bNVIDIA\b/i => 英伟达
/微软|\bMicrosoft\b/i => 微软
4.4 推送配置

修改文件:config/config.yaml

notification:
  enabled: true
  channels:
    feishu:
      webhook_url: "https://open.feishu.cn/open-apis/bot/v2/hook/xxx***xxx"
4.5 Docker 全局配置
# 启动时开启 webserver 服务
ENABLE_WEBSERVER=true
# 开启 AI 分析
AI_ANALYSIS_ENABLED=true
# 每天 08:30 和 20:30 进行消息推送
CRON_SCHEDULE=30 8,20 * * *
# 运行模式:cron/once
RUN_MODE=cron
# 启动时立即执行一次
IMMEDIATE_RUN=true

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

默认代码在推送飞书消息时使用的是 text 类型,导致无法渲染 Markdown 语法。

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

🛠️ 修复方案:

修正 1:trendradar/notification/senders.py

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

# 修改后
if is_flow_webhook:
    payload = {"msg_type": "text", "content": {"text": batch_content}}
else:
    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。

修正 2:docker/docker-compose.yml

volumes 中添加代码映射以便修改源码。

--- a/docker/docker-compose.yml
+++ b/docker/docker-compose.yml
@@ -5,11 +5,12 @@ services:
   restart: unless-stopped
   ports:
     - "${WEBSERVER_PORT:-8080}:${WEBSERVER_PORT:-8080}"
   volumes:
     - ../config:/app/config:ro
     - ../output:/app/output
+    - ../trendradar:/app/trendradar
   environment:
     - TZ=Asia/Shanghai

6. 成果展示

6.1 飞书推送

修复后可正确显示加粗、链接等格式。

6.2 Webserver

局域网内可正常访问生成的 AI 新闻报告。

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

7.1 Server 端配置

确保开放了 3333 端口,且包含 trendradar-mcp 服务。 局域网地址示例:http://192.168.1.100:3333

7.2 Cherry Studio 客户端配置
  1. 添加模型服务:设置中添加 NVIDIA 或其他兼容 OpenAI 的服务商,填入 API Key。
  2. 添加 MCP 服务器:
    • 名称:TrendRadar MCP
    • 类型:可流式传输的 HTTP (streamableHttp)
    • URL:http://192.168.xxx.xxx:3333/mcp
7.3 效果展示

连接成功后,可在 Cherry Studio 中提问:

Prompt: "我想了解 'AI' 这个话题,请依次完成以下步骤:搜索今天的相关新闻,分析最近一周的热度趋势,对比各平台的关注度,分析最近一周的情感倾向。"

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

8. 总结

通过本次本地部署,成功实现了:

  1. 数据自主:所有新闻数据存储在本地 SQLite/Docker 卷中。
  2. 体验升级:修复了飞书推送的渲染 bug。
  3. 智能加持:利用免费的 NVIDIA 大模型实现了零成本的热点摘要。
  4. 深度交互:通过 MCP + Cherry Studio,把'看新闻'变成了'研判情报'。

参考资料:

  • TrendRadar GitHub 仓库
  • 飞书自定义机器人开发文档
  • LiteLLM 模型支持列表

目录

  1. TrendRadar 本地部署指南
  2. 1. 背景与需求
  3. 2. 环境准备
  4. 3. 部署实战
  5. 3.1 下载代码仓
  6. 3.2 启动 Docker 容器
  7. 1. 进入项目 docker 目录
  8. 2. 拉取最新镜像
  9. 3. 启动所有服务
  10. 4. 关键配置调整
  11. 4.1 局域网访问配置
  12. 修改前
  13. 修改后(允许局域网访问 Web 报告和 MCP 服务)
  14. 4.2 配置新闻源与 AI 模型
  15. 格式:provider/model_name
  16. 关键:自定义 API 端点
  17. ... 更多平台配置
  18. 4.3 优化关键词匹配
  19. AI 相关
  20. 企业与品牌
  21. 4.4 推送配置
  22. 4.5 Docker 全局配置
  23. 启动时开启 webserver 服务
  24. 开启 AI 分析
  25. 每天 08:30 和 20:30 进行消息推送
  26. 运行模式:cron/once
  27. 启动时立即执行一次
  28. 5. 避坑指南:解决飞书推送 Markdown 不渲染问题
  29. 修正 1:trendradar/notification/senders.py
  30. 修改后
  31. 修正 2:docker/docker-compose.yml
  32. 6. 成果展示
  33. 6.1 飞书推送
  34. 6.2 Webserver
  35. 7. 进阶玩法:接入 Cherry Studio 进行 AI 对话
  36. 7.1 Server 端配置
  37. 7.2 Cherry Studio 客户端配置
  38. 7.3 效果展示
  39. 8. 总结
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

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

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

更多推荐文章

查看全部
  • Vercel find-skills:为 AI 编辑器安装专家级技能驱动
  • Linux 深入理解数据链路层
  • 论文 AIGC 检测率过高怎么办?降重与合规策略解析
  • Trae 集成 Vizro:低代码构建专业数据可视化仪表板
  • 信创电脑系统解析:国产 CPU 与 OS 架构及应用场景
  • Python 满屏无限弹窗表白脚本实现
  • OpenClaw 完整部署指南:安装 + 三大 Coding Plan 配置 + CC Switch + 飞书机器人
  • Google GenAI Toolbox:企业级 AI 数据库中间件与 LLM-SQL 安全互联实践
  • OpenClaw Memory 本地模式配置指南:Ubuntu+CUDA+llama.cpp
  • 2024 年医疗 AI 行业趋势与未来发展解析
  • OpenClaw Webhook 详解与配置指南
  • PyQt5 入门教程:基础与常用控件详解
  • OpenClaw 配置 Bot 接入飞书机器人与 Kimi 2.5
  • C++ 实现 2026 新年烟花特效程序
  • SLAM Toolbox 机器人智能建图技术完全指南
  • WhisperLiveKit 实时语音识别指南:安装、配置与生产部署
  • GitHub Copilot Agent 模式使用经验与技巧
  • LLaMA-Factory 微调多模态大模型 Qwen3-VL
  • Spring Bean 作用域、生命周期与自动装配源码解析
  • 命令行大模型交互工具 MCPHost 使用指南

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如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