TrendRadar 本地部署指南:Docker 配置与 AI 热点分析
TrendRadar 项目支持通过 Docker 本地部署构建个人 AI 热点情报系统。本文详解环境准备、代码克隆、Docker Compose 启动及配置调整。重点解决 Web 服务局域网访问、飞书推送 Markdown 渲染修复、以及 NVIDIA 免费模型 API 接入。结合 Cherry Studio MCP 协议实现深度对话分析,提供零成本趋势追踪方案。

TrendRadar 项目支持通过 Docker 本地部署构建个人 AI 热点情报系统。本文详解环境准备、代码克隆、Docker Compose 启动及配置调整。重点解决 Web 服务局域网访问、飞书推送 Markdown 渲染修复、以及 NVIDIA 免费模型 API 接入。结合 Cherry Studio MCP 协议实现深度对话分析,提供零成本趋势追踪方案。

在大数据算法横行的时代,我们每天被平台投喂大量信息,容易陷入信息茧房。
核心需求:
TrendRadar 的核心价值:
在开始之前,请确保拥有以下基础环境:
首先,将项目代码克隆到本地:
# 需要确保网络环境通畅
git clone https://github.com/sansan0/TrendRadar.git
注意:官方文档中容易忽略的一点是,必须进入
docker子目录才能执行 compose 命令。
# 1. 进入项目 docker 目录
cd TrendRadar/docker
# 2. 拉取最新镜像(注意网络连接)
docker compose pull
# 3. 启动所有服务(trendradar 推送服务 + trendradar-mcp AI 分析服务)
docker compose up -d
默认配置通常只适合本机测试,为了在局域网访问以及更符合个人习惯,我们需要修改 docker/docker-compose.yml 和 config/config.yaml。
默认情况下,Web Server 仅监听 127.0.0.1,导致局域网其他设备无法查看生成的 AI 新闻报告。
修改文件:docker/docker-compose.yml
修改内容:去掉 IP 限制,直接暴露端口。
# 修改前
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
修改文件:config/config.yaml
配置 AI 模型(以 NVIDIA 免费 API 为例):
提示:NVIDIA 提供了许多免费的 API 端点(build.nvidia.com),兼容 OpenAI 格式。model 参数注意添加『openai/』头部。
ai:
# 格式:provider/model_name
# NVIDIA 提供的模型示例
model: "openai/minimaxai/minimax-m2.5"
# 你的 API Key
api_key: "nvapi-your_custom_api_key..."
# 关键:自定义 API 端点(NVIDIA 需要这个地址)
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: "baidu"
name: "百度热搜"
- id: "ifeng"
name: "凤凰网"
- id: "thepaper"
name: "澎湃新闻"
- id: "tencent-hot"
name: "腾讯新闻 综合早报"
# 财经投资
- id: "wallstreetcn-hot"
name: "华尔街见闻"
- id: "cls-hot"
name: "财联社热门"
- id: "gelonghui"
name: "格隆汇"
- id: "xueqiu"
name: "雪球"
- id: "jin10"
name: "金十数据"
- id:
修改文件:config/frequency_words.txt
建议使用正则表达式进行精准匹配,避免误报。例如:
[WORD_GROUPS]
# ═══════════════════════════════════════════════════════════════
# 科技领域
# ═══════════════════════════════════════════════════════════════
# ▼ 优化:改用 /\bai\b/i,等价于原正则但更简洁规范,/i 负责忽略大小写,\b 负责边界
[AI 相关]
/\bai\b/i
人工智能 大模型 神经网络 机器学习
/深度求索 | 幻方量化 | 梁文锋|\bDeepSeek\b/ => DeepSeek
/\bOpenAI\b|\bChatGPT\b|\bSora\b|\bDALL-E\b|\bSam Altman\b|\bGreg Brockman\b/i => OpenAI
/\bAnthropic\b|\bClaude\b|\bDario Amodei\b/i => Claude
[字节跳动]
/字节 | 张一鸣 | 梁汝波 | 抖音|\bByteDance\b|\bTikTok\b|\bDouyin\b|\bLark\b|\bCapCut\b/ @10
# ▼ 优化:补全主流国产大模型;加 /i 忽略大小写,统一去除大小写重复变体,补全 \b 边界
/通义千问|\bqwen\b|\bminimax\b|智谱|\bglm\b|月之暗面|\bKimi\b|零一万物 | 阶跃星辰 | 混元 | 文心|\bERNIE\b|豆包|\bDoubao\b/i => 国产大模型
/自动驾驶 | 无人驾驶 | 智驾/ => 自动驾驶
[具身智能]
机器人 机器狗 机械臂
[芯片]
芯片 光刻机 半导体 内存 存储 显存 显卡
# ═══════════════════════════════════════════════════════════════
# 企业与品牌
# ═══════════════════════════════════════════════════════════════
/英伟达 | 黄仁勋|\bNVIDIA\b|\bGeForce\b|\bRTX\b|\bCUDA\b|\bJensen Huang\b/i => 英伟达
/苏姿丰 | 锐龙 | 霄龙|\bAMD\b|\bRyzen\b|\bEPYC\b|\bRadeon\b|\bLisa Su\b/i => AMD
/机械狗 | 四足/ => 机器狗
/宇树 | 王兴兴|\bUnitree\b/ => 宇树机器人
/智元 | 灵犀 | 稚晖君 | 彭志辉|\bAgiBot\b/ => 智元机器人
/众擎|\bEngineAI\b|赵同阳/ => 众擎机器人
/微软|\bMicrosoft\b|\bWindows\b|\bAzure\b|\bSatya Nadella\b|\bCopilot\b/i => 微软
/谷歌 | 皮查伊 | 安卓 | 油管|\bGoogle\b|\bAlphabet\b|\bAndroid\b|\bChrome\b|\bYouTube\b|\bGemini\b|\bDeepMind\b|\bWaymo\b/i => 谷歌
/库克|\biPhone\b|\biPad\b|\bMacBook\b|\biOS\b|\bVision Pro\b|\bAirPods\b|\bApple\b|\bTim Cook\b/i => 苹果
config/config.yaml 配置信息
notification:
enabled: true
# 是否启用通知功能(总开关)
# ⚠️ 开启调度系统后,此项仍为总开关:
# false → 永远不推送(无论调度怎么设置)
# true → 由调度的 push 字段控制何时推送
# 推送渠道配置
channels:
feishu:
webhook_url: "https://open.feishu.cn/open-apis/bot/v2/hook/xxx***xxx"
# 启动时开启 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
这是本次部署中最大的坑。默认代码在推送飞书消息时,使用的是 text 类型,导致飞书无法渲染 Markdown 语法(如 加粗、[链接]),体验极差。
问题现象:飞书收到的消息全是 **加粗** 这样的源码,没有格式。
原因分析:飞书 API 要求 Markdown 内容必须通过 interactive(卡片)类型的 lark_md 标签发送。
🛠️ 修复方案(代码修正):
我们需要修改 Python 源码。如果你使用 Docker 映射了代码目录,可以直接修改;否则需要进入容器修改。
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中,确保所有推送入口(包括 RSS 更新通知和 MCP 工具调用)都能正确渲染 Markdown。
docker/docker-compose.ymlvolumes 中添加 - ../trendradar:/app/trendradar
Date: Mon Mar 2 15:34:40 2026 +0800 fixed: 飞书报告没有进行 markdown 渲染,显示的是源码,体验不好
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
index eb0e3192..269c833b 100644
--- 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
@@ -62,11 +63,12 @@ services:
restart: unless-stopped
ports:
- "3333:3333"
volumes:
- ../config:/app/config:ro
- ../output:/app/output
+ - ../trendradar:/app/trendradar
environment:
- TZ=Asia/Shanghai
(此处展示飞书接收到的格式化消息效果)
(此处展示 Web 界面效果)
部署了 MCP 服务后,TrendRadar 就不再只是一个单向的推送工具,而是可以对话的知识库。
确保在步骤 4.1 中已经开放了 3333 端口,且 docker-compose.yml 中包含了 trendradar-mcp 服务。
局域网地址示例:http://192.168.1.100:3333
http://192.168.xxx.xxx:3333/mcp (请替换为你部署机器的实际 IP)连接成功后,你可以在 Cherry Studio 中直接在这个 MCP 频道下提问:
Prompt: "我想了解 'AI' 这个话题,请依次完成以下步骤:搜索今天的相关新闻分析最近一周的热度趋势对比各平台的关注度分析最近一周的情感倾向 请展示每个步骤的完整结果。"
AI 将会自动调用 TrendRadar 的数据库,生成包含图表数据(如热度指数、情感占比、平台覆盖率)的专业分析报告。
# AI 话题分析与总结
## 🧑💻 User
我想了解'ai'这个话题,请依次完成以下步骤,并【展示每个步骤的完整结果】:
1. 搜索今天的相关新闻
2. 分析最近一周的热度趋势
3. 对比各平台的关注度
4. 分析最近一周的情感倾向
【重要】:请将 4 个步骤的结果全部展示出来,不要只展示最后一步。
---
## 🤖 Assistant
我来帮你完成关于"AI"话题的全面分析。让我依次执行 4 个步骤,并展示每个步骤的完整结果。
## 步骤 1:搜索今天的 AI 相关新闻
## 步骤 2:分析最近一周的热度趋势
## 步骤 3:对比各平台的关注度
## 步骤 4:分析最近一周的情感倾向
# AI 话题综合分析报告
根据 4 个步骤的完整分析结果,以下是关于"AI"话题的全面洞察:
---
## 📊 步骤 1:今天(2026-03-04)的 AI 相关新闻
**搜索结果概览**
- 总发现数:36 条
- 返回数量:20 条
- 搜索模式:关键词精确匹配
**今日热点新闻 TOP 10**
| 排名 | 新闻标题 | 平台 | 热度指数 |
|:---:|---------|------|:-------:|
| 1 | AI 可以让 WIFI 实现监控室内人体位置和姿态,无需摄像头? | 掘金 | 10 |
| 2 | 我做过的,被面试官夸爆的那些 Ai 项目 (一) | 牛客网 | 10 |
| 3 | 19 岁天才少年做 AI 应用年入 2 亿 | 今日头条/百度 | 8 |
| 4 | K-Dense-AI / claude-scientific-skills | GitHub | 8 |
| 5 | 春节后,有些公司明确要求 AI 经验了 | 掘金 | 8 |
| 6 | moeru-ai / airi | GitHub | 8 |
| 7 | CodebuffAI / codebuff | GitHub | 8 |
| 8 | 3.2 字节 AI 开发春招一面 | 牛客网 | 8 |
| 9 | 如何释放服务消费潜力?AI 发展会冲击就业岗位?委员这样看 | 澎湃新闻 | 5 |
| 10 | AI 加剧"电荒" 美国电网将迎史诗级扩建 750 亿美元聚焦"超高压"输电 | 财联社热门 | 6 |
**今日新闻特点**
- 技术类新闻占主导(GitHub 开源项目掘金技术文章)
- 就业/招聘类话题热度上升(春招、AI 岗位要求)
- 财经媒体关注 AI 对电网和能源的影响
- 社交媒体聚焦 AI 应用创收案例
---
## 📈 步骤 2:最近一周(2026-02-26 至 2026-03-04)热度趋势分析
**整体趋势数据**
- 总提及量:215 条
- 日均提及:30.71 条
- 峰值日期:2026-02-26(38 条)和 2026-03-02(38 条)
- 变化率:-5.26%
- 趋势方向:**稳定**
**每日热度分布**
| 日期 | 提及数 | 典型热点新闻 |
|:----:|:------:|------------|
| 02-26 | 38 | 韩女子用 AI 精密策划诱杀致 2 死 1 伤、中国 AI 调用量首次超过美国、汇丰逆市看多 AI |
| 02-27 | 30 | AI 挤崩电网引电价担忧、中国 AI 调用量首超美国、英伟达黄仁勋看好代理 AI |
| 02-28 | 24 | OpenAI 与国防部合作、多款 AI 开源项目发布 |
| 03-01 | 23 | Anthropic 供应链安全争议、多款 AI 项目迭代 |
| 03-02 | 38 | 多款 AI 开源项目发布、面试官谈 AI 岗招聘、技术文章井喷 |
| 03-03 | 26 | 投资专家谈 AI 浪潮下投资机遇 |
| 03-04 | 36 | 春招 AI 岗面试、AI 应用创收案例、能源影响讨论 |
:热度在周末(28-1 日)略降,工作日回升
:技术进展与经济社会影响并重
(AI 相关新闻占总新闻比例)
| 排名 | 平台 | AI 提及数 | 总新闻数 | 覆盖率 |
|:---:|------|:-------:|:-------:|:------:|
| 1 | | 59 | 248 | |
| 2 | | 22 | 104 | |
| 3 | | 28 | 180 | |
| 4 | | 14 | 95 | |
| 5 | | 36 | 275 | |
| 6 | | 10 | 137 | |
| 7 | | 7 | 206 | |
| 8 | bilibili 热搜 | 9 | 297 | |
| 9 | 澎湃新闻 | 5 | 193 | |
| 10 | 腾讯新闻综合早报 | 5 | 108 | |
:技术教程、开源项目、AI 工具应用("AI"出现 40 次)
:开源项目发布、AI 工具库("ai"出现 14 次,"claude"12 次)
:AI 技术讨论、行业趋势
:AI 投资机遇、英伟达动态、股价影响
:AI 对电网/能源的影响、企业财报
:AI 入口争夺战、行业发展
:AI 岗面试经验、面试题汇总、春招信息
:AI 应用创收案例、社会热点
:AI 发展反思、伦理讨论、后悔药话题
基于 50 条代表性新闻标题的情感分析:
| 情感类别 | 数量 | 占比 |
|---------|:---:|:---:|
| | 23 条 | |
| | 6 条 | |
| | 21 条 | |
| 平台 | 正面 | 中性 | 负面 | 特点 |
|-----|:---:|:---:|:---:|------|
| | 80% | 20% | 0% | 最乐观,聚焦投资机遇 |
| | 100% | 0% | 0% | 成功案例驱动 |
| | 17% | 83% | 0% | 技术导向,客观中立 |
| | 80% | 20% | 0% | 技术创新积极讨论 |
| | 43% | 57% | 0% | 求职导向,务实中性 |
| | 33% | 53% | 13% | 技术乐观,偶有警示 |
| | 33% | 33% | 33% | 观点多元,正负均衡 |
| | 0% | 100% | 0% | 客观陈述,无明显倾向 |
| | 0% | 100% | 0% | 中性报道能源影响 |
(占比 46%)
技术创新持续突破(Android 官方 AI 支持、Claude 工具链)
投资市场持续看好(汇丰逆市看多、英伟达积极展望)
就业市场有需求(春招 AI 岗、明确要求 AI 经验)
成功案例激励(19 岁年入 2 亿、字节面试)
(占比 42%)
技术社区客观报道进展
关注 AI 安全与伦理(Anthropic 供应链争议)
讨论 AI 对社会的影响
(占比 12%)
AI 可能取代程序员("老板原话"类话题)
AI 加剧电网压力、能源危机
AI 代码质量与安全问题
AI 内容输出的伦理风险
"英伟达电话会:黄仁勋高呼代理 AI 拐点已至,'推理即收入'"
"19 岁天才少年做 AI 应用年入 2 亿"
"汇丰'逆市之言':软件将吞噬 AI,现在是抄底好时机"
"我用 Claude Code 搭了个四个 AI 的团队,居然真的能协作开发"
"解读 OpenAI 获千亿美元投资背后"
"警惕!AI 正在毁掉你的代码能力"
"我的网站被黑了:一天灌入 227 万条垃圾数据,AI 写的代码差点让我社死"
"老板原话:AI 要完全取代程序员了"
"AI 加剧'电荒' 美国电网将迎史诗级扩建"
技术社区(掘金、GitHub)是 AI 话题的主阵地
财经媒体关注度上升,反映 AI 商业化进程加速
社交媒体热度相对较低,AI 尚未成为大众娱乐话题
专业人士普遍看好技术前景
普通用户和决策者保持理性观望
就业和能源问题是主要担忧点
技术平台:聚焦工具使用和技能提升
财经平台:关注投资机会和市场影响
求职平台:强调 AI 技能的重要性
社交平台:讨论社会影响和伦理问题
中国 AI 调用量首超美国的里程碑意义
春招市场对 AI 能力的新要求
AI 对能源消耗的基础设施影响
:AI 话题将保持稳定热度,春招季相关话题将持续升温
:随着更多 AI 应用落地,大众关注度有望提升
:AI 对就业市场和社会结构的影响将成为持续讨论焦点
通过本次本地部署,我们成功实现了:
参考资料:

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online