- 新增常驻调度器 daily/scheduler.py + run-scheduler.ps1(定时生成/推送) - 新增 daily/bridge_manager.py:Windows 兼容的 Cursor SDK 桥接 - 新增 skills/daily-featured-pick 首推 Skill 与叙事轴/去重逻辑 - 新闻抓取窗口、GitHub 搜索、企微 delta 模式等多项改进 - 补充设计文档与 superpowers 计划/规范 - 新增对应测试(scheduler、featured_pick、github_search、news_fetch_window 等) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
126 lines
4.7 KiB
Python
126 lines
4.7 KiB
Python
"""国际 AI 时讯 RSS 源定义(按类别分组)。"""
|
||
|
||
from __future__ import annotations
|
||
|
||
from dataclasses import dataclass
|
||
|
||
|
||
@dataclass(frozen=True)
|
||
class NewsFeed:
|
||
name: str
|
||
url: str
|
||
slow: bool = False # 限速源(如 Reddit)串行抓取
|
||
ai_filter: bool = False # 综合源仅保留标题命中 AI 关键词的条目
|
||
|
||
|
||
@dataclass(frozen=True)
|
||
class NewsCategory:
|
||
id: str
|
||
name: str
|
||
icon: str
|
||
feeds: tuple[NewsFeed, ...]
|
||
|
||
|
||
NEWS_CATEGORIES: tuple[NewsCategory, ...] = (
|
||
NewsCategory(
|
||
id="official",
|
||
name="厂商官方",
|
||
icon="🏢",
|
||
feeds=(
|
||
NewsFeed("Anthropic Claude 更新", "https://platform.claude.com/docs/en/release-notes/overview"),
|
||
NewsFeed("OpenAI", "https://openai.com/news/rss.xml"),
|
||
NewsFeed("Google AI", "https://blog.google/technology/ai/rss/"),
|
||
NewsFeed("DeepMind", "https://deepmind.google/blog/rss.xml"),
|
||
NewsFeed("Meta Engineering", "https://engineering.fb.com/feed/"),
|
||
NewsFeed("Microsoft Research", "https://www.microsoft.com/en-us/research/feed/"),
|
||
NewsFeed("Microsoft Blog", "https://blogs.microsoft.com/feed/"),
|
||
NewsFeed("Cohere", "https://cohere.com/blog/rss.xml"),
|
||
NewsFeed("Cursor Changelog", "https://cursor.com/changelog/rss.xml"),
|
||
),
|
||
),
|
||
NewsCategory(
|
||
id="developer",
|
||
name="Agent / LLM 开发者",
|
||
icon="🛠",
|
||
feeds=(
|
||
NewsFeed("LangChain", "https://blog.langchain.dev/rss/"),
|
||
NewsFeed("Hugging Face", "https://huggingface.co/blog/feed.xml"),
|
||
NewsFeed("Vercel Changelog", "https://vercel.com/changelog/rss.xml"),
|
||
NewsFeed("GitHub Copilot", "https://github.blog/changelog/label/copilot/feed/"),
|
||
),
|
||
),
|
||
NewsCategory(
|
||
id="media",
|
||
name="综合科技媒体",
|
||
icon="📰",
|
||
feeds=(
|
||
NewsFeed("The Verge AI", "https://www.theverge.com/rss/ai-artificial-intelligence/index.xml"),
|
||
NewsFeed("TechCrunch AI", "https://techcrunch.com/category/artificial-intelligence/feed/"),
|
||
NewsFeed("Ars Technica AI", "https://arstechnica.com/ai/feed/"),
|
||
NewsFeed("Wired AI", "https://www.wired.com/feed/tag/ai/latest/rss"),
|
||
NewsFeed("MIT Tech Review", "https://www.technologyreview.com/feed/"),
|
||
NewsFeed("VentureBeat AI", "https://venturebeat.com/category/ai/feed/"),
|
||
),
|
||
),
|
||
NewsCategory(
|
||
id="newsletter",
|
||
name="Newsletter 日报",
|
||
icon="✉️",
|
||
feeds=(
|
||
NewsFeed("Ben's Bites", "https://bensbites.substack.com/feed"),
|
||
NewsFeed("The Rundown AI", "https://therundown.substack.com/feed"),
|
||
NewsFeed("Latent Space", "https://www.latent.space/feed"),
|
||
NewsFeed("Simon Willison", "https://simonwillison.net/atom/everything/"),
|
||
NewsFeed("Import AI", "https://importai.substack.com/feed"),
|
||
NewsFeed("Last Week in AI", "https://lastweekin.ai/feed"),
|
||
NewsFeed("The Neuron", "https://www.theneuron.ai/feed"),
|
||
),
|
||
),
|
||
NewsCategory(
|
||
id="research",
|
||
name="研究 / 论文",
|
||
icon="📚",
|
||
feeds=(
|
||
NewsFeed("arXiv cs.CL", "https://arxiv.org/rss/cs.CL"),
|
||
NewsFeed("arXiv cs.AI", "https://arxiv.org/rss/cs.AI"),
|
||
NewsFeed("arXiv cs.LG", "https://arxiv.org/rss/cs.LG"),
|
||
),
|
||
),
|
||
NewsCategory(
|
||
id="trending",
|
||
name="热点 / 趋势",
|
||
icon="🔥",
|
||
feeds=(
|
||
NewsFeed(
|
||
"Google News · AI",
|
||
"https://news.google.com/rss/search?q=artificial+intelligence+OR+LLM+OR+Claude+OR+GPT&hl=en-US&gl=US&ceid=US:en",
|
||
),
|
||
NewsFeed(
|
||
"Google News · Technology",
|
||
"https://news.google.com/rss/headlines/section/topic/TECHNOLOGY?hl=en-US&gl=US&ceid=US:en",
|
||
),
|
||
NewsFeed("Techmeme", "https://www.techmeme.com/feed.xml"),
|
||
NewsFeed("HN · Front Page", "https://hnrss.org/frontpage"),
|
||
NewsFeed("HN · 100+ Points", "https://hnrss.org/newest?points=100"),
|
||
NewsFeed("Dev.to · AI", "https://dev.to/feed/tag/ai"),
|
||
NewsFeed("Lobsters", "https://lobste.rs/rss"),
|
||
),
|
||
),
|
||
NewsCategory(
|
||
id="community",
|
||
name="社区讨论",
|
||
icon="💬",
|
||
feeds=(
|
||
NewsFeed(
|
||
"HN · AI/LLM/Agent",
|
||
"https://hnrss.org/newest?q=AI+OR+LLM+OR+Claude+OR+agent+OR+GPT+OR+Gemini",
|
||
),
|
||
NewsFeed(
|
||
"Reddit · LLM/Claude/ML",
|
||
"https://old.reddit.com/r/LocalLLaMA+ClaudeAI+MachineLearning+OpenAI/.rss?limit=25",
|
||
slow=True,
|
||
),
|
||
),
|
||
),
|
||
)
|