介绍
# Feeds
RSS 新闻聚合器。从跨新闻、游戏和金融三个类别的精选订阅源中获取所有当前条目。支持并发获取和 JSON 流式输出。无需 API 密钥。
## 限制
当此技能激活时,请勿使用网络搜索、WebFetch、浏览器工具或任何其他 URL 获取工具。RSS 订阅源是唯一的数据来源。不要通过外部搜索来补充、验证或扩展结果。不要抓取文章 URL —— 输出中已包含摘要。
## 类别
根据用户消息检测类别:
- "news", "headlines", "nachrichten", "tech news" → `news` - "finance", "markets", "money", "stocks", "economy" → `finance` - "games", "gaming" → `games`
| 类别 | 订阅源 | 来源 | |----------|-------|---------| | `news` | 21 | Ars Technica, Wired, TechCrunch, The Verge, NYT, Heise, Quanta, Aeon, Nautilus 等 | | `games` | 10 | GameStar, GamesGlobal, PC Gamer, Polygon, Kotaku, IGN, Rock Paper Shotgun, GamesIndustry.biz | | `finance` | 26 | Bloomberg, WSJ, FT, CNBC, MarketWatch, Seeking Alpha, The Economist, Forbes, CoinDesk, Fed, ECB |
订阅源列表定义在 [scripts/lists.py](scripts/lists.py) 中。
## 如何调用
每个类别运行一次调用。如果用户请求多个类别,则运行多次。
```bash python3 scripts/feeds.py --category news python3 scripts/feeds.py --category games python3 scripts/feeds.py --category finance ```
## 输出格式
该脚本流式输出一个 JSON 数组。第一个元素是元数据,其余为条目:
```json [{"category": "news", "total_entries": 142, "sources": ["aeon.co", "arstechnica.com"], "fetched_at": "2026-01-31 22:00:00"} ,{"title": "Headline Here", "url": "https://example.com/article", "source": "arstechnica.com", "date": "Fri, 31 Jan 2026 12:00:00 GMT", "summary": "Brief summary text..."} ] ```
| 字段 | 描述 | |-------|-------------| | `title` | 标题文本 | | `url` | 完整文章链接 | | `source` | 订阅源的域名 | | `date` | 订阅源提供的发布日期 | | `summary` | 简短描述,已去除 HTML,最多 500 个字符 |
## CLI 参考
| 标志 | 描述 | |------|-------------| | `-c, --category` | 订阅源类别:`news`、`games` 或 `finance`(必需)|
## 展示结果
解析输出后,展示结构化、简明的摘要:
1. **按主题分组** —— 将相关故事归类到标题下(例如“科技与产业”、“科学”、“市场”、“加密货币”) 2. **保持精简** —— 每条包含标题 + 单行摘要 + 来源说明 3. **链接到来源** —— 使用 Markdown 链接,以便用户阅读更多内容 4. **去重** —— 如果多个订阅源覆盖同一故事,仅提及一次并注明多来源报道 5. **突出重大故事** —— 如果某故事出现在 3 个或更多来源中,重点标出
示例输出:
``` ### Tech & Industry - **[Headline](url)** — One-line summary *(Source)* - **[Headline](url)** — One-line summary *(Source)*
### Science - **[Headline](url)** — One-line summary *(Source)* ```
## 边缘情况
- 失败或超时的订阅源(15 秒超时)将被静默跳过 —— 其余订阅源仍会返回结果。 - 如果未返回任何条目,脚本将以 `{"error": "No entries found", "category": "..."}` 退出。 - 某些条目可能缺少摘要 —— 但它们仍会有标题、URL 和来源。