Fetch real-time trending news from multiple sources.
Supported Data Sources
| Data Source | Identifier | Type |
|---|---|---|
| Hacker News | hackernews |
Tech/Startups |
| Weibo Hot Searches | weibo |
Society/Entertainment |
| GitHub Trending | github |
Open Source Projects |
| 36Kr | 36kr |
Tech/Business |
| Product Hunt | producthunt |
Product Launches |
| V2EX | v2ex |
Tech Community |
| Tencent News | tencent |
General News |
| Wallstreetcn | wallstreetcn |
Finance |
Tool Usage
Basic Commands
uv run --directory .agents/skills/news-aggregator-skill python scripts/fetch_news.py [参数]
Parameter Description
-
--source <源>: Specify data sources- Single source:
hackernews,weibo,github,36kr,producthunt,v2ex,tencent,wallstreetcn - Multiple sources (comma-separated):
hackernews,github,producthunt - All sources:
all
- Single source:
-
--limit <数量>: Maximum number of items returned per source (default: 10) -
--keyword <关键词>: Keyword filtering (comma-separated)- Example:
"AI,LLM,GPT" - Case-insensitive, supports word boundary matching
- Example:
-
--deep: Enable deep fetching- Download and extract article body content (truncated to first 3000 characters)
- Concurrent fetching to improve speed
- Results will include the
contentfield
Output Format
JSON array, each item contains:
source: Source nametitle: Titleurl: Linkheat: Popularity metric (points, reply count, star count, etc.)time: Time informationcontent: Article content (only when using--deepwhen)
Usage Strategy
1. Global Scan (Broad Fetching)
Use cases: daily news roundup, comprehensive understanding of developments across fields
# 从所有源获取,每源 15 条,启用深度抓取
uv run --directory .agents/skills/news-aggregator-skill python scripts/fetch_news.py --source all --limit 15 --deep
Note: A global scan returns about 120 items of data, and you need to perform semantic filtering and categorization based on user interests.
2. Single Data Source
Use cases: focus on a specific platform or field
# Hacker News 前 10 条
uv run --directory .agents/skills/news-aggregator-skill python scripts/fetch_news.py --source hackernews --limit 10 --deep
# GitHub Trending 前 15 条
uv run --directory .agents/skills/news-aggregator-skill python scripts/fetch_news.py --source github --limit 15 --deep
3. Keyword Search (Smart Expansion)
Key Rule: Automatically expand user keywords to cover the entire field
- User says "AI" → Use:
"AI,LLM,GPT,Claude,DeepSeek,Gemini,机器学习,RAG,Agent,大模型" - User says "frontend" → Use:
"前端,React,Vue,Next.js,TypeScript,JavaScript,CSS,Vite" - User says "finance" → Use:
"金融,股票,市场,经济,加密货币,比特币,黄金,A股"
# 示例:用户问 "有什么 AI 相关的新闻"
uv run --directory .agents/skills/news-aggregator-skill python scripts/fetch_news.py \
--source hackernews,github,36kr \
--limit 20 \
--keyword "AI,LLM,GPT,Claude,DeepSeek,Agent,大模型" \
--deep
4. Precise Search
Only for very specific proper nouns
# 搜索 "DeepSeek" 相关新闻
uv run --directory .agents/skills/news-aggregator-skill python scripts/fetch_news.py --source all --limit 10 --keyword "DeepSeek" --deep
Output Specifications
Report Format Requirements
Language and Style:
- Use Simplified Chinese
- Adopt a magazine/newsletter style (such as The Economist or Morning Brew)
- Professional, concise, engaging
Report Structure:
-
Front Page Headlines(3-5 items)
- The most important news across fields
-
Tech and AI
- A dedicated section for AI, LLM, and technology-related content
-
Finance/Society
- Other important categories (based on relevance)
Single news item format:
### 序号. [标题文本](原始URL)
**来源**:<数据源> | **时间**:<时间信息> | **热度**:<热度指标>
**核心要点**:一句话概括"所以呢?"
**深度解读**:
- 要点 1:为什么重要
- 要点 2:技术细节或背景
- 要点 3:影响和启示
Key rules:
- ✅ The title must be a Markdown link:
[OpenAI 发布 GPT-5](https://...) - ❌ Plain-text titles are prohibited:
OpenAI 发布 GPT-5 - The metadata line must include: source, time, popularity
- During deep scanning, 2-3 interpretation points must be provided
Time filtering and smart supplementation
When the user specifies a time window (such as "past X hours") and results are scarce (< 5 items):
- Prioritize the user's window: first list items that strictly meet the time requirement
- Smart supplementation: if the list is too short, high-value/high-popularity items from a broader range must be included (such as the past 24 hours)
- Clearly label: clearly mark supplemented items (such as "⚠️ 18h ago", "🔥 24h popular")
- Value first: even if slightly outside the time window, prioritize showing SOTA, major releases, or high-popularity content
GitHub Trending special case:
- Strictly return valid items from the scraped list (such as Top 10)
- List all scraped items
- Do not performsmart supplementation
- Mustconduct an in-depth analysis of each project:
- Core value: What problem does it solve? Why is it popular?
- Inspired thinking: technical or product insights
- Scenario tags: 3-5 keywords (such as
#RAG #本地优先 #Rust)
Output file
- Save location: the
reports/folder in the workspace root directory - File naming: with timestamp (such as
hn_news_20260131_1430.md) - Full path example:
/Users/dio/Documents/new_vault/reports/tech_news_20260131_1430.md - User display: present the full report content in the chat
Interactive menu
When the user says "news-aggregator-skill As You Wish"(or a similar "menu/help" trigger word):
- Read the
templates.mdfile in the skill directory - Show the user the list of available commands in the file
- Guide the user to select a number or copy a command to execute