|
@@ -14,7 +14,7 @@
|
|
|
[](https://github.com/sansan0/TrendRadar/stargazers)
|
|
[](https://github.com/sansan0/TrendRadar/stargazers)
|
|
|
[](https://github.com/sansan0/TrendRadar/network/members)
|
|
[](https://github.com/sansan0/TrendRadar/network/members)
|
|
|
[](LICENSE)
|
|
[](LICENSE)
|
|
|
-[](https://github.com/sansan0/TrendRadar)
|
|
|
|
|
|
|
+[](https://github.com/sansan0/TrendRadar)
|
|
|
[](https://github.com/sansan0/TrendRadar)
|
|
[](https://github.com/sansan0/TrendRadar)
|
|
|
|
|
|
|
|
[](https://work.weixin.qq.com/)
|
|
[](https://work.weixin.qq.com/)
|
|
@@ -25,6 +25,7 @@
|
|
|
[](#)
|
|
[](#)
|
|
|
[](https://github.com/binwiederhier/ntfy)
|
|
[](https://github.com/binwiederhier/ntfy)
|
|
|
[](https://github.com/Finb/Bark)
|
|
[](https://github.com/Finb/Bark)
|
|
|
|
|
+[](https://slack.com/)
|
|
|
|
|
|
|
|
|
|
|
|
|
[](https://github.com/sansan0/TrendRadar)
|
|
[](https://github.com/sansan0/TrendRadar)
|
|
@@ -60,7 +61,7 @@
|
|
|
- Thanks to **followers**, your interactions make the content more meaningful 😎
|
|
- Thanks to **followers**, your interactions make the content more meaningful 😎
|
|
|
|
|
|
|
|
<details>
|
|
<details>
|
|
|
-<summary>👉 Click to view <strong>Acknowledgments</strong> (Current <strong>🔥72🔥</strong> supporters)</summary>
|
|
|
|
|
|
|
+<summary>👉 Click to view <strong>Acknowledgments</strong> (Current <strong>🔥73🔥</strong> supporters)</summary>
|
|
|
|
|
|
|
|
### Infrastructure Support
|
|
### Infrastructure Support
|
|
|
|
|
|
|
@@ -90,6 +91,7 @@ After communication, the author indicated no concerns about server pressure, but
|
|
|
|
|
|
|
|
| Supporter | Amount (CNY) | Date | Note |
|
|
| Supporter | Amount (CNY) | Date | Note |
|
|
|
| :-------: | :----------: | :--: | :--: |
|
|
| :-------: | :----------: | :--: | :--: |
|
|
|
|
|
+| D*5 | 1.8 * 3 | 2025.11.24 | |
|
|
|
| *鬼 | 1 | 2025.11.17 | |
|
|
| *鬼 | 1 | 2025.11.17 | |
|
|
|
| *超 | 10 | 2025.11.17 | |
|
|
| *超 | 10 | 2025.11.17 | |
|
|
|
| R*w | 10 | 2025.11.17 | Great agent work! |
|
|
| R*w | 10 | 2025.11.17 | Great agent work! |
|
|
@@ -270,6 +272,33 @@ 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
|
|
- **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/25 - v3.4.0
|
|
|
|
|
+
|
|
|
|
|
+**🎉 Added Slack Push Support**
|
|
|
|
|
+
|
|
|
|
|
+1. **Team Collaboration Push Channel**
|
|
|
|
|
+ - Supports Slack Incoming Webhooks (globally popular team collaboration tool)
|
|
|
|
|
+ - Centralized message management, suitable for team-shared trending news
|
|
|
|
|
+ - Supports mrkdwn format (bold, links, etc.)
|
|
|
|
|
+
|
|
|
|
|
+2. **Multiple Deployment Methods**
|
|
|
|
|
+ - GitHub Actions: Configure `SLACK_WEBHOOK_URL` Secret
|
|
|
|
|
+ - Docker: Environment variable `SLACK_WEBHOOK_URL`
|
|
|
|
|
+ - Local: `config/config.yaml` configuration file
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+> 📖 **Detailed Configuration Tutorial**: [Quick Start - Slack Push](#-quick-start)
|
|
|
|
|
+
|
|
|
|
|
+- Optimized the one-click installation experience for setup-windows.bat and setup-windows-en.bat
|
|
|
|
|
+
|
|
|
|
|
+**🔧 Upgrade Instructions**:
|
|
|
|
|
+- **GitHub Fork Users**: Update `main.py`, `config/config.yaml`, `.github/workflows/crawler.yml`
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+<details>
|
|
|
|
|
+<summary>👉 Click to expand: <strong>Historical Updates</strong></summary>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
### 2025/11/24 - v3.3.0
|
|
### 2025/11/24 - v3.3.0
|
|
|
|
|
|
|
|
**🎉 Added Bark Push Support**
|
|
**🎉 Added Bark Push Support**
|
|
@@ -334,9 +363,6 @@ Transform from "algorithm recommendation captivity" to "actively getting the inf
|
|
|
- Fix issue where today's news query may return articles from past dates
|
|
- Fix issue where today's news query may return articles from past dates
|
|
|
|
|
|
|
|
|
|
|
|
|
-<details>
|
|
|
|
|
-<summary><strong>👉 Click to expand: Historical Updates</strong></summary>
|
|
|
|
|
-
|
|
|
|
|
### 2025/11/20 - v3.1.0
|
|
### 2025/11/20 - v3.1.0
|
|
|
|
|
|
|
|
- **Added Personal WeChat Push Support**: WeWork application can push to personal WeChat without installing WeWork APP
|
|
- **Added Personal WeChat Push Support**: WeWork application can push to personal WeChat without installing WeWork APP
|
|
@@ -918,6 +944,7 @@ frequency_words.txt file added **required word** feature, using + sign
|
|
|
| **Sina Mail** | sina.com | smtp.sina.com | 465 | SSL |
|
|
| **Sina Mail** | sina.com | smtp.sina.com | 465 | SSL |
|
|
|
| **Sohu Mail** | sohu.com | smtp.sohu.com | 465 | SSL |
|
|
| **Sohu Mail** | sohu.com | smtp.sohu.com | 465 | SSL |
|
|
|
| **189 Mail** | 189.cn | smtp.189.cn | 465 | SSL |
|
|
| **189 Mail** | 189.cn | smtp.189.cn | 465 | SSL |
|
|
|
|
|
+ | **Aliyun Mail** | aliyun.com | smtp.aliyun.com | 465 | TLS |
|
|
|
|
|
|
|
|
> **Auto-detect**: When using above emails, no need to manually configure `EMAIL_SMTP_SERVER` and `EMAIL_SMTP_PORT`, system auto-detects.
|
|
> **Auto-detect**: When using above emails, no need to manually configure `EMAIL_SMTP_SERVER` and `EMAIL_SMTP_PORT`, system auto-detects.
|
|
|
>
|
|
>
|
|
@@ -927,6 +954,7 @@ frequency_words.txt file added **required word** feature, using + sign
|
|
|
>
|
|
>
|
|
|
> **Special Thanks**:
|
|
> **Special Thanks**:
|
|
|
> - Thanks to [@DYZYD](https://github.com/DYZYD) for contributing 189 Mail (189.cn) configuration and completing self-send-receive testing ([#291](https://github.com/sansan0/TrendRadar/issues/291))
|
|
> - Thanks to [@DYZYD](https://github.com/DYZYD) for contributing 189 Mail (189.cn) configuration and completing self-send-receive testing ([#291](https://github.com/sansan0/TrendRadar/issues/291))
|
|
|
|
|
+ > - Thanks to [@longzhenren](https://github.com/longzhenren) for contributing Aliyun Mail (aliyun.com) configuration and completing testing ([#344](https://github.com/sansan0/TrendRadar/issues/344))
|
|
|
|
|
|
|
|
**Common Email Settings:**
|
|
**Common Email Settings:**
|
|
|
|
|
|
|
@@ -1078,6 +1106,162 @@ frequency_words.txt file added **required word** feature, using + sign
|
|
|
|
|
|
|
|
</details>
|
|
</details>
|
|
|
|
|
|
|
|
|
|
+ <details>
|
|
|
|
|
+ <summary>👉 Click to expand: <strong>Bark Push</strong> (iOS exclusive, clean & efficient)</summary>
|
|
|
|
|
+ <br>
|
|
|
|
|
+
|
|
|
|
|
+ **GitHub Secret Configuration (⚠️ Name must be exact):**
|
|
|
|
|
+ - **Name**: `BARK_URL` (copy and paste this name, don't type manually)
|
|
|
|
|
+ - **Secret**: Your Bark push URL
|
|
|
|
|
+
|
|
|
|
|
+ <br>
|
|
|
|
|
+
|
|
|
|
|
+ **Bark Introduction:**
|
|
|
|
|
+
|
|
|
|
|
+ Bark is a free open-source push tool for iOS platform, featuring simplicity, speed, and no ads.
|
|
|
|
|
+
|
|
|
|
|
+ **Usage Methods:**
|
|
|
|
|
+
|
|
|
|
|
+ ### Method 1: Use Official Server (Recommended for beginners) 🆓
|
|
|
|
|
+
|
|
|
|
|
+ 1. **Download Bark App**:
|
|
|
|
|
+ - iOS: [App Store](https://apps.apple.com/us/app/bark-customed-notifications/id1403753865)
|
|
|
|
|
+
|
|
|
|
|
+ 2. **Get Push URL**:
|
|
|
|
|
+ - Open Bark App
|
|
|
|
|
+ - Copy the push URL displayed on the home page (format: `https://api.day.app/your_device_key`)
|
|
|
|
|
+ - Configure the URL to GitHub Secrets as `BARK_URL`
|
|
|
|
|
+
|
|
|
|
|
+ ### Method 2: Self-Hosted Server (Complete Privacy Control) 🔒
|
|
|
|
|
+
|
|
|
|
|
+ **Suitable for**: Users with servers, pursuing complete privacy, strong technical skills
|
|
|
|
|
+
|
|
|
|
|
+ **Docker One-Click Deployment**:
|
|
|
|
|
+ ```bash
|
|
|
|
|
+ docker run -d \
|
|
|
|
|
+ --name bark-server \
|
|
|
|
|
+ -p 8080:8080 \
|
|
|
|
|
+ finab/bark-server
|
|
|
|
|
+ ```
|
|
|
|
|
+
|
|
|
|
|
+ **Configure TrendRadar**:
|
|
|
|
|
+ ```yaml
|
|
|
|
|
+ BARK_URL: http://your-server-ip:8080/your_device_key
|
|
|
|
|
+ ```
|
|
|
|
|
+
|
|
|
|
|
+ ---
|
|
|
|
|
+
|
|
|
|
|
+ **Notes:**
|
|
|
|
|
+ - ✅ Bark uses APNs push, max 4KB per message
|
|
|
|
|
+ - ✅ Supports automatic batch sending, no worry about long messages
|
|
|
|
|
+ - ✅ Push format is plain text (automatically removes Markdown syntax)
|
|
|
|
|
+ - ⚠️ Only supports iOS platform
|
|
|
|
|
+
|
|
|
|
|
+ **Related Links:**
|
|
|
|
|
+ - [Bark Official Website](https://bark.day.app/)
|
|
|
|
|
+ - [Bark GitHub Repository](https://github.com/Finb/Bark)
|
|
|
|
|
+ - [Bark Server Self-Hosting Tutorial](https://github.com/Finb/bark-server)
|
|
|
|
|
+
|
|
|
|
|
+ </details>
|
|
|
|
|
+
|
|
|
|
|
+ <details>
|
|
|
|
|
+ <summary>👉 Click to expand: <strong>Slack Push</strong></summary>
|
|
|
|
|
+ <br>
|
|
|
|
|
+
|
|
|
|
|
+ **GitHub Secret Configuration (⚠️ Name must be exact):**
|
|
|
|
|
+ - **Name**: `SLACK_WEBHOOK_URL` (copy and paste this name, don't type manually)
|
|
|
|
|
+ - **Secret**: Your Slack Incoming Webhook URL
|
|
|
|
|
+
|
|
|
|
|
+ <br>
|
|
|
|
|
+
|
|
|
|
|
+ **Slack Introduction:**
|
|
|
|
|
+
|
|
|
|
|
+ Slack is a team collaboration tool, Incoming Webhooks can push messages to Slack channels.
|
|
|
|
|
+
|
|
|
|
|
+ **Setup Steps:**
|
|
|
|
|
+
|
|
|
|
|
+ ### Step 1: Create Slack App
|
|
|
|
|
+
|
|
|
|
|
+ 1. **Visit Slack API Page**:
|
|
|
|
|
+ - Open https://api.slack.com/apps?new_app=1
|
|
|
|
|
+ - Login to your Slack workspace if not logged in
|
|
|
|
|
+
|
|
|
|
|
+ 2. **Choose Creation Method**:
|
|
|
|
|
+ - Click **"From scratch"**
|
|
|
|
|
+
|
|
|
|
|
+ 3. **Fill in App Information**:
|
|
|
|
|
+ - **App Name**: Enter app name (e.g., `TrendRadar` or `Hot News Monitor`)
|
|
|
|
|
+ - **Workspace**: Select your workspace from dropdown
|
|
|
|
|
+ - Click **"Create App"** button
|
|
|
|
|
+
|
|
|
|
|
+ ### Step 2: Enable Incoming Webhooks
|
|
|
|
|
+
|
|
|
|
|
+ 1. **Navigate to Incoming Webhooks**:
|
|
|
|
|
+ - Find and click **"Incoming Webhooks"** in left menu
|
|
|
|
|
+
|
|
|
|
|
+ 2. **Enable Feature**:
|
|
|
|
|
+ - Find **"Activate Incoming Webhooks"** toggle
|
|
|
|
|
+ - Switch from `OFF` to `ON`
|
|
|
|
|
+ - Page will auto-refresh showing new configuration options
|
|
|
|
|
+
|
|
|
|
|
+ ### Step 3: Generate Webhook URL
|
|
|
|
|
+
|
|
|
|
|
+ 1. **Add New Webhook**:
|
|
|
|
|
+ - Scroll to page bottom
|
|
|
|
|
+ - Click **"Add New Webhook to Workspace"** button
|
|
|
|
|
+
|
|
|
|
|
+ 2. **Select Target Channel**:
|
|
|
|
|
+ - System will show authorization page
|
|
|
|
|
+ - Select channel to receive messages from dropdown (e.g., `#hot-news`)
|
|
|
|
|
+ - ⚠️ For private channels, must join the channel first
|
|
|
|
|
+
|
|
|
|
|
+ 3. **Authorize App**:
|
|
|
|
|
+ - Click **"Allow"** button to complete authorization
|
|
|
|
|
+ - System will auto-redirect back to config page
|
|
|
|
|
+
|
|
|
|
|
+ ### Step 4: Copy and Save Webhook URL
|
|
|
|
|
+
|
|
|
|
|
+ 1. **View Generated URL**:
|
|
|
|
|
+ - In "Webhook URLs for Your Workspace" section
|
|
|
|
|
+ - You'll see the newly generated Webhook URL
|
|
|
|
|
+ - Format: `https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX`
|
|
|
|
|
+
|
|
|
|
|
+ 2. **Copy URL**:
|
|
|
|
|
+ - Click **"Copy"** button on the right of URL
|
|
|
|
|
+ - Or manually select and copy URL
|
|
|
|
|
+
|
|
|
|
|
+ 3. **Configure to TrendRadar**:
|
|
|
|
|
+ - **GitHub Actions**: Add URL to GitHub Secrets as `SLACK_WEBHOOK_URL`
|
|
|
|
|
+ - **Local Testing**: Fill URL in `config/config.yaml` `slack_webhook_url` field
|
|
|
|
|
+ - **Docker Deployment**: Add URL to `docker/.env` file as `SLACK_WEBHOOK_URL` variable
|
|
|
|
|
+
|
|
|
|
|
+ ---
|
|
|
|
|
+
|
|
|
|
|
+ **Notes:**
|
|
|
|
|
+ - ✅ Supports Markdown format (auto-converts to Slack mrkdwn)
|
|
|
|
|
+ - ✅ Supports automatic batch sending (4KB per batch)
|
|
|
|
|
+ - ✅ Suitable for team collaboration, centralized message management
|
|
|
|
|
+ - ⚠️ Webhook URL contains secret key, never make it public
|
|
|
|
|
+
|
|
|
|
|
+ **Message Format Preview:**
|
|
|
|
|
+ ```
|
|
|
|
|
+ *[Batch 1/2]*
|
|
|
|
|
+
|
|
|
|
|
+ 📊 *Trending Topics Statistics*
|
|
|
|
|
+
|
|
|
|
|
+ 🔥 *[1/3] AI ChatGPT* : 2 articles
|
|
|
|
|
+
|
|
|
|
|
+ 1. [Baidu Hot] 🆕 ChatGPT-5 Official Release *[1]* - 09:15 (1 time)
|
|
|
|
|
+
|
|
|
|
|
+ 2. [Toutiao] AI Chip Stocks Surge *[3]* - [08:30 ~ 10:45] (3 times)
|
|
|
|
|
+ ```
|
|
|
|
|
+
|
|
|
|
|
+ **Related Links:**
|
|
|
|
|
+ - [Slack Incoming Webhooks Official Docs](https://api.slack.com/messaging/webhooks)
|
|
|
|
|
+ - [Slack API App Management](https://api.slack.com/apps)
|
|
|
|
|
+
|
|
|
|
|
+ </details>
|
|
|
|
|
+
|
|
|
> **💡 Beginner Quick Start Tip**:
|
|
> **💡 Beginner Quick Start Tip**:
|
|
|
>
|
|
>
|
|
|
> For first deployment, suggest completing **GitHub Secrets** configuration first (choose one push platform), then jump to [Step 3] to test push success.
|
|
> For first deployment, suggest completing **GitHub Secrets** configuration first (choose one push platform), then jump to [Step 3] to test push success.
|
|
@@ -1330,7 +1514,7 @@ Meizu
|
|
|
!second-hand
|
|
!second-hand
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
-��� **Recommended:** Split into precise groups
|
|
|
|
|
|
|
+**Recommended:** Split into precise groups
|
|
|
```txt
|
|
```txt
|
|
|
Huawei
|
|
Huawei
|
|
|
OPPO
|
|
OPPO
|
|
@@ -1804,6 +1988,10 @@ Cherry Studio provides GUI config interface, 5-minute quick deployment, complex
|
|
|
|
|
|
|
|
**Detailed Deployment Tutorial**: [README-Cherry-Studio.md](README-Cherry-Studio.md)
|
|
**Detailed Deployment Tutorial**: [README-Cherry-Studio.md](README-Cherry-Studio.md)
|
|
|
|
|
|
|
|
|
|
+**Deployment Mode Description**:
|
|
|
|
|
+- **STDIO Mode (Recommended)**: One-time configuration, no need to reconfigure later. The **illustrated deployment tutorial** only demonstrates this mode's configuration.
|
|
|
|
|
+- **HTTP Mode (Alternative)**: If STDIO mode configuration encounters issues, you can use HTTP mode. This mode's configuration is basically the same as STDIO, but only requires copy-pasting one line, less error-prone. The only thing to note is that you need to manually start the service before each use. For details, refer to the HTTP mode section at the bottom of [README-Cherry-Studio.md](README-Cherry-Studio.md).
|
|
|
|
|
+
|
|
|
### 2. Learning to Talk with AI
|
|
### 2. Learning to Talk with AI
|
|
|
|
|
|
|
|
**Detailed Conversation Tutorial**: [README-MCP-FAQ.md](README-MCP-FAQ.md)
|
|
**Detailed Conversation Tutorial**: [README-MCP-FAQ.md](README-MCP-FAQ.md)
|