mirror of
https://gitee.com/houhuan/TrendRadar.git
synced 2025-12-21 14:27:15 +08:00
docs: 重构 README 文档结构,优化使用体验
This commit is contained in:
parent
a350aa43be
commit
8258b798f0
691
README-EN.md
691
README-EN.md
@ -44,10 +44,10 @@
|
|||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
||||||
| [🎯 Core Features](#-core-features) | [🚀 Quick Start](#-quick-start) | [🐳 Docker Deployment](#-docker-deployment) | [🤖 AI Analysis](#-ai-analysis-deployment) |
|
| [🎯 Core Features](#-core-features) | [🚀 Quick Start](#-quick-start) | [⚙️ Configuration Guide](#-configuration-guide) | [🐳 Docker Deployment](#-docker-deployment) |
|
||||||
|:---:|:---:|:---:|:---:|
|
|:---:|:---:|:---:|:---:|
|
||||||
| [📝 Changelog](#-changelog) | [🔌 MCP Clients](#-mcp-clients) | [❓ FAQ & Support](#-faq--support) | [⭐ Related Projects](#-related-projects) |
|
| [🤖 AI Analysis](#-ai-analysis) | [🔌 MCP Clients](#-mcp-clients) | [📝 Changelog](#-changelog) | [❓ FAQ & Support](#-faq--support) |
|
||||||
| [🔧 Custom Platforms](#custom-monitoring-platforms) | [📝 Keywords Config](#frequencywordstxt-configuration) | [🪄 Sponsors](#-sponsors) | |
|
| [⭐ Related Projects](#-related-projects) | [🪄 Sponsors](#-sponsors) | | |
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -56,11 +56,19 @@
|
|||||||
- 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>🔥71🔥</strong> supporters)</summary>
|
<summary>👉 Click to view <strong>Acknowledgments</strong> (Current <strong>🔥72🔥</strong> supporters)</summary>
|
||||||
|
|
||||||
|
### Infrastructure Support
|
||||||
|
|
||||||
|
Thanks to **GitHub** for providing free infrastructure, which is the biggest prerequisite for this project to run conveniently with **one-click fork**.
|
||||||
|
|
||||||
### Data Support
|
### Data Support
|
||||||
|
|
||||||
This project uses the API from [newsnow](https://github.com/ourongxing/newsnow) to fetch multi-platform data
|
This project uses the API from [newsnow](https://github.com/ourongxing/newsnow) to fetch multi-platform data. Special thanks to the author for providing this service.
|
||||||
|
|
||||||
|
After communication, the author indicated no concerns about server pressure, but this is based on their goodwill and trust. Please everyone:
|
||||||
|
- **Visit the [newsnow project](https://github.com/ourongxing/newsnow) and give it a star**
|
||||||
|
- When deploying with Docker, please control the frequency reasonably and avoid being overly greedy
|
||||||
|
|
||||||
### Promotion Support
|
### Promotion Support
|
||||||
|
|
||||||
@ -73,6 +81,8 @@ This project uses the API from [newsnow](https://github.com/ourongxing/newsnow)
|
|||||||
### Community Support
|
### Community Support
|
||||||
|
|
||||||
> Thanks to **financial supporters**. Your generosity has transformed into snacks and drinks beside my keyboard, accompanying every iteration of this project
|
> Thanks to **financial supporters**. Your generosity has transformed into snacks and drinks beside my keyboard, accompanying every iteration of this project
|
||||||
|
>
|
||||||
|
> **"One-yuan appreciation"** has been suspended. If you still want to support the author, please visit the [official account](#-faq--support) article and click "Like Author" at the bottom.
|
||||||
|
|
||||||
| Supporter | Amount (CNY) | Date | Note |
|
| Supporter | Amount (CNY) | Date | Note |
|
||||||
| :-------: | :----------: | :--: | :--: |
|
| :-------: | :----------: | :--: | :--: |
|
||||||
@ -120,53 +130,32 @@ This project uses the API from [newsnow](https://github.com/ourongxing/newsnow)
|
|||||||
|
|
||||||
Default monitoring of 11 mainstream platforms, with support for adding custom platforms.
|
Default monitoring of 11 mainstream platforms, with support for adding custom platforms.
|
||||||
|
|
||||||
<details id="custom-monitoring-platforms">
|
> 💡 For detailed configuration, see [Configuration Guide - Platform Configuration](#1-platform-configuration)
|
||||||
<summary><strong>👉 Click to expand: Custom Monitoring Platforms</strong></summary>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
The news data comes from [newsnow](https://github.com/ourongxing/newsnow). You can visit the [website](https://newsnow.busiyi.world/) and click [More] to see if your desired platform is available.
|
|
||||||
|
|
||||||
To add platforms, visit the [source code](https://github.com/ourongxing/newsnow/tree/main/server/sources), and modify the `platforms` configuration in `config/config.yaml`:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
platforms:
|
|
||||||
- id: "toutiao"
|
|
||||||
name: "Toutiao"
|
|
||||||
- id: "baidu"
|
|
||||||
name: "Baidu Hot"
|
|
||||||
- id: "wallstreetcn-hot"
|
|
||||||
name: "Wallstreetcn"
|
|
||||||
# Add more platforms...
|
|
||||||
```
|
|
||||||
|
|
||||||
If you're unsure, you can copy from [community-shared configurations](https://github.com/sansan0/TrendRadar/issues/95).
|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
### **Smart Push Strategies**
|
### **Smart Push Strategies**
|
||||||
|
|
||||||
**Three Push Modes**:
|
**Three Push Modes**:
|
||||||
|
|
||||||
| Mode | Target Users | Push Timing | Display Content | Use Case |
|
| Mode | Target Users | Push Feature |
|
||||||
|------|--------------|-------------|-----------------|----------|
|
|------|--------------|--------------|
|
||||||
| **Daily Summary**<br/>`daily` | 📋 Managers/Regular Users | Scheduled push (default: hourly) | All matched news of the day<br/>+ New news section | Daily reports<br/>Comprehensive trend overview |
|
| **Daily Summary** (daily) | Managers/Regular Users | Push all matched news of the day (includes previously pushed) |
|
||||||
| **Current Rankings**<br/>`current` | 📰 Content Creators | Scheduled push (default: hourly) | Current ranking matches<br/>+ New news section | Real-time hot topics<br/>What's trending now |
|
| **Current Rankings** (current) | Content Creators | Push current ranking matches (continuously ranked news appear each time) |
|
||||||
| **Incremental Monitor**<br/>`incremental` | 📈 Traders/Investors | Push only when new | Newly appeared matching news | Avoid duplicate info<br/>High-frequency monitoring |
|
| **Incremental Monitor** (incremental) | Traders/Investors | Push only new content, zero duplication |
|
||||||
|
|
||||||
|
> 💡 **Quick Selection Guide:**
|
||||||
|
> - 🔄 Don't want duplicate news → Use `incremental`
|
||||||
|
> - 📊 Want complete ranking trends → Use `current`
|
||||||
|
> - 📝 Need daily summary reports → Use `daily`
|
||||||
|
>
|
||||||
|
> For detailed comparison and configuration, see [Configuration Guide - Push Mode Details](#3-push-mode-details)
|
||||||
|
|
||||||
**Additional Feature - Push Time Window Control** (Optional):
|
**Additional Feature - Push Time Window Control** (Optional):
|
||||||
|
|
||||||
This feature works independently with any push mode:
|
- Set push time range (e.g., 09:00-18:00), push only within specified time
|
||||||
|
- Configure multiple pushes within window or once per day
|
||||||
|
- Avoid notifications during non-work hours
|
||||||
|
|
||||||
- **Time Window Limit**: Set push time range (e.g., 09:00-18:00 or 20:00-22:00)
|
> 💡 This feature is disabled by default, see [Quick Start](#-quick-start) for configuration
|
||||||
- **Push Frequency Control**:
|
|
||||||
- Multiple pushes within window: Push every execution
|
|
||||||
- Once per day: Only push once within window (suitable for daily/current modes)
|
|
||||||
- **Typical Scenarios**:
|
|
||||||
- Work hours push: Only receive messages during 09:00-18:00 on weekdays
|
|
||||||
- Evening summary: Receive summary at fixed evening time (e.g., 20:00-22:00)
|
|
||||||
- Do not disturb: Prevent notifications during non-work hours
|
|
||||||
|
|
||||||
> Tip: This feature is disabled by default, enable it manually in `config/config.yaml` with `push_window.enabled`
|
|
||||||
|
|
||||||
### **Precise Content Filtering**
|
### **Precise Content Filtering**
|
||||||
|
|
||||||
@ -175,165 +164,8 @@ Set personal keywords (e.g., AI, BYD, Education Policy) to receive only relevant
|
|||||||
- Supports normal words, required words (+), and filter words (!)
|
- Supports normal words, required words (+), and filter words (!)
|
||||||
- Group-based management with independent statistics for different topics
|
- Group-based management with independent statistics for different topics
|
||||||
|
|
||||||
> You can also skip filtering and receive all trending news. See v2.0.1 in [Changelog](#-changelog)
|
> 💡 Keyword configuration tutorial: [Configuration Guide - Keyword Configuration](#2-keyword-configuration)
|
||||||
|
> 💡 You can also skip filtering and receive all trending news (leave frequency_words.txt empty)
|
||||||
<details id="frequencywordstxt-configuration">
|
|
||||||
<summary><strong>👉 Click to expand: frequency_words.txt Configuration</strong></summary>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
Configure monitoring keywords in `frequency_words.txt` with three syntax types and grouping features.
|
|
||||||
|
|
||||||
Keywords at the top have higher priority. Adjust keyword order based on your interests.
|
|
||||||
|
|
||||||
| Syntax Type | Symbol | Purpose | Example | Matching Logic |
|
|
||||||
|------------|--------|---------|---------|----------------|
|
|
||||||
| **Normal** | None | Basic matching | `Huawei` | Match any one |
|
|
||||||
| **Required** | `+` | Scope limiting | `+phone` | Must include both |
|
|
||||||
| **Filter** | `!` | Noise exclusion | `!ad` | Exclude if included |
|
|
||||||
|
|
||||||
### 📋 Basic Syntax
|
|
||||||
|
|
||||||
#### 1. **Normal Keywords** - Basic Matching
|
|
||||||
```txt
|
|
||||||
Huawei
|
|
||||||
OPPO
|
|
||||||
Apple
|
|
||||||
```
|
|
||||||
**Effect:** News containing **any one** of these words will be captured
|
|
||||||
|
|
||||||
#### 2. **Required Words** `+word` - Scope Limiting
|
|
||||||
```txt
|
|
||||||
Huawei
|
|
||||||
OPPO
|
|
||||||
+phone
|
|
||||||
```
|
|
||||||
**Effect:** Must include both normal word **and** required word to be captured
|
|
||||||
|
|
||||||
#### 3. **Filter Words** `!word` - Noise Exclusion
|
|
||||||
```txt
|
|
||||||
Apple
|
|
||||||
Huawei
|
|
||||||
!fruit
|
|
||||||
!price
|
|
||||||
```
|
|
||||||
**Effect:** News containing filter words will be **excluded**, even if it contains keywords
|
|
||||||
|
|
||||||
### 🔗 Group Feature - Importance of Empty Lines
|
|
||||||
|
|
||||||
**Core Rule:** Use **empty lines** to separate different groups, each group is independently counted
|
|
||||||
|
|
||||||
#### Example Configuration:
|
|
||||||
```txt
|
|
||||||
iPhone
|
|
||||||
Huawei
|
|
||||||
OPPO
|
|
||||||
+launch
|
|
||||||
|
|
||||||
A-shares
|
|
||||||
Shanghai Index
|
|
||||||
Shenzhen Index
|
|
||||||
+fluctuation
|
|
||||||
!prediction
|
|
||||||
|
|
||||||
World Cup
|
|
||||||
Euro Cup
|
|
||||||
Asian Cup
|
|
||||||
+match
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Group Explanation and Matching Effects:
|
|
||||||
|
|
||||||
**Group 1 - Phone Launches:**
|
|
||||||
- Keywords: iPhone, Huawei, OPPO
|
|
||||||
- Required: launch
|
|
||||||
- Effect: Must include phone brand name and "launch"
|
|
||||||
|
|
||||||
**Matching Examples:**
|
|
||||||
- ✅ "iPhone 15 officially launched with pricing" ← Has "iPhone" + "launch"
|
|
||||||
- ✅ "Huawei Mate60 series launch livestream" ← Has "Huawei" + "launch"
|
|
||||||
- ✅ "OPPO Find X7 launch date confirmed" ← Has "OPPO" + "launch"
|
|
||||||
- ❌ "iPhone sales hit record high" ← Has "iPhone" but missing "launch"
|
|
||||||
|
|
||||||
**Group 2 - Stock Market:**
|
|
||||||
- Keywords: A-shares, Shanghai Index, Shenzhen Index
|
|
||||||
- Required: fluctuation
|
|
||||||
- Filter: prediction
|
|
||||||
- Effect: Include stock-related words and "fluctuation", but exclude "prediction"
|
|
||||||
|
|
||||||
**Matching Examples:**
|
|
||||||
- ✅ "A-shares major fluctuation analysis today" ← Has "A-shares" + "fluctuation"
|
|
||||||
- ✅ "Shanghai Index fluctuation reasons explained" ← Has "Shanghai Index" + "fluctuation"
|
|
||||||
- ❌ "Experts predict A-shares fluctuation trends" ← Has "A-shares" + "fluctuation" but contains "prediction"
|
|
||||||
- ❌ "A-shares trading volume hits new high" ← Has "A-shares" but missing "fluctuation"
|
|
||||||
|
|
||||||
**Group 3 - Football Events:**
|
|
||||||
- Keywords: World Cup, Euro Cup, Asian Cup
|
|
||||||
- Required: match
|
|
||||||
- Effect: Must include cup name and "match"
|
|
||||||
|
|
||||||
**Matching Examples:**
|
|
||||||
- ✅ "World Cup group stage match results" ← Has "World Cup" + "match"
|
|
||||||
- ✅ "Euro Cup final match time" ← Has "Euro Cup" + "match"
|
|
||||||
- ❌ "World Cup tickets on sale" ← Has "World Cup" but missing "match"
|
|
||||||
|
|
||||||
### 🎯 Configuration Tips
|
|
||||||
|
|
||||||
#### 1. **From Broad to Strict Strategy**
|
|
||||||
```txt
|
|
||||||
# Step 1: Start with broad keywords for testing
|
|
||||||
Artificial Intelligence
|
|
||||||
AI
|
|
||||||
ChatGPT
|
|
||||||
|
|
||||||
# Step 2: After finding mismatches, add required words
|
|
||||||
Artificial Intelligence
|
|
||||||
AI
|
|
||||||
ChatGPT
|
|
||||||
+technology
|
|
||||||
|
|
||||||
# Step 3: After finding noise, add filter words
|
|
||||||
Artificial Intelligence
|
|
||||||
AI
|
|
||||||
ChatGPT
|
|
||||||
+technology
|
|
||||||
!advertisement
|
|
||||||
!training
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2. **Avoid Over-Complexity**
|
|
||||||
❌ **Not Recommended:** Too many words in one group
|
|
||||||
```txt
|
|
||||||
Huawei
|
|
||||||
OPPO
|
|
||||||
Apple
|
|
||||||
Samsung
|
|
||||||
vivo
|
|
||||||
OnePlus
|
|
||||||
Meizu
|
|
||||||
+phone
|
|
||||||
+launch
|
|
||||||
+sales
|
|
||||||
!fake
|
|
||||||
!repair
|
|
||||||
!second-hand
|
|
||||||
```
|
|
||||||
|
|
||||||
✅ **Recommended:** Split into precise groups
|
|
||||||
```txt
|
|
||||||
Huawei
|
|
||||||
OPPO
|
|
||||||
+new product
|
|
||||||
|
|
||||||
Apple
|
|
||||||
Samsung
|
|
||||||
+launch
|
|
||||||
|
|
||||||
phone
|
|
||||||
sales
|
|
||||||
+market
|
|
||||||
```
|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
|
|
||||||
### **Trending Analysis**
|
### **Trending Analysis**
|
||||||
@ -346,64 +178,7 @@ Real-time tracking of news popularity changes helps you understand not just "wha
|
|||||||
- **Continuity Analysis**: Distinguishes between one-time hot topics and continuously developing news
|
- **Continuity Analysis**: Distinguishes between one-time hot topics and continuously developing news
|
||||||
- **Cross-Platform Comparison**: Same news across different platforms, showing media attention differences
|
- **Cross-Platform Comparison**: Same news across different platforms, showing media attention differences
|
||||||
|
|
||||||
> Never miss the complete development of important news, from topic emergence to peak discussion
|
> 💡 Push format reference: [Configuration Guide - Push Format Reference](#5-push-format-reference)
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary><strong>👉 Click to expand: Push Format Explanation</strong></summary>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
📊 Trending Keywords Stats
|
|
||||||
|
|
||||||
🔥 [1/3] AI ChatGPT : 2 items
|
|
||||||
|
|
||||||
1. [Baidu Hot] 🆕 ChatGPT-5 officially launched [**1**] - 09:15 (1 time)
|
|
||||||
|
|
||||||
2. [Toutiao] AI chip concept stocks surge [**3**] - [08:30 ~ 10:45] (3 times)
|
|
||||||
|
|
||||||
━━━━━━━━━━━━━━━━━━━
|
|
||||||
|
|
||||||
📈 [2/3] BYD Tesla : 2 items
|
|
||||||
|
|
||||||
1. [Weibo] 🆕 BYD monthly sales break record [**2**] - 10:20 (1 time)
|
|
||||||
|
|
||||||
2. [Douyin] Tesla price reduction promotion [**4**] - [07:45 ~ 09:15] (2 times)
|
|
||||||
|
|
||||||
━━━━━━━━━━━━━━━━━━━
|
|
||||||
|
|
||||||
📌 [3/3] A-shares Stock Market : 1 item
|
|
||||||
|
|
||||||
1. [Wallstreetcn] A-shares midday review [**5**] - [11:30 ~ 12:00] (2 times)
|
|
||||||
|
|
||||||
🆕 New Trending News (Total 2 items)
|
|
||||||
|
|
||||||
**Baidu Hot** (1 item):
|
|
||||||
1. ChatGPT-5 officially launched [**1**]
|
|
||||||
|
|
||||||
**Weibo** (1 item):
|
|
||||||
1. BYD monthly sales break record [**2**]
|
|
||||||
|
|
||||||
Updated: 2025-01-15 12:30:15
|
|
||||||
|
|
||||||
|
|
||||||
## **Message Format Explanation**
|
|
||||||
|
|
||||||
| Format Element | Example | Meaning | Description |
|
|
||||||
| ------------- | ------- | -------- | ----------- |
|
|
||||||
| 🔥📈📌 | 🔥 [1/3] AI ChatGPT | Popularity Level | 🔥 High (≥10) 📈 Medium (5-9) 📌 Normal (<5) |
|
|
||||||
| [Number/Total] | [1/3] | Rank Position | Current group rank among all matches |
|
|
||||||
| Keyword Group | AI ChatGPT | Keyword Group | Group from config, title must contain words |
|
|
||||||
| : N items | : 2 items | Match Count | Total news matching this group |
|
|
||||||
| [Platform] | [Baidu Hot] | Source Platform | Platform name of the news |
|
|
||||||
| 🆕 | 🆕 ChatGPT-5 officially launched | New Mark | First appearance in this round |
|
|
||||||
| [**number**] | [**1**] | High Rank | Rank ≤ threshold, bold red display |
|
|
||||||
| [number] | [7] | Normal Rank | Rank > threshold, normal display |
|
|
||||||
| - time | - 09:15 | First Time | Time when news was first discovered |
|
|
||||||
| [time~time] | [08:30 ~ 10:45] | Duration | Time range from first to last appearance |
|
|
||||||
| (N times) | (3 times) | Frequency | Total appearances during monitoring |
|
|
||||||
| **New Section** | 🆕 **New Trending News** | New Topic Summary | Separately shows newly appeared topics |
|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
|
|
||||||
### **Personalized Trending Algorithm**
|
### **Personalized Trending Algorithm**
|
||||||
|
|
||||||
@ -413,42 +188,7 @@ No longer controlled by platform algorithms, TrendRadar reorganizes all trending
|
|||||||
- **Focus on Persistent Topics** (30%): Repeatedly appearing news is more important
|
- **Focus on Persistent Topics** (30%): Repeatedly appearing news is more important
|
||||||
- **Consider Ranking Quality** (10%): Not just frequent, but consistently top-ranked
|
- **Consider Ranking Quality** (10%): Not just frequent, but consistently top-ranked
|
||||||
|
|
||||||
> Merge trending searches from各 platforms and re-sort by your interests. These three ratios can be adjusted for your scenarios.
|
> 💡 Weight adjustment guide: [Configuration Guide - Advanced Configuration](#4-advanced-configuration---hotspot-weight-adjustment)
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary><strong>👉 Click to expand: Trending Weight Adjustment</strong></summary>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
Current default configuration is balanced.
|
|
||||||
|
|
||||||
### Two Core Scenarios
|
|
||||||
|
|
||||||
**Real-Time Trending Type**:
|
|
||||||
```yaml
|
|
||||||
weight:
|
|
||||||
rank_weight: 0.8 # Mainly focus on ranking
|
|
||||||
frequency_weight: 0.1 # Less concern about continuity
|
|
||||||
hotness_weight: 0.1
|
|
||||||
```
|
|
||||||
**Target Users**: Content creators, marketers, users wanting to quickly understand current hot topics
|
|
||||||
|
|
||||||
**In-Depth Topic Type**:
|
|
||||||
```yaml
|
|
||||||
weight:
|
|
||||||
rank_weight: 0.4 # Moderate ranking focus
|
|
||||||
frequency_weight: 0.5 # Emphasize sustained heat within the day
|
|
||||||
hotness_weight: 0.1
|
|
||||||
```
|
|
||||||
**Target Users**: Investors, researchers, journalists, users needing deep trend analysis
|
|
||||||
|
|
||||||
### Adjustment Method
|
|
||||||
1. **Three numbers must sum to 1.0**
|
|
||||||
2. **Increase what's important**: Increase rank_weight for rankings, frequency_weight for continuity
|
|
||||||
3. **Suggest adjusting 0.1-0.2 at a time**, observe effects
|
|
||||||
|
|
||||||
Core idea: Users pursuing speed and timeliness increase ranking weight, users pursuing depth and stability increase frequency weight.
|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
### **Multi-Channel Real-Time Push**
|
### **Multi-Channel Real-Time Push**
|
||||||
|
|
||||||
@ -476,7 +216,7 @@ AI conversational analysis system based on MCP (Model Context Protocol), enablin
|
|||||||
> - Project includes **November 1-15** test data for immediate experience
|
> - Project includes **November 1-15** test data for immediate experience
|
||||||
> - Recommend deploying the project yourself to get more real-time data
|
> - Recommend deploying the project yourself to get more real-time data
|
||||||
>
|
>
|
||||||
> See [AI Analysis Deployment](#-ai-analysis-deployment) for details
|
> See [AI Analysis](#-ai-analysis) for details
|
||||||
|
|
||||||
### **Zero Technical Barrier Deployment**
|
### **Zero Technical Barrier Deployment**
|
||||||
|
|
||||||
@ -806,7 +546,7 @@ frequency_words.txt file added **required word** feature, using + sign
|
|||||||
|
|
||||||
## 🚀 Quick Start
|
## 🚀 Quick Start
|
||||||
|
|
||||||
> After configuration, news data updates after one hour. To accelerate, refer to [Step 4] to manually test configuration
|
> **📖 Reminder**: Fork users should first **[check the latest official documentation](https://github.com/sansan0/TrendRadar/blob/master/README.md)** to ensure the configuration steps are up to date.
|
||||||
|
|
||||||
1. **Fork this project** to your GitHub account
|
1. **Fork this project** to your GitHub account
|
||||||
|
|
||||||
@ -1210,12 +950,36 @@ frequency_words.txt file added **required word** feature, using + sign
|
|||||||
|
|
||||||
> **💡 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 4] 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.
|
||||||
>
|
>
|
||||||
> **Don't modify** `config/config.yaml` and `frequency_words.txt` temporarily, adjust these configs after push test succeeds as needed.
|
> **Don't modify** `config/config.yaml` and `frequency_words.txt` temporarily, adjust these configs after push test succeeds as needed.
|
||||||
|
|
||||||
|
|
||||||
3. **Configuration Notes:**:
|
3. **Manual Test News Push**:
|
||||||
|
|
||||||
|
> 💡 **Complete Step 1-2 first, then test immediately!** Test success first, then adjust configuration (Step 4) as needed.
|
||||||
|
>
|
||||||
|
> ⚠️ **IMPORTANT: Enter your own forked project, not this project!**
|
||||||
|
|
||||||
|
**How to find your Actions page**:
|
||||||
|
|
||||||
|
- **Method 1**: Open your forked project homepage, click the **Actions** tab at the top
|
||||||
|
- **Method 2**: Direct access `https://github.com/YourUsername/TrendRadar/actions`
|
||||||
|
|
||||||
|
**Example comparison**:
|
||||||
|
- ❌ Author's project: `https://github.com/sansan0/TrendRadar/actions`
|
||||||
|
- ✅ Your project: `https://github.com/YourUsername/TrendRadar/actions`
|
||||||
|
|
||||||
|
**Testing steps**:
|
||||||
|
1. Enter your project's Actions page
|
||||||
|
2. Find **"Hot News Crawler"** and click in
|
||||||
|
- If you don't see this text, refer to [#109](https://github.com/sansan0/TrendRadar/issues/109) to solve
|
||||||
|
3. Click **"Run workflow"** button on the right to run
|
||||||
|
4. Wait about 1 minute, messages will be pushed to your configured platform
|
||||||
|
|
||||||
|
4. **Configuration Notes (Optional)**:
|
||||||
|
|
||||||
|
> 💡 Default configuration works normally, only adjust if you need personalization
|
||||||
|
|
||||||
- **Push Settings**: Configure push mode and notification options in [config/config.yaml](config/config.yaml)
|
- **Push Settings**: Configure push mode and notification options in [config/config.yaml](config/config.yaml)
|
||||||
- **Keyword Settings**: Add your interested keywords in [config/frequency_words.txt](config/frequency_words.txt)
|
- **Keyword Settings**: Add your interested keywords in [config/frequency_words.txt](config/frequency_words.txt)
|
||||||
@ -1223,13 +987,327 @@ 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
|
**Note**: Suggest only adjusting explicitly documented config items, other options mainly for author's development testing
|
||||||
|
|
||||||
4. **Manual Test News Push**:
|
|
||||||
|
|
||||||
Using my project as example, you should test in **your forked** project
|
## ⚙️ Configuration Guide
|
||||||
|
|
||||||
1. **Enter Actions**: https://github.com/sansan0/TrendRadar/actions
|
> **📖 Reminder**: This chapter provides detailed configuration explanations. Suggest completing [Quick Start](#-quick-start) basic configuration first, then refer to detailed options here as needed.
|
||||||
2. Find "Hot News Crawler" and click in. If you don't see this text, refer to [#109](https://github.com/sansan0/TrendRadar/issues/109) to solve
|
|
||||||
3. Click "Run workflow" button to run, wait about 1 minute for data to arrive on your phone
|
### 1. Platform Configuration
|
||||||
|
|
||||||
|
<details id="custom-monitoring-platforms">
|
||||||
|
<summary>👉 Click to expand: <strong>Custom Monitoring Platforms</strong></summary>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
This project's news data comes from [newsnow](https://github.com/ourongxing/newsnow). You can click the [website](https://newsnow.busiyi.world/), click [More], to see if there are platforms you want.
|
||||||
|
|
||||||
|
For specific additions, visit [project source code](https://github.com/ourongxing/newsnow/tree/main/server/sources), based on the file names there, modify the `platforms` configuration in `config/config.yaml` file:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
platforms:
|
||||||
|
- id: "toutiao"
|
||||||
|
name: "Toutiao"
|
||||||
|
- id: "baidu"
|
||||||
|
name: "Baidu Hot Search"
|
||||||
|
- id: "wallstreetcn-hot"
|
||||||
|
name: "Wallstreetcn"
|
||||||
|
# Add more platforms...
|
||||||
|
```
|
||||||
|
If you don't know how to look, you can directly copy the partially organized [Platform Configuration](https://github.com/sansan0/TrendRadar/issues/95)
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
### 2. Keyword Configuration
|
||||||
|
|
||||||
|
<details id="frequencywordstxt-configuration-tutorial">
|
||||||
|
<summary>👉 Click to expand: <strong>frequency_words.txt Configuration Tutorial</strong></summary>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
Configure monitoring keywords in `frequency_words.txt` with three syntax types and grouping features.
|
||||||
|
|
||||||
|
Keywords at the top have higher priority. Adjust keyword order based on your interests.
|
||||||
|
|
||||||
|
| Syntax Type | Symbol | Purpose | Example | Matching Logic |
|
||||||
|
|------------|--------|---------|---------|----------------|
|
||||||
|
| **Normal** | None | Basic matching | `Huawei` | Match any one |
|
||||||
|
| **Required** | `+` | Scope limiting | `+phone` | Must include both |
|
||||||
|
| **Filter** | `!` | Noise exclusion | `!ad` | Exclude if included |
|
||||||
|
|
||||||
|
#### 📋 Basic Syntax
|
||||||
|
|
||||||
|
##### 1. **Normal Keywords** - Basic Matching
|
||||||
|
```txt
|
||||||
|
Huawei
|
||||||
|
OPPO
|
||||||
|
Apple
|
||||||
|
```
|
||||||
|
**Effect:** News containing **any one** of these words will be captured
|
||||||
|
|
||||||
|
##### 2. **Required Words** `+word` - Scope Limiting
|
||||||
|
```txt
|
||||||
|
Huawei
|
||||||
|
OPPO
|
||||||
|
+phone
|
||||||
|
```
|
||||||
|
**Effect:** Must include both normal word **and** required word to be captured
|
||||||
|
|
||||||
|
##### 3. **Filter Words** `!word` - Noise Exclusion
|
||||||
|
```txt
|
||||||
|
Apple
|
||||||
|
Huawei
|
||||||
|
!fruit
|
||||||
|
!price
|
||||||
|
```
|
||||||
|
**Effect:** News containing filter words will be **excluded**, even if it contains keywords
|
||||||
|
|
||||||
|
#### 🔗 Group Feature - Importance of Empty Lines
|
||||||
|
|
||||||
|
**Core Rule:** Use **empty lines** to separate different groups, each group is independently counted
|
||||||
|
|
||||||
|
##### Example Configuration:
|
||||||
|
```txt
|
||||||
|
iPhone
|
||||||
|
Huawei
|
||||||
|
OPPO
|
||||||
|
+launch
|
||||||
|
|
||||||
|
A-shares
|
||||||
|
Shanghai Index
|
||||||
|
Shenzhen Index
|
||||||
|
+fluctuation
|
||||||
|
!prediction
|
||||||
|
|
||||||
|
World Cup
|
||||||
|
Euro Cup
|
||||||
|
Asian Cup
|
||||||
|
+match
|
||||||
|
```
|
||||||
|
|
||||||
|
##### Group Explanation and Matching Effects:
|
||||||
|
|
||||||
|
**Group 1 - Phone Launches:**
|
||||||
|
- Keywords: iPhone, Huawei, OPPO
|
||||||
|
- Required: launch
|
||||||
|
- Effect: Must include phone brand name and "launch"
|
||||||
|
|
||||||
|
**Matching Examples:**
|
||||||
|
- ✅ "iPhone 15 officially launched with pricing" ← Has "iPhone" + "launch"
|
||||||
|
- ✅ "Huawei Mate60 series launch livestream" ← Has "Huawei" + "launch"
|
||||||
|
- ✅ "OPPO Find X7 launch date confirmed" ← Has "OPPO" + "launch"
|
||||||
|
- ❌ "iPhone sales hit record high" ← Has "iPhone" but missing "launch"
|
||||||
|
|
||||||
|
**Group 2 - Stock Market:**
|
||||||
|
- Keywords: A-shares, Shanghai Index, Shenzhen Index
|
||||||
|
- Required: fluctuation
|
||||||
|
- Filter: prediction
|
||||||
|
- Effect: Include stock-related words and "fluctuation", but exclude "prediction"
|
||||||
|
|
||||||
|
**Matching Examples:**
|
||||||
|
- ✅ "A-shares major fluctuation analysis today" ← Has "A-shares" + "fluctuation"
|
||||||
|
- ✅ "Shanghai Index fluctuation reasons explained" ← Has "Shanghai Index" + "fluctuation"
|
||||||
|
- ❌ "Experts predict A-shares fluctuation trends" ← Has "A-shares" + "fluctuation" but contains "prediction"
|
||||||
|
- ❌ "A-shares trading volume hits new high" ← Has "A-shares" but missing "fluctuation"
|
||||||
|
|
||||||
|
**Group 3 - Football Events:**
|
||||||
|
- Keywords: World Cup, Euro Cup, Asian Cup
|
||||||
|
- Required: match
|
||||||
|
- Effect: Must include cup name and "match"
|
||||||
|
|
||||||
|
**Matching Examples:**
|
||||||
|
- ✅ "World Cup group stage match results" ← Has "World Cup" + "match"
|
||||||
|
- ✅ "Euro Cup final match time" ← Has "Euro Cup" + "match"
|
||||||
|
- ❌ "World Cup tickets on sale" ← Has "World Cup" but missing "match"
|
||||||
|
|
||||||
|
#### 🎯 Configuration Tips
|
||||||
|
|
||||||
|
##### 1. **From Broad to Strict Strategy**
|
||||||
|
```txt
|
||||||
|
# Step 1: Start with broad keywords for testing
|
||||||
|
Artificial Intelligence
|
||||||
|
AI
|
||||||
|
ChatGPT
|
||||||
|
|
||||||
|
# Step 2: After finding mismatches, add required words
|
||||||
|
Artificial Intelligence
|
||||||
|
AI
|
||||||
|
ChatGPT
|
||||||
|
+technology
|
||||||
|
|
||||||
|
# Step 3: After finding noise, add filter words
|
||||||
|
Artificial Intelligence
|
||||||
|
AI
|
||||||
|
ChatGPT
|
||||||
|
+technology
|
||||||
|
!advertisement
|
||||||
|
!training
|
||||||
|
```
|
||||||
|
|
||||||
|
##### 2. **Avoid Over-Complexity**
|
||||||
|
❌ **Not Recommended:** Too many words in one group
|
||||||
|
```txt
|
||||||
|
Huawei
|
||||||
|
OPPO
|
||||||
|
Apple
|
||||||
|
Samsung
|
||||||
|
vivo
|
||||||
|
OnePlus
|
||||||
|
Meizu
|
||||||
|
+phone
|
||||||
|
+launch
|
||||||
|
+sales
|
||||||
|
!fake
|
||||||
|
!repair
|
||||||
|
!second-hand
|
||||||
|
```
|
||||||
|
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD> **Recommended:** Split into precise groups
|
||||||
|
```txt
|
||||||
|
Huawei
|
||||||
|
OPPO
|
||||||
|
+new product
|
||||||
|
|
||||||
|
Apple
|
||||||
|
Samsung
|
||||||
|
+launch
|
||||||
|
|
||||||
|
phone
|
||||||
|
sales
|
||||||
|
+market
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
### 3. Push Mode Details
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>👉 Click to expand: <strong>Three Push Modes Detailed Comparison</strong></summary>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
#### Detailed Comparison Table
|
||||||
|
|
||||||
|
| Mode | Target Users | Push Timing | Display Content | Typical Use Case |
|
||||||
|
|------|----------|----------|----------|--------------|
|
||||||
|
| **Daily Summary**<br/>`daily` | 📋 Managers/Regular Users | Scheduled push (default hourly) | All matched news of the day<br/>+ New news section | **Example**: Check all important news of the day at 6 PM<br/>**Feature**: See full-day trend, don't miss any hot topic<br/>**Note**: Will include previously pushed news |
|
||||||
|
| **Current Rankings**<br/>`current` | 📰 Content Creators | Scheduled push (default hourly) | Current ranking matches<br/>+ New news section | **Example**: Track "which topics are hottest now" hourly<br/>**Feature**: Real-time understanding of current popularity ranking changes<br/>**Note**: Continuously ranked news appear each time |
|
||||||
|
| **Incremental Monitor**<br/>`incremental` | 📈 Traders/Investors | Push only when new | Newly appeared frequency word matches | **Example**: Monitor "Tesla", only notify when new news appears<br/>**Feature**: Zero duplication, only see first-time news<br/>**Suitable for**: High-frequency monitoring, avoid information disturbance |
|
||||||
|
|
||||||
|
#### Actual Push Effect Example
|
||||||
|
|
||||||
|
Assume you monitor "Apple" keyword, execute once per hour:
|
||||||
|
|
||||||
|
| Time | daily Mode Push | current Mode Push | incremental Mode Push |
|
||||||
|
|-----|--------------|----------------|-------------------|
|
||||||
|
| 10:00 | News A, News B | News A, News B | News A, News B |
|
||||||
|
| 11:00 | News A, News B, News C | News B, News C, News D | **Only** News C |
|
||||||
|
| 12:00 | News A, News B, News C | News C, News D, News E | **Only** News D, News E |
|
||||||
|
|
||||||
|
**Explanation**:
|
||||||
|
- `daily`: Cumulative display of all news of the day (A, B, C all retained)
|
||||||
|
- `current`: Display current ranking news (ranking changed, News D on list, News A off list)
|
||||||
|
- `incremental`: **Only push newly appeared news** (avoid duplicate disturbance)
|
||||||
|
|
||||||
|
#### Common Questions
|
||||||
|
|
||||||
|
> **💡 Encountered this problem?** 👉 "Execute once per hour, news output in first execution still appears in next hour execution"
|
||||||
|
> - **Reason**: You might have selected `daily` (Daily Summary) or `current` (Current Rankings) mode
|
||||||
|
> - **Solution**: Change to `incremental` (Incremental Monitor) mode, only push new content
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
### 4. Advanced Configuration - Hotspot Weight Adjustment
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>👉 Click to expand: <strong>Hotspot Weight Adjustment</strong></summary>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
Current default configuration is balanced.
|
||||||
|
|
||||||
|
#### Two Core Scenarios
|
||||||
|
|
||||||
|
**Real-Time Trending Type**:
|
||||||
|
```yaml
|
||||||
|
weight:
|
||||||
|
rank_weight: 0.8 # Mainly focus on ranking
|
||||||
|
frequency_weight: 0.1 # Less concern about continuity
|
||||||
|
hotness_weight: 0.1
|
||||||
|
```
|
||||||
|
**Target Users**: Content creators, marketers, users wanting to quickly understand current hot topics
|
||||||
|
|
||||||
|
**In-Depth Topic Type**:
|
||||||
|
```yaml
|
||||||
|
weight:
|
||||||
|
rank_weight: 0.4 # Moderate ranking focus
|
||||||
|
frequency_weight: 0.5 # Emphasize sustained heat within the day
|
||||||
|
hotness_weight: 0.1
|
||||||
|
```
|
||||||
|
**Target Users**: Investors, researchers, journalists, users needing deep trend analysis
|
||||||
|
|
||||||
|
#### Adjustment Method
|
||||||
|
1. **Three numbers must sum to 1.0**
|
||||||
|
2. **Increase what's important**: Increase rank_weight for rankings, frequency_weight for continuity
|
||||||
|
3. **Suggest adjusting 0.1-0.2 at a time**, observe effects
|
||||||
|
|
||||||
|
Core idea: Users pursuing speed and timeliness increase ranking weight, users pursuing depth and stability increase frequency weight.
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
### 5. Push Format Reference
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>👉 Click to expand: <strong>Push Format Explanation</strong></summary>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
#### Push Example
|
||||||
|
|
||||||
|
📊 Trending Keywords Stats
|
||||||
|
|
||||||
|
🔥 [1/3] AI ChatGPT : 2 items
|
||||||
|
|
||||||
|
1. [Baidu Hot] 🆕 ChatGPT-5 officially launched [**1**] - 09:15 (1 time)
|
||||||
|
|
||||||
|
2. [Toutiao] AI chip concept stocks surge [**3**] - [08:30 ~ 10:45] (3 times)
|
||||||
|
|
||||||
|
━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
📈 [2/3] BYD Tesla : 2 items
|
||||||
|
|
||||||
|
1. [Weibo] 🆕 BYD monthly sales break record [**2**] - 10:20 (1 time)
|
||||||
|
|
||||||
|
2. [Douyin] Tesla price reduction promotion [**4**] - [07:45 ~ 09:15] (2 times)
|
||||||
|
|
||||||
|
━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
📌 [3/3] A-shares Stock Market : 1 item
|
||||||
|
|
||||||
|
1. [Wallstreetcn] A-shares midday review [**5**] - [11:30 ~ 12:00] (2 times)
|
||||||
|
|
||||||
|
🆕 New Trending News (Total 2 items)
|
||||||
|
|
||||||
|
**Baidu Hot** (1 item):
|
||||||
|
1. ChatGPT-5 officially launched [**1**]
|
||||||
|
|
||||||
|
**Weibo** (1 item):
|
||||||
|
1. BYD monthly sales break record [**2**]
|
||||||
|
|
||||||
|
Updated: 2025-01-15 12:30:15
|
||||||
|
|
||||||
|
#### Message Format Explanation
|
||||||
|
|
||||||
|
| Format Element | Example | Meaning | Description |
|
||||||
|
| ------------- | ------- | -------- | ----------- |
|
||||||
|
| 🔥📈📌 | 🔥 [1/3] AI ChatGPT | Popularity Level | 🔥 High (≥10) 📈 Medium (5-9) 📌 Normal (<5) |
|
||||||
|
| [Number/Total] | [1/3] | Rank Position | Current group rank among all matches |
|
||||||
|
| Keyword Group | AI ChatGPT | Keyword Group | Group from config, title must contain words |
|
||||||
|
| : N items | : 2 items | Match Count | Total news matching this group |
|
||||||
|
| [Platform] | [Baidu Hot] | Source Platform | Platform name of the news |
|
||||||
|
| 🆕 | 🆕 ChatGPT-5 officially launched | New Mark | First appearance in this round |
|
||||||
|
| [**number**] | [**1**] | High Rank | Rank ≤ threshold, bold red display |
|
||||||
|
| [number] | [7] | Normal Rank | Rank > threshold, normal display |
|
||||||
|
| - time | - 09:15 | First Time | Time when news was first discovered |
|
||||||
|
| [time~time] | [08:30 ~ 10:45] | Duration | Time range from first to last appearance |
|
||||||
|
| (N times) | (3 times) | Frequency | Total appearances during monitoring |
|
||||||
|
| **New Section** | 🆕 **New Trending News** | New Topic Summary | Separately shows newly appeared topics |
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
|
||||||
## 🐳 Docker Deployment
|
## 🐳 Docker Deployment
|
||||||
@ -1433,7 +1511,7 @@ docker exec -it trend-radar ls -la /app/config/
|
|||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## 🤖 AI Analysis Deployment
|
## 🤖 AI Analysis
|
||||||
|
|
||||||
TrendRadar v3.0.0 added **MCP (Model Context Protocol)** based AI analysis feature, allowing natural language conversations with news data for deep analysis.
|
TrendRadar v3.0.0 added **MCP (Model Context Protocol)** based AI analysis feature, allowing natural language conversations with news data for deep analysis.
|
||||||
|
|
||||||
@ -1795,6 +1873,7 @@ Currently, major AI model prices are relatively affordable. Welcome to register
|
|||||||
|
|
||||||
- **GitHub Issues**: Suitable for targeted answers. Please provide complete info when asking (screenshots, error logs, system environment, etc.)
|
- **GitHub Issues**: Suitable for targeted answers. Please provide complete info when asking (screenshots, error logs, system environment, etc.)
|
||||||
- **WeChat Official Account**: Suitable for quick consultation. Suggest priority to communicate in public comment area of related articles. If private message, please use polite language 😉
|
- **WeChat Official Account**: Suitable for quick consultation. Suggest priority to communicate in public comment area of related articles. If private message, please use polite language 😉
|
||||||
|
- 💡 Deployment successful? Welcome to leave comments and likes on our official account to share your experience~
|
||||||
|
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user