### Single Source (Limit 10)
```bash
### Global Scan (Option 12) - **Broad Fetch Strategy**
> **NOTE**: This strategy is specifically for the "Global Scan" scenario where we want to catch all trends.
# 1. Fetch broadly (Massive pool for Semantic Filtering)
python3 scripts/fetch_news.py --source all --limit 15 --deep
# 2. SEMANTIC FILTERING:
# Agent manually filters the broad list (approx 120 items) for user's topics.
</code></pre>
<h3>Single Source & Combinations (Smart Keyword Expansion)</h3>
<p><strong>CRITICAL</strong>: You MUST automatically expand the user's simple keywords to cover the entire domain field.</p>
<ul>
<li>User: "AI" -> Agent uses: <code>--keyword "AI,LLM,GPT,Claude,Generative,Machine Learning,RAG,Agent"</code></li>
<li>User: "Android" -> Agent uses: <code>--keyword "Android,Kotlin,Google,Mobile,App"</code></li>
<li>User: "Finance" -> Agent uses: <code>--keyword "Finance,Stock,Market,Economy,Crypto,Gold"</code></li>
</ul>
<pre><code class="language-bash"># Example: User asked for "AI news from HN" (Note the expanded keywords)
python3 scripts/fetch_news.py --source hackernews --limit 20 --keyword "AI,LLM,GPT,DeepSeek,Agent" --deep
</code></pre>
<h3>Specific Keyword Search</h3>
<p>Only use <code>--keyword</code> for very specific, unique terms (e.g., "DeepSeek", "OpenAI").</p>
<pre><code class="language-bash">python3 scripts/fetch_news.py --source all --limit 10 --keyword "DeepSeek" --deep
</code></pre>
<p><strong>Arguments:</strong></p>
<ul>
<li><code>--source</code>: One of <code>hackernews</code>, <code>weibo</code>, <code>github</code>, <code>36kr</code>, <code>producthunt</code>, <code>v2ex</code>, <code>tencent</code>, <code>wallstreetcn</code>, <code>all</code>.</li>
<li><code>--limit</code>: Max items per source (default 10).</li>
<li><code>--keyword</code>: Comma-separated filters (e.g. "AI,GPT").</li>
<li><code>--deep</code>: <strong>[NEW]</strong> Enable deep fetching. Downloads and extracts the main text content of the articles.</li>
</ul>
<p><strong>Output:</strong>
JSON array. If <code>--deep</code> is used, items will contain a <code>content</code> field associated with the article text.</p>
<h2>Interactive Menu</h2>
<p>When the user says <strong>"news-aggregator-skill 如意如意"</strong> (or similar "menu/help" triggers):</p>
<ol>
<li><strong>READ</strong> the content of <code>templates.md</code> in the skill directory.</li>
<li><strong>DISPLAY</strong> the list of available commands to the user exactly as they appear in the file.</li>
<li><strong>GUIDE</strong> the user to select a number or copy the command to execute.</li>
</ol>
<h3>Smart Time Filtering & Reporting (CRITICAL)</h3>
<p>If the user requests a specific time window (e.g., "past X hours") and the results are sparse (< 5 items):</p>
<ol>
<li><strong>Prioritize User Window</strong>: First, list all items that strictly fall within the user's requested time (Time < X).</li>
<li><strong>Smart Fill</strong>: If the list is short, you MUST include high-value/high-heat items from a wider range (e.g. past 24h) to ensure the report provides at least 5 meaningful insights.</li>
<li><strong>Annotation</strong>: Clearly mark these older items (e.g., "⚠️ 18h ago", "🔥 24h Hot") so the user knows they are supplementary.</li>
<li><strong>High Value</strong>: Always prioritize "SOTA", "Major Release", or "High Heat" items even if they slightly exceed the time window.</li>
<li><strong>GitHub Trending Exception</strong>: For purely list-based sources like <strong>GitHub Trending</strong>, strictly return the valid items from the fetched list (e.g. Top 10). <strong>List ALL fetched items</strong>. Do <strong>NOT</strong> perform "Smart Fill".<!-- -->
<ul>
<li><strong>Deep Analysis (Required)</strong>: For EACH item, you <strong>MUST</strong> leverage your AI capabilities to analyze:<!-- -->
<ul>
<li><strong>Core Value (核心价值)</strong>: What specific problem does it solve? Why is it trending?</li>
<li><strong>Inspiration (启发思考)</strong>: What technical or product insights can be drawn?</li>
<li><strong>Scenarios (场景标签)</strong>: 3-5 keywords (e.g. <code>#RAG #LocalFirst #Rust</code>).</li>
</ul>
</li>
</ul>
</li>
</ol>
<h3>6. Response Guidelines (CRITICAL)</h3>
<p><strong>Format & Style:</strong></p>
<ul>
<li><strong>Language</strong>: Simplified Chinese (简体中文).</li>
<li><strong>Style</strong>: Magazine/Newsletter style (e.g., "The Economist" or "Morning Brew" vibe). Professional, concise, yet engaging.</li>
<li><strong>Structure</strong>:<!-- -->
<ul>
<li><strong>Global Headlines</strong>: Top 3-5 most critical stories across all domains.</li>
<li><strong>Tech & AI</strong>: Specific section for AI, LLM, and Tech items.</li>
<li><strong>Finance / Social</strong>: Other strong categories if relevant.</li>
</ul>
</li>
<li><strong>Item Format</strong>:<!-- -->
<ul>
<li><strong>Title</strong>: <strong>MUST be a Markdown Link</strong> to the original URL.<!-- -->
<ul>
<li>✅ Correct: <code>### 1. [OpenAI Releases GPT-5](https://...)</code></li>
<li>❌ Incorrect: <code>### 1. OpenAI Releases GPT-5</code></li>
</ul>
</li>
<li><strong>Metadata Line</strong>: Must include Source, <strong>Time/Date</strong>, and Heat/Score.</li>
<li><strong>1-Liner Summary</strong>: A punchy, "so what?" summary.</li>
<li><strong>Deep Interpretation (Bulleted)</strong>: 2-3 bullet points explaining <em>why</em> this matters, technical details, or context. (Required for "Deep Scan").</li>
</ul>
</li>
</ul>
<p><strong>Output Artifact:</strong></p>
<ul>
<li>Always save the full report to <code>reports/</code> directory with a timestamped filename (e.g., <code>reports/hn_news_YYYYMMDD_HHMM.md</code>).</li>
<li>Present the full report content to the user in the chat.</li>
</ul>