{"data":{"slug":"sansan0-trendradar","name":"TrendRadar","tagline":"AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.","github_url":"https://github.com/sansan0/TrendRadar","owner":"sansan0","repo":"TrendRadar","owner_avatar_url":"https://avatars.githubusercontent.com/u/77180927?v=4","primary_language":"Python","stars":61487,"forks":24870,"topics":["ai","bark","data-analysis","docker","hot-news","llm","mail","mcp","mcp-server","news","ntfy","python","rss","trending-topics","wechat","wework"],"archived":false,"github_pushed_at":"2026-07-17T13:54:28+00:00","maintenance_label":"Active","stars_delta_30d":875,"url":"https://www.graphcanon.com/tools/sansan0-trendradar","markdown_url":"https://www.graphcanon.com/tools/sansan0-trendradar.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/sansan0-trendradar","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=sansan0-trendradar","description":"⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载，你的 AI 舆情监控助手与热点筛选工具！聚合多平台热点 +  RSS 订阅，支持关键词精准筛选。AI 智能筛选新闻 + AI 翻译 +  AI 分析简报直推手机，也支持接入 MCP 架构，赋能 AI 自然语言对话分析、情感洞察与趋势预测等。支持 Docker ，数据本地/云端自持。集成微信/飞书/钉钉/Telegram/邮件/ntfy/bark/slack 等渠道智能推送。","homepage_url":"https://trendradar.sandev.cc","license":"GPL-3.0","open_issues":58,"watchers":213,"ai_summary":"A tool for monitoring trends and public opinions across multiple platforms using AI for news filtering, translation, analysis, and alerting through various channels. Supports Docker for local or cloud data management.","readme_excerpt":"### 6. Docker 部署\n\n**镜像说明：**\n\nTrendRadar 提供两个独立的 Docker 镜像，可根据需求选择部署：\n\n| 镜像名称 | 用途 | 说明 |\n|---------|------|------|\n| `wantcat/trendradar` | 新闻推送服务 | 定时抓取新闻、推送通知（必选） |\n| `wantcat/trendradar-mcp` | AI 分析服务 | MCP 协议支持、AI 对话分析（可选） |\n\n> 💡 **建议**：\n> - 只需要推送功能：仅部署 `wantcat/trendradar` 镜像\n> - 需要 AI 分析功能：同时部署两个镜像\n\n<details>\n<summary>👉 点击展开：<strong>Docker 部署完整指南</strong></summary>\n<br>\n\n#### 方式一：使用 docker compose（推荐）\n\n1. **创建项目目录和配置**:\n\n   ```bash\n   # 克隆项目到本地\n   git clone https://github.com/sansan0/TrendRadar.git\n   cd TrendRadar\n   ```\n\n   > 💡 **说明**：Docker 部署需要的关键目录结构如下：\n```\n当前目录/\n├── config/\n│   ├── config.yaml                 # 核心功能配置（必需）\n│   ├── frequency_words.txt         # 关键词配置（必需）\n│   ├── timeline.yaml               # 时间线配置\n│   ├── ai_analysis_prompt.txt      # AI 分析提示词（可选）\n│   ├── ai_translation_prompt.txt   # AI 翻译提示词（可选）\n│   ├── ai_interests.txt            # AI 兴趣过滤配置（可选）\n│   ├── ai_filter/                  # AI 过滤相关提示词\n│   │   ├── prompt.txt\n│   │   ├── extract_prompt.txt\n│   │   └── update_tags_prompt.txt\n│   └── custom/                     # 用户自定义配置（可选）\n│       ├── ai/                     # 自定义 AI 提示词\n│       └── keyword/                # 自定义关键词文件\n└── docker/\n    ├── .env                        # 敏感信息 + Docker 特有配置\n    └── docker-compose.yml          # Docker Compose 编排文件\n```\n\n2. **配置文件说明**:\n\n   **配置分工原则（v4.6.0 优化）**：\n\n   | 文件 | 用途 | 修改频率 | 说明 |\n   |------|------|---------|------|\n   | `config/config.yaml` | **核心功能配置** | 低 | 报告模式、推送设置、存储格式、推送窗口、AI 分析开关、平台启用等全局行为控制 |\n   | `config/frequency_words.txt` | **关键词配置** | 高 | 设置你关心的热点词汇，支持分组、正则、别名等高级语法 |\n   | `config/timeline.yaml` | **时间线配置** | 低 | 控制新闻时间线的展示和过滤规则 |\n   | `config/ai_analysis_prompt.txt` | **AI 分析提示词** | 中 | 自定义 AI 分析的角色定义和输出格式（v5.0.0+） |\n   | `config/ai_translation_prompt.txt` | **AI 翻译提示词** | 低 | 自定义 AI 翻译的提示词模板 |\n   | `config/ai_interests.txt` | **AI 兴趣过滤** | 中 | 定义 AI 基于兴趣自动过滤新闻的规则 |\n   | `config/ai_filter/` | **AI 过滤提示词** | 低 | AI 过滤模块的内部提示词（一般无需修改） |\n   | `config/custom/` | **用户自定义扩展** | 按需 | `custom/ai/` 放自定义 AI 提示词，`custom/keyword/` 放自定义关键词文件 |\n   | `docker/.env` | **敏感信息 + Docker 特有配置** | 低 | webhook URLs、API Key、S3 密钥、定时任务等，**不会被 git 追踪** |\n\n   > 💡 **分工要点**：\n   > - **功能行为** → 改 `config.yaml`（如开启/关闭某个平台、调整推送模式）\n   > - **关注内容** → 改 `frequency_words.txt`（如添加新的关注关键词）\n   > - **AI 输出风格** → 改 `ai_analysis_prompt.txt` 或 `ai_translation_prompt.txt`\n   > - **密钥与凭证** → 改 `docker/.env`（API Key、Webhook URL 等敏感信息统一放这里）\n   > - **个性化扩展** → 使用 `config/custom/` 目录，避免直接修改默认配置被升级覆盖\n\n   > 💡 **配置修改生效**：修改 `config.yaml` 后，执行 `docker compose up -d` 重启容器即可生效\n\n   **⚙️ 环境变量覆盖机制（v3.0.5+）**\n\n   `.env` 文件中的环境变量会覆盖 `config.yaml` 中的对应配置：\n\n   | 环境变量 | 对应配置 | 示例值 | 说明 |\n   |---------|---------|-------|------|\n   | `WEBSERVER_PORT` | - | `8080` | Web 服务器端口 |\n   | `FEISHU_WEBHOOK_URL` | `notification.channels.feishu.webhook_url` | `https://...` | 飞书 Webhook（多账号用 `;` 分隔） |\n   | `AI_ANALYSIS_ENABLED` | `ai_analysis.enabled` | `true` / `false` | 是否启用 AI 分析（v5.0.0 新增） |\n   | `AI_API_KEY` | `ai.api_key` | `sk-xxx...` | AI API Key（ai_analysis 和 ai_translation 共享） |\n   | `AI_PROVIDER` | `ai.provider` | `deepseek` / `openai` / `gemini` | AI 提供商 |\n   | `S3_*` | `storage.remote.*` | - | 远程存储配置（5 个参数） |\n\n   **配置优先级**：环境变量 > config.yaml\n\n   **使用方法**：\n   - 修改 `.env` 文件，填写需要的配置\n   - 或在 NAS/群晖 Docker 管理界面的\"环境变量\"中直接添加\n   - 重启容器后生效：`docker compose up -d`\n\n\n3. **启动服务**:\n\n   **选项 A：启动所有服务（推送 + AI 分析）**\n   ```bash\n   # 拉取最新镜像\n   docker compose pull\n\n   # 启动所有服务（trendradar + trendradar-mcp）\n   docker compose up -d\n   ```\n\n   **选项 B：仅启动新闻推送服务**\n   ```bash\n   # 只启动 trendradar（定时抓取和推送）\n   docker compose pull trendradar\n   docker compose up -d trendradar\n   ```\n\n   **选项 C：仅启动 MCP AI 分析服务**\n   ```bash\n   # 只启动 trendradar-mcp（提供 AI 分析接口）\n   docker compose pull trendradar-mcp\n   docker compose up -d trendradar-mcp\n   ```\n\n   > 💡 **提示**：\n   > - 大多数用户只需启动 `trendradar` 即可实现新闻推送功能\n   > - 只有需要使用 ChatGPT/Gemini 进行 AI 对话分析时，才需启动 `trendradar-mcp`\n   > - 两个服务相互独立，可根据需求灵活组合\n\n4. **查看运行状态**:\n   ```bash\n   # 查看新闻推送服务日志\n   d","github_created_at":"2025-04-28T11:42:16+00:00","created_at":"2026-07-07T17:30:58.046068+00:00","updated_at":"2026-08-16T06:01:58.128573+00:00","categories":[{"slug":"data-retrieval","name":"Data & Retrieval","url":"https://www.graphcanon.com/categories/data-retrieval","markdown_url":"https://www.graphcanon.com/categories/data-retrieval.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/data-retrieval"},{"slug":"evaluation-observability","name":"Evaluation & Observability","url":"https://www.graphcanon.com/categories/evaluation-observability","markdown_url":"https://www.graphcanon.com/categories/evaluation-observability.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/evaluation-observability"}],"tags":[{"slug":"ai","name":"ai"},{"slug":"data-analysis","name":"data-analysis"},{"slug":"docker","name":"docker"},{"slug":"hot-news","name":"hot-news"},{"slug":"llm","name":"llm"},{"slug":"mail","name":"mail"},{"slug":"rss","name":"rss"},{"slug":"trending-topics","name":"trending-topics"}],"trust":{"provenance":{"is_fork":false,"github_id":974186260,"owner_type":"User","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-08-16T06:01:57.423Z","maintenance":{"label":"Active","score":82,"methodology":"github_public_v1","releases_90d":0,"days_since_push":29,"last_release_at":null,"stars_delta_30d":875,"open_issues_delta_30d":10},"security_summary":{"status":"no_manifest","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T10:56:36.077Z","medium_count":0,"scan_profile":"mcp_manifest","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-08-16T06:01:57.848Z"},"has_cli":{"value":true,"source":"pyproject.toml:[project.scripts]","observed_at":"2026-08-16T06:01:57.848Z"},"languages":{"value":["python"],"source":"github.language+pyproject.toml","observed_at":"2026-08-16T06:01:57.848Z"},"license_spdx":{"value":"GPL-3.0","source":"github.license","observed_at":"2026-08-16T06:01:57.848Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":{"notes":["Requires Docker for local or cloud data management to operate efficiently. Offers integration capabilities with platforms like WeChat, Feishu, DingTalk, and ntf"],"min_ram_gb":null,"requires_docker":true},"constraints":{"min_ram_gb":null,"requires_docker":true},"when_to_use":["When you need comprehensive analysis of trending topics from a variety of sources including real-time news translations to stay informed globally.","If your use case requires sentiment analysis and trend prediction leveraging natural language processing (NLP) AI capabilities specific to TrendRadar’s MCP architecture for more nuanced observations."],"when_not_to_use":["Avoid if your needs are met with basic RSS feed services without the complexity of integrating multilingual AI-driven analytics.","If you prefer a tool that does not utilize an open-source GPL-3.0 license and instead require proprietary solutions with custom development options, TrendRadar may not be suitable."],"source":"enrich:decision_facts","observed_at":"2026-07-11T12:17:46.909Z"},"constraint_facets":{"min_ram_gb":null,"requires_docker":true},"decision_summary":[{"label":"Requirements","value":"Requires Docker; Requires Docker for local or cloud data management to operate efficiently. Offers integration capabilities with platforms like WeChat, Feishu, DingTalk, and ntf"},{"label":"Adopt for","value":"TrendRadar is an AI-driven tool for monitoring trends and public opinions across multiple platforms. It supports Docker, offers multi-platform aggregation, RSS feeds, smart alerts customized through various channels such"}]}}