From a3d0032604ac47d4d3ca18518ffa8e92100cc861 Mon Sep 17 00:00:00 2001
From: sansan <77180927+sansan0@users.noreply.github.com>
Date: Thu, 20 Nov 2025 13:22:58 +0800
Subject: [PATCH] =?UTF-8?q?v3.1.0=20=E5=A2=9E=E5=8A=A0=E3=80=90=E4=B8=AA?=
=?UTF-8?q?=E4=BA=BA=E5=BE=AE=E4=BF=A1=E3=80=91=E6=8E=A8=E9=80=81=E6=96=B9?=
=?UTF-8?q?=E6=A1=88?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.github/workflows/crawler.yml | 1 +
README-EN.md | 126 +++++++++++-----
README.md | 258 +++++++++++++++++++-------------
config/config.yaml | 20 ++-
docker/.env | 1 +
docker/docker-compose-build.yml | 1 +
docker/docker-compose.yml | 1 +
main.py | 87 +++++++++--
version | 2 +-
9 files changed, 339 insertions(+), 158 deletions(-)
diff --git a/.github/workflows/crawler.yml b/.github/workflows/crawler.yml
index bec1508..e7d4450 100644
--- a/.github/workflows/crawler.yml
+++ b/.github/workflows/crawler.yml
@@ -53,6 +53,7 @@ jobs:
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
DINGTALK_WEBHOOK_URL: ${{ secrets.DINGTALK_WEBHOOK_URL }}
WEWORK_WEBHOOK_URL: ${{ secrets.WEWORK_WEBHOOK_URL }}
+ WEWORK_MSG_TYPE: ${{ secrets.WEWORK_MSG_TYPE }}
EMAIL_FROM: ${{ secrets.EMAIL_FROM }}
EMAIL_PASSWORD: ${{ secrets.EMAIL_PASSWORD }}
EMAIL_TO: ${{ secrets.EMAIL_TO }}
diff --git a/README-EN.md b/README-EN.md
index ccf3e98..19e9ff2 100644
--- a/README-EN.md
+++ b/README-EN.md
@@ -13,10 +13,11 @@
[](https://github.com/sansan0/TrendRadar/stargazers)
[](https://github.com/sansan0/TrendRadar/network/members)
[](LICENSE)
-[](https://github.com/sansan0/TrendRadar)
+[](https://github.com/sansan0/TrendRadar)
[](https://github.com/sansan0/TrendRadar)
[](https://work.weixin.qq.com/)
+[](https://weixin.qq.com/)
[](https://telegram.org/)
[](#)
[](https://www.feishu.cn/)
@@ -250,11 +251,18 @@ Transform from "algorithm recommendation captivity" to "actively getting the inf
- **Major Version Upgrade**: Upgrading from v1.x to v2.y, recommend deleting existing fork and re-forking to save effort and avoid config conflicts
-### 2025/11/12 - v3.0.5
+### 2025/11/20 - v3.1.0
-- Fixed email sending SSL/TLS port configuration logic error
-- Optimized email service providers (QQ/163/126) to default use port 465 (SSL)
-- **Added Docker environment variable support**: Core config items (`enable_crawler`, `report_mode`, `push_window`, etc.) support override via environment variables, solving config file modification issues for NAS users (see [🐳 Docker Deployment](#-docker-deployment) chapter)
+- **Added Personal WeChat Push Support**: WeWork application can push to personal WeChat without installing WeWork APP
+- Supports two message formats: `markdown` (WeWork group bot) and `text` (personal WeChat app)
+- Added `WEWORK_MSG_TYPE` environment variable configuration, supporting GitHub Actions, Docker, docker-compose and other deployment methods
+- `text` mode automatically strips Markdown syntax for clean plain text push
+- See "Personal WeChat Push" configuration in Quick Start
+
+**Upgrade Instructions** (GitHub Fork Users):
+- Required updates: `main.py`, `config/config.yaml`
+- Optional update: `.github/workflows/crawler.yml` (if using GitHub Actions)
+- Recommended: Use minor version upgrade method - copy and replace the files above
@@ -267,6 +275,13 @@ Transform from "algorithm recommendation captivity" to "actively getting the inf
👉 Click to expand: Historical Updates
+### 2025/11/12 - v3.0.5
+
+- Fixed email sending SSL/TLS port configuration logic error
+- Optimized email service providers (QQ/163/126) to default use port 465 (SSL)
+- **Added Docker environment variable support**: Core config items (`enable_crawler`, `report_mode`, `push_window`, etc.) support override via environment variables, solving config file modification issues for NAS users (see [🐳 Docker Deployment](#-docker-deployment) chapter)
+
+
### 2025/10/26 - mcp-v1.0.1
**MCP Module Update:**
@@ -595,6 +610,37 @@ frequency_words.txt file added **required word** feature, using + sign
#### PC Setup Process Similar
👉 Click to expand: Personal WeChat Push (Based on WeWork app, push to personal WeChat)
+
+
+ > This solution is based on WeWork's plugin mechanism. The push style is plain text (no markdown format), but it can push directly to personal WeChat without installing WeWork App.
+
+ **GitHub Secret Configuration (⚠️ Name must match exactly):**
+ - **Name**: `WEWORK_WEBHOOK_URL` (Please copy and paste this name, do not type manually)
+ - **Secret (Value)**: Your WeWork app Webhook address
+
+ - **Name**: `WEWORK_MSG_TYPE` (Please copy and paste this name, do not type manually)
+ - **Secret (Value)**: `text`
+
+
+
+ **Setup Steps:**
+
+ 1. Complete the WeWork bot Webhook setup above
+ 2. Add `WEWORK_MSG_TYPE` Secret with value `text`
+ 3. Follow the image below to link personal WeChat
+ 4. After configuration, WeWork App can be deleted from phone
+
+
+
+ **Notes**:
+ - Uses the same Webhook address as WeWork bot
+ - Difference is message format: `text` for plain text, `markdown` for rich text (default)
+ - Plain text format will automatically remove all markdown syntax (bold, links, etc.)
+
+ 👉 Click to expand: Feishu Bot (Most user-friendly message display)
@@ -987,6 +1033,31 @@ frequency_words.txt file added **required word** feature, using + sign
**Note**: Suggest only adjusting explicitly documented config items, other options mainly for author's development testing
+5. **🎉 Deployment Success! Share Your Experience**
+
+ Congratulations on completing TrendRadar configuration! You can now start tracking trending news.
+
+ 💬 **Join our community to share your experience~**
+
+ - Want to learn more tips and advanced techniques?
+ - Need quick help with issues?
+ - Have great ideas to share?
+
+ 👉 **Follow our WeChat Official Account「硅基茶水间」(Silicon Tea Room)**, your likes and comments are the driving force for continuous updates!
+
+ For detailed communication methods, please check → [FAQ & Support](#-faq--support)
+
+6. **🤖 Want Smarter Analysis? Try AI-Enhanced Features** (Optional)
+
+ Basic configuration already meets daily needs, but if you want:
+
+ - 📊 Let AI automatically analyze trending topics and data insights
+ - 🔍 Search and query news using natural language
+ - 💡 Get sentiment analysis, topic prediction, and deep analytics
+ - ⚡ Directly access data in AI tools like Claude, Cursor, etc.
+
+ 👉 **Learn More**: [AI Analysis](#-ai-analysis) — Unlock hidden capabilities and make trend tracking more efficient!
+
## ⚙️ Configuration Guide
@@ -1853,37 +1924,27 @@ Any client supporting Model Context Protocol can connect to TrendRadar:
## ☕ FAQ & Support
-> If you want to support this project, you can search **Tencent Charity** on WeChat and donate to **Education Support Programs** as you wish~
+> If you want to support this project, you can search **Tencent Charity** on WeChat and donate to **Education Support Programs** as you wish
>
-> We're anxious about information overload, while they struggle in information deserts without even learning opportunities, so they need support more than me.
-
-👉 Click to expand: Author's Note
-
-
-Thanks for all support! Due to 302.AI sponsorship, my personal **one-yuan donation** QR code has been removed.
-
-Previous **one-yuan supporters** are listed in the **Acknowledgments** section at the top.
-
-This project's development and maintenance require significant time, effort, and costs (including AI model fees). With sponsorship support, I can maintain it more confidently.
-
-Currently, major AI model prices are relatively affordable. Welcome to register and try, you can **[click here to claim $1 free credit](#-sponsors)**.
-
-
|
+|
|
+
+---
+
## 🪄 Sponsors
> **302.AI** is a pay-as-you-go enterprise-level AI resource platform
@@ -2021,7 +2082,7 @@ A: You can top up as needed, pay-as-you-go. Major AI model prices are now relati
### Project Articles
-> **Related Articles** (Chinese):
+> **4 Related Articles** (Chinese):
- [Comment here for mobile Q&A by project author](https://mp.weixin.qq.com/s/KYEPfTPVzZNWFclZh4am_g)
- [Breaking 1000 stars in 2 months - My GitHub project promotion experience](https://mp.weixin.qq.com/s/jzn0vLiQFX408opcfpPPxQ)
@@ -2034,7 +2095,7 @@ A: You can top up as needed, pay-as-you-go. Major AI model prices are now relati
- **Core Function**: Quickly filter project code to feed AI, you just need to add personal requirements
- **Project Address**: https://github.com/sansan0/ai-code-context-helper
-## ⭐ Related Projects
+### Other Projects
> 📍 Chairman Mao's Footprint Map - Interactive dynamic display of complete trajectory 1893-1976. Welcome comrades to contribute data
@@ -2045,21 +2106,6 @@ A: You can top up as needed, pay-as-you-go. Major AI model prices are now relati
- https://github.com/sansan0/bilibili-comment-analyzer
-👉 Click to expand: WeChat Push Notification Solution
-
-
-> Since this solution is based on WeWork's plugin mechanism and has very different push styles, I temporarily don't plan to include related implementation in the current project
-
-- Fork this user's project: https://github.com/jayzqj/TrendRadar
-- Complete WeWork push setup above
-- Follow the image below to operate
-- After configuration, you can delete WeWork app from your phone
-
-
-
-👉 点击展开:历史更新
+### 2025/11/12 - v3.0.5
+
+- 修复邮件发送 SSL/TLS 端口配置逻辑错误
+- 优化邮箱服务商(QQ/163/126)默认使用 465 端口(SSL)
+- **新增 Docker 环境变量支持**:核心配置项(`enable_crawler`、`report_mode`、`push_window` 等)支持通过环境变量覆盖,解决 NAS 用户修改配置文件不生效的问题(详见 [🐳 Docker 部署](#-docker-部署) 章节)
+
+
### 2025/10/26 - mcp-v1.0.1
**MCP 模块更新:**
@@ -651,6 +666,37 @@ frequency_words.txt 文件增加了一个【必须词】功能,使用 + 号
#### 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 语法(粗体、链接等)
+
+ 👉 点击展开:飞书机器人(消息显示最友好)
@@ -1038,7 +1084,32 @@ frequency_words.txt 文件增加了一个【必须词】功能,使用 + 号
- **关键词设置**:在 [config/frequency_words.txt](config/frequency_words.txt) 中添加你关心的关键词
- **推送频率调整**:在 [.github/workflows/crawler.yml](.github/workflows/crawler.yml) 请谨慎调整,别贪心
- **注意**:建议只调整文档中明确说明的配置项,其他选项主要供作者开发时测试使用
+ **注意**:建议只调整文档中明确说明的配置项,其他选项主要供作者开发时测试使用
+
+5. **🎉 部署成功!分享你的使用体验**
+
+ 恭喜你完成了 TrendRadar 的配置!现在你可以开始追踪热点资讯了。
+
+ 💬 **有更多小伙伴在公众号交流使用心得,期待你的分享~**
+
+ - 想了解更多玩法和高级技巧?
+ - 遇到问题需要快速解答?
+ - 有好的想法想要交流?
+
+ 👉 **欢迎关注公众号「硅基茶水间」**,你的点赞和留言都是项目持续更新的动力。
+
+ 详细的交流方式,请查看 → [问题答疑与交流](#问题答疑与交流)
+
+6. **想要更智能的分析?试试 AI 增强功能**(可选)
+
+ 基础配置已经能满足日常使用,但如果你想要:
+
+ - 📊 让 AI 自动分析热点趋势和数据洞察
+ - 🔍 通过自然语言搜索和查询新闻
+ - 💡 获得情感分析、话题预测等深度分析
+ - ⚡ 在 Claude、Cursor 等 AI 工具中直接调用数据
+
+ 👉 **了解更多**:[AI 智能分析](#-ai-智能分析) — 解锁项目的隐藏能力,让热点追踪更高效!
## ⚙️ 配置详解
@@ -1904,89 +1975,6 @@ MCP Inspector 是官方调试工具,用于测试 MCP 连接:
👉 点击展开:作者有话说
-
-
-感谢各位支持!因获得[赞助商](#-赞助商)的赞助,现已移除我个人的**一元点赞**打赏码。
-
-之前参与**一元点赞**的朋友已收录至顶部**致谢名单**。
-
-本项目开发和维护投入了大量时间、精力和成本(含 AI 模型费用),有了赞助支持后可以更安心维护。
-
|
-
-
-
-👉 点击展开:302.AI 使用教程
-
-
-### 第 1 步:获取 API Key
-
-1. 注册后,进入右上角 [管理后台](https://302.ai/dashboard/overview)
-2. 点击左侧 [API Keys](https://302.ai/apis/list)
-3. 在页面下方找到默认 API KEY,**点击眼睛图标查看**,然后复制
- (⚠️ 注意:不是点最右侧的复制按钮)
-
-
-### 第 2 步:在 Cherry Studio 中配置
-
-1. 打开 Cherry Studio,进入设置
-2. 模型提供商选择 **"302.AI"**
-3. 粘贴刚才复制的 API Key
-4. 点击**管理**,现在可以使用所有支持的 AI 模型了
-
-**提示:** Cherry Studio 已原生集成 302.AI,配置后即可看到完整模型列表。
-
-
-**Q: 1 美元免费额度能用多久?**
-A: 取决于使用频率和模型选择,可以进行多次测试体验。
-
-**Q: 免费额度用完后怎么办?**
-A: 可以按需充值,按量付费。目前大厂模型价格已相对亲民。
-
-
-
----
-
### 常见问题
@@ -2068,6 +2056,83 @@ A: 可以按需充值,按量付费。目前大厂模型价格已相对亲民
|
+
+
+
+
-
-