technology-news-search
npx skills add https://github.com/netease-youdao/lobsterai --skill technology-news-search
Agent 安装分布
Skill 文档
Technology News Search
Real-time keyword-based search across 75 tech news sources with smart domain routing, automatic network adaptation, domain aliases, heat analysis, and translation.
Overview
This skill searches multiple technology news sources simultaneously, automatically detects technical domains from your keyword (with alias support), routes to relevant sources only, ranks results by “heat score” (based on cross-source appearance, recency, and keyword relevance), and presents them in a clean Markdown format with automatic English-to-Chinese translation.
Total Sources: 75 (18 China + 57 Global, across 9 core technical domains)
Automatic Network Adaptation: The skill silently detects network accessibility and automatically adjusts source selection:
- â Global network accessible: Uses all 75 sources (China + Global)
- ð¨ð³ China-only network: Automatically uses 18 China sources only
- â¡ Completely transparent: Detection is cached for 5 minutes, no user notification needed
News Sources by Domain:
-
General (25 sources):
- ð International: TechCrunch, The Verge, Wired, Ars Technica, MIT Technology Review, VentureBeat, Hacker News
- ð¨ð³ China: 36æ°ª, èå , ITä¹å®¶, æºå¨ä¹å¿, éåä½, éåªä½, æé, InfoQ䏿ç«, 弿ºä¸å½, å客å, SegmentFault, V2EX, æå®¢å ¬å, ç±èå¿, PingWeståç©, å°æ°æ´¾, é·éç½, é¿éäºå¼åè
-
Frontend/Web (14 sources):
- ð Dev.to (React, Vue, Electron, JavaScript, TypeScript), Reddit (r/javascript, r/reactjs, r/vuejs, r/electronjs, r/webdev), Official Blogs (React, Vue, Electron)
- ð¨ð³ æé (frontend)
-
Backend (16 sources):
- ð Dev.to (Python, Go, Node.js, Java, TypeScript), Reddit (r/Python, r/golang, r/node, r/java), Official Blogs (Node.js, Python, Go, Rust)
- ð¨ð³ æé, å客å, é¿éäºå¼åè
- Now includes databases (MySQL, PostgreSQL, MongoDB, Redis)
-
Mobile (4 sources): Reddit (r/androiddev, r/iOSProgramming, r/FlutterDev), Android Developers Blog
-
AI/ML (11 sources):
- ð VentureBeat, Dev.to (AI, Machine Learning), Reddit (r/MachineLearning, r/artificial, r/LocalLLaMA)
- ð¨ð³ æºå¨ä¹å¿, éåä½, é·éç½
-
DevOps (9 sources):
- ð Dev.to (Docker, Kubernetes), Reddit (r/docker, r/kubernetes, r/devops), Official Blogs (Docker, Kubernetes)
- ð¨ð³ é¿éäºå¼åè
- Now includes cloud (AWS, Azure, GCP)
-
Hardware (4 sources): Hackaday, Arduino Blog, Reddit (r/arduino, r/raspberry_pi)
-
Security (4 sources): The Hacker News (security), Krebs on Security, Reddit (r/netsec, r/cybersecurity)
-
OS (1 source): Phoronix
Smart Source Routing
Enhanced with Domain Aliases + Network Adaptation: The skill automatically detects technical domains from your keyword and searches only relevant sources. Network accessibility is detected silently in the background – if global sources are not accessible, the system automatically uses China sources only. Detection result is cached for 5 minutes.
How it works:
- Silently detect network environment (cached for 5 minutes)
- Filter sources by network accessibility (global vs China-only)
- Analyze keyword (supports English and Chinese)
- Detect technical domains (e.g., “Electron” â frontend, “ChatGPT” â AI, “web” â frontend via alias)
- Search relevant sources + general sources
- Rank by heat score and return results
Examples (assuming global network accessible):
- “Electron ææ¯èµè®¯” â Detects:
{general, frontend}â Searches: ~37 sources - “web development” â Detects:
{general, frontend}â Searches: ~37 sources (alias: “web” â frontend) - “åç«¯æ¡æ¶” â Detects:
{general, frontend}â Searches: ~37 sources - “ChatGPT ææ°æ¶æ¯” â Detects:
{general, ai}â Searches: ~30 sources - “ML models” â Detects:
{general, ai}â Searches: ~30 sources (alias: “ML” â ai) - “æºå¨å¦ä¹ ” â Detects:
{general, ai}â Searches: ~30 sources - “Docker å®å
¨æ¼æ´” â Detects:
{general, devops, security}â Searches: ~32 sources - “äºè®¡ç®” â Detects:
{general, devops}â Searches: ~28 sources (alias: “五 â devops) - “database optimization” â Detects:
{general, backend}â Searches: ~35 sources (merged: database â backend) - “è¿ç»´èªå¨å” â Detects:
{general, devops}â Searches: ~28 sources - “æ èæ´¾ IoT” â Detects:
{general, hardware}â Searches: ~23 sources - “OpenAI ChatGPT” â Detects:
{general, ai}â Searches: ~30 sources (company + product keywords) - “ææ¯æ°é»” (generic) â Detects:
{general}â Searches: ~25 general sources only
Network Adaptation (completely transparent to user):
- ð Global accessible: Uses all 75 sources
- ð¨ð³ China-only network: Automatically switches to 18 China sources (æé, InfoQ䏿ç«, 弿ºä¸å½, å客å, SegmentFault, V2EX, 36æ°ª, èå , ITä¹å®¶, æºå¨ä¹å¿, éåä½, éåªä½, æå®¢å ¬å, ç±èå¿, PingWeståç©, å°æ°æ´¾, é·éç½, é¿éäºå¼åè )
- â¡ Fast detection: 3-second timeout with 5-minute cache
- ð Silent operation: No user notification, completely seamless
To disable smart routing and search all available sources (respects network availability):
python3 search_news.py "keyword" --all-sources
Supported Technical Domains
The smart routing system recognizes keywords in these 9 core domains (English and Chinese):
- Frontend/Web: React, Vue, Angular, Electron, JavaScript, TypeScript, Webpack, Vite, Vercel, Netlify, JAMstack, MERN, å端, ç½é¡µ, çé¢
- Backend: Python, Go, Java, Rust, Node.js, Django, Flask, Spring, MySQL, PostgreSQL, MongoDB, Redis (databases merged), LAMP, LEMP, å端, æå¡å¨, API, æ°æ®åº, åå¨
- Mobile: Android, iOS, Flutter, React Native, Swift, Kotlin, ç§»å¨å¼å, ææº, App
- AI/ML: AI, ChatGPT, LLM, OpenAI, Anthropic, Google AI, DeepMind, Machine Learning, PyTorch, TensorFlow, Copilot, 人工æºè½, æºå¨å¦ä¹ , 大模å, ç¾åº¦, é¿é
- DevOps: Docker, Kubernetes, CI/CD, Jenkins, Terraform, Ansible, AWS, Azure, GCP, Cloud Computing (cloud merged), HashiCorp, è¿ç»´, é¨ç½², äºè®¡ç®, äºæå¡, é¿éäº, è ¾è®¯äº
- Hardware: Arduino, Raspberry Pi, IoT, ESP32, 硬件, ç©èç½, åµå ¥å¼
- Security: Security, Vulnerability, CVE, Exploit, Encryption, å®å ¨, æ¼æ´, ç½ç»å®å ¨, ä¿¡æ¯å®å ¨
- OS: Linux, Windows, macOS, Kernel, Ubuntu, æä½ç³»ç», å æ ¸, ç³»ç»
- Blockchain: Ethereum, Bitcoin, Web3, Smart Contract, Solana, DeFi, NFT, åºåé¾, å å¯è´§å¸, æ¯ç¹å¸, 以太å
Domain Aliases (auto-resolved):
- “web”, “ç½ç«” â Frontend
- “database”, “db”, “æ°æ®åº”, “å娔 â Backend
- “cloud”, “五, “äºæå¡” â DevOps
- “ML”, “machine-learning”, “æ°æ®ç§å¦” â AI
- “ops”, “SRE”, “infrastructure” â DevOps
- “fe” â Frontend
- “be”, “server”, “æå¡ç«¯” â Backend
- “IoT”, “embedded” â Hardware
- “infosec”, “cybersecurity”, “ä¿¡æ¯å®å ¨” â Security
Quick Start
When user asks: “Search for Electron tech news” or “æç´¢ Electron ææ¯èµè®¯”
Execute:
# macOS/Linux
cd scripts
python3 search_news.py "Electron" --limit 15
# Windows
cd scripts
python search_news.py "Electron" --limit 15
The script will:
- Detect domains:
{general, frontend} - Search 26 relevant sources (13 general + 13 frontend)
- Output JSON with articles ranked by heat score
Read the JSON and present results in Markdown format with translations.
Workflow
-
Extract keyword from user query
- English examples: “Search for OpenAI news”, “Find articles about ChatGPT”
- Chinese examples: “æç´¢ è¹æ çç§ææ°é»”, “æ¥æ¾ AI ç¸å ³èµè®¯”
-
Run search script
# macOS/Linux (with smart routing) cd scripts python3 search_news.py "[keyword]" --limit 15 --max-per-source 5 # To search all sources (disable smart routing) python3 search_news.py "[keyword]" --limit 15 --all-sources # Windows cd scripts python search_news.py "[keyword]" --limit 15 --max-per-source 5Parameters:
--limit 15: Fetch up to 15 articles from each source--max-per-source 5: Display max 5 articles per source (ensures diversity)--no-balance: Disable balancing (show all results sorted by heat)--all-sources: Search all 63 sources (disable smart routing)
-
Read JSON output
- Script outputs to stdout
- Contains: keyword, total_found, search_time, results array
- Each result has: title, summary, url, published_at, source, language, heat_score, duplicate_sources
-
Translate English content
- For articles with
language: "en", translate title and summary to Chinese - Keep technical terms in English (AI, GPT, API, SDK, etc.)
- Format:
English Title / ä¸æç¿»è¯
- For articles with
-
Format results by heat tier
- ð¥ Hot News (90+): Top stories appearing on multiple sources or very recent
- ð Trending (60-89): Moderately popular or recent stories
- ð° Related (<60): Other relevant matches
-
Present as Markdown
- See Output Format section below
Source Balancing
Default behavior: The script limits each source to 5 articles to ensure diversity across different news sources.
Why balancing matters:
- Prevents single sources (like Hacker News) from dominating results
- Ensures exposure to different editorial perspectives
- Provides better coverage across international and Chinese sources
Customization:
# Show more articles per source
python3 search_news.py "AI" --max-per-source 10
# Disable balancing (show all by heat score only)
python3 search_news.py "AI" --no-balance
How it works:
- Fetch articles from all sources (up to
--limitper source) - Calculate heat scores for all articles
- Sort by heat score (highest first)
- Apply diversity filter: keep top
--max-per-sourcefrom each source - Result: Balanced mix of high-quality articles from diverse sources
Output Format
Present search results in this Markdown format:
# ð "[Keyword]" Technology News
> ð Found 12 articles from 7 sources
> ð Search time: 2026-02-18 14:30
---
## ð¥ Hot News (Heat 90+)
### 1. OpenAI Announces GPT-5 Release Date / OpenAI å®£å¸ GPT-5 å叿¥æ
**Source**: TechCrunch | **Published**: 2h ago | **Heat**: âââââ (95)
**Summary**: OpenAI CEO Sam Altman revealed that GPT-5 will launch in Q2 2026... / OpenAI CEO Sam Altman éé² GPT-5 å°å¨ 2026 年第äºå£åº¦æ¨åº...
ð [Read more](https://techcrunch.com/2026/02/18/openai-gpt5)
*ð¡ Also on: The Verge, Wired, MIT Tech Review*
---
### 2. GPT-5 æ§è½æµè¯æå
ï¼è¶
è¶äººç±»ä¸å®¶æ°´å¹³
**Source**: æºå¨ä¹å¿ | **Published**: 5h ago | **Heat**: ââââ (88)
**Summary**: æ®å¯é æ¶æ¯æºéé²ï¼GPT-5 å¨å¤é¡¹åºåæµè¯ä¸å·²è¶
è¶äººç±»ä¸å®¶æ°´å¹³...
ð [Read more](https://jiqizhixin.com/articles/2026-02-18-gpt5)
---
## ð Trending News (Heat 60-89)
### 3. [Title] / [Translation]
...
## ð° Related News (Heat <60)
### 10. [Title]
...
Format Notes:
- Group by heat score tiers (Hot 90+, Trending 60-89, Related <60)
- Always translate English content to Chinese
- Include source attribution and publish time
- Show duplicate sources with “Also on: …” line
- Use star ratings for heat visualization (5 stars = 90-100, 4 stars = 70-89, etc.)
- Provide clickable links to original articles
Source Configuration
Sources are configured in references/sources.json.
To enable/disable sources: Edit the JSON file and set "enabled": true/false.
To add new sources: Add entry to sources array with required fields (id, name, url, type, language, category).
The heat score (0-100) combines multiple factors:
- Multi-source bonus: +20 per duplicate source (same story on multiple sites)
- Time decay:
- 24h or less: +40 points (very fresh)
- 24-48h: +28 points (recent)
- 48-72h: +16 points (somewhat recent)
- 72h+: +8 points (older)
- Keyword match quality:
- Exact title match: +30
- Partial title match: +15
- Summary match: +5
- HN engagement: +1 per 10 points (max +20)
- Reddit engagement: +1 per 10 upvotes (max +20, NEW)
- Official source bonus: +10 (for official blogs, NEW)
- Base score: 20
Articles appearing on multiple sources rank higher, indicating broader industry interest. Official blog posts from React, Vue, Docker, etc. get priority. Reddit posts with high upvotes get boosted.
Notes
- Always translate: English titles and summaries should have Chinese translations
- Preserve technical terms: Keep AI, GPT, API, SDK, LLM, etc. in English
- Clean presentation: Use Markdown only, no complex HTML artifacts
- Cross-reference duplicates: Show which sources covered the same story
- Keyword matching: Script searches in both titles and summaries across all languages
Troubleshooting
No results found:
- Try broader keywords (e.g., “AI” instead of “GPT-5 benchmarks”)
- Check if sources are accessible (firewall/network issues)
- Verify sources are enabled in references/sources.json
Script errors:
- Ensure Python 3.6+ is installed (
python3 --versionon macOS/Linux,python --versionon Windows) - Check network connectivity
- Review stderr output for specific error messages
- Some sources may be temporarily unavailable
Windows-specific notes:
- Use
pythoninstead ofpython3in commands - Some Chinese sources may have encoding issues if system locale is not UTF-8 (already handled in code)
Slow performance:
- Reduce
--limitparameter (default is 15) - Disable some sources in references/sources.json
- Network speed affects RSS fetching time