← Back to skills
extension
Category: Content & MediaAPI key requirement unconfirmed

ai-hotspot

Collect and summarize trending AI news and hotspots from domestic (China) and international sources: GitHub, arXiv, Hugging Face, Hacker News, official lab blogs, and CN/global tech portals via RSS. Use when the user asks for 'AI 热点', 'AI 日报', 'AI 资讯', 'AI 新闻', '今日 AI', 'AI 快讯', 'AI 周报', '大模型动态', '行业动态', '热点追踪', '收集/汇总 AI 新闻', 'trending AI', 'AI news digest', 'AI roundup', 'what happened in AI', 'latest AI news', or any request to gather, rank, or summarize recent AI developments.

personAuthor: asaddahubModelScope

AI Hotspot Radar

Collect recent AI news, papers, repos and community discussion from Chinese and international sources, then synthesize a ranked, citation-linked digest.

Two modes:

  1. Scripted collection — scripts/ai_news.py (stdlib-only) fetches RSS/Atom feeds, Hacker News, arXiv, Hugging Face and GitHub in parallel and prints JSON or a markdown scaffold.
  2. Agent enrichment — you (the agent) use the web_search / fetch_content / source_check tools to fill gaps that have no RSS (微博/百度热搜, X/Twitter, 公众号, breaking news) and to write the final Chinese digest.

When to use

Trigger whenever the user wants trend/awareness of AI: "AI 日报/周报", "AI 热点 追踪", "今天 AI 圈发生了什么", "收集国内外 AI 资讯", "AI news roundup", "最 近大模型有什么动态", "看看 GitHub 上火的 AI 项目", "整理一份 AI 简报".

Prerequisites

  • python3 (stdlib only — no pip install).
  • Optional tokens (never required to start):
    • GITHUB_TOKEN — GitHub search rate limit 10/hr → 5,000/hr.
    • HF_TOKEN — higher Hugging Face limits.
  • Proxy: in mainland China several international hosts (huggingface.co, reddit.com, substack.com, ai.meta.com) are unreachable. Export HTTPS_PROXY=http://127.0.0.1:7890 (or your port) before running; urllib picks it up automatically. The script marks such sources needs_proxy.
  • Registration / API keys for extra platforms: see references/registration.md.
  • Full source catalog: references/sources.md.

Script location

Everything is bundled next to this SKILL.md. Resolve paths from this skill's directory, not the cwd. Pi prints the absolute path when it advertises the skill:

SKILL_DIR="<absolute path of the directory containing this SKILL.md>"
ls "$SKILL_DIR/scripts/ai_news.py" "$SKILL_DIR/references/"

Scripts write the payload to stdout and progress/errors to stderr. Capture stdout only (2>/dev/null) when piping into jq/a parser.

Quick start

# Full merged digest (recommended): ~1-2 min, all sections, markdown scaffold
python3 "$SKILL_DIR/scripts/ai_news.py" all --hours 24 --markdown

# Same, as structured JSON for programmatic use
python3 "$SKILL_DIR/scripts/ai_news.py" all --hours 24 --limit 8 --per-section 8

# One region / one source group
python3 "$SKILL_DIR/scripts/ai_news.py" feeds --region cn --hours 48
python3 "$SKILL_DIR/scripts/ai_news.py" feeds --region intl --hours 24 --limit 10
python3 "$SKILL_DIR/scripts/ai_news.py" feeds --source qbitai,tmtpost,techcrunch

# Individual signals
python3 "$SKILL_DIR/scripts/ai_news.py" hn     --hours 48 --min-points 80 --limit 15
python3 "$SKILL_DIR/scripts/ai_news.py" arxiv  --cats cs.AI,cs.CL,cs.LG --hours 72 --limit 20
python3 "$SKILL_DIR/scripts/ai_news.py" github --since-days 14 --limit 15
python3 "$SKILL_DIR/scripts/ai_news.py" hf     --limit 15          # needs proxy

# Meta
python3 "$SKILL_DIR/scripts/ai_news.py" sources                    # list all feeds
python3 "$SKILL_DIR/scripts/ai_news.py" --timeout 12 health         # feed reachability

Global flags (--timeout, --insecure) go before the subcommand.

Command reference

| Command | What it returns | Notable flags | | -------- | --------------- | ------------- | | all | Merged digest across every source, grouped by category × region | --hours --per-section --min-points --since-days --cats --markdown --region | | feeds | CN + intl RSS/Atom items; general feeds are AI-keyword filtered | --region cn\|intl --source k1,k2 --hours --limit | | hn | Hacker News AI stories (Algolia API, no key) | --min-points --hours --limit | | arxiv | Newest cs.AI / cs.CL / cs.LG / … papers | --cats cs.AI,cs.RO --hours --limit | | github | Recent high-star AI repos via search API | --since-days --limit | | hf | Hugging Face Daily Papers + trending models (needs proxy) | --limit | | sources| The feed catalog (key/region/category/url) | — | | health | Reachability probe of every feed | --timeout (global) |

Item shape (JSON): title, url, source, source_key, region, category, published, age_hours, summary, plus score (HN points / GitHub stars / HF upvotes) and extra where available. Categories: media, official, research, models, github, community.

Recommended workflow

Follow these steps to produce a digest. Do not skip the enrichment step — RSS alone misses breaking news and Chinese social platforms.

  1. Collect. Run:
    python3 "$SKILL_DIR/scripts/ai_news.py" all --hours 24 --per-section 8 --markdown
    
    Read the markdown scaffold. Note the ## ⚠️ 抓取异常 section — never present a source as "quiet" if it actually failed.
  2. Cross-reference the GitHub skill when the user cares about open-source momentum: load the github-trending skill and run its trending.py for period star-gain (which the search API cannot give).
  3. Enrich with web_search. Batch 2-4 varied queries, mixing angles:
    • 今日 AI 热点 2025 / AI 行业动态 最新
    • AI news today / LLM announcements this week
    • 微博热搜 AI / 百度热搜 人工智能 / 知乎热榜 AI
    • specific entities seen in step 1 (e.g. "OpenAI 新模型 发布", "DeepSeek 新版本") Prefer the configured provider; use the queries:[...] array form.
  4. Verify the top 3-5 claims with source_check or fetch_content before writing them as fact. Fetch real article text for the headline items so the summary reflects the article, not just the title.
  5. Synthesize the digest in the user's language (default: Chinese) using the template below. Rank by impact × recency; don't dump raw feeds.
  6. Persist if asked (save to ai-digest-YYYY-MM-DD.md), and offer to schedule it (see "Scheduling").

Output format

Default deliverable: a Chinese digest, every item carrying a link and source.

# 🤖 AI 热点日报 · 2025-XX-XX

## 🔥 今日必读(3-5 条)
- **标题** — 一句话说明"发生了什么 + 为什么重要"。 [来源](url)

## 🇨🇳 国内动态
- **标题** — 摘要。 [量子位](url) · 3h 前

## 🌍 国际动态
- **标题** — 摘要。 [TechCrunch](url) · 5h 前

## 🏢 厂商与产品
- OpenAI / Google / Anthropic / 阿里 / 字节 / DeepSeek … 的发布、定价、合作。

## 🔬 研究前沿
- 论文/模型:标题 + 方法一句话 + 为什么值得看。 [arXiv](url)

## 🛠️ 开源与工具
- `owner/repo` — 一句话 + ⭐ 数 + 语言。 [GitHub](url)

## 💬 社区热议
- HN / Reddit / 微博 / 知乎 上被反复讨论的话题,带上分数/热度。

## 📌 值得深读
- 2-3 篇长文/访谈/报告,附一句"看点"。

---
📊 覆盖:N 个信源 | 时间窗:最近 24h | 生成时间:…
⚠️ 未覆盖/抓取失败:…

Rules:

  • Never fabricate. Every claim needs a source link. If a headline is unverified, label it 传闻/未证实.
  • Deduplicate the same story across outlets; cite the most authoritative or the original.
  • Prefer recency. age_hours is provided; drop items older than the window.
  • Keep each summary to 1-2 sentences: what changed + why it matters.
  • Separate 国内 vs 国际; don't let English sources drown out Chinese ones.
  • If a whole region/source failed, say so explicitly instead of implying silence.

Coverage map (why this mix)

| Layer | Sources | | ----- | ------- | | 中文媒体 | 量子位, 钛媒体, 雷峰网, InfoQ 中文, 爱范儿, 少数派, Solidot, IT之家, 开源中国, 新浪科技 | | 中文社区 | 掘金, 阮一峰周刊 | | 国际媒体 | TechCrunch, The Verge, Ars Technica, MIT Tech Review, WIRED AI, VentureBeat AI, TLDR AI | | 厂商官方 | OpenAI, Google AI, DeepMind, Microsoft Research, Meta AI, Hugging Face | | 研究 | arXiv (cs.AI/CL/LG/CV/RO), Hugging Face Daily Papers | | 开源 | GitHub search API + github-trending skill (period star-gain) | | 社区 | Hacker News (Algolia) | | 无 RSS,靠 web_search | 微博/百度/抖音热搜, X/Twitter, 微信公众号(新智元/机器之心/宝玉), 小红书, 即刻 |

Add or change sources

Edit the FEEDS list at the top of scripts/ai_news.py. Each entry:

{"key": "my_source", "name": "显示名", "url": "https://…/feed",
 "region": "cn", "category": "media", "ai_only": False, "home": "https://…"},
  • region: cn | intl
  • category: media | official | research | models | github | community
  • ai_only: True skips keyword filtering (feed is already AI-only)
  • needs_proxy: True marks geo-blocked feeds; skipped unless --include-proxy-sources
  • After editing, run python3 "$SKILL_DIR/scripts/ai_news.py" health to verify.

Scheduling

To get a digest every morning, either:

  • ask the user to add a cron job: 0 8 * * * cd <dir> && python3 "$SKILL_DIR/scripts/ai_news.py" all --hours 24 --markdown > ~/ai-digest-$(date +\%F).md
  • or run the workflow from a Pi session via a prompt template / automation.

Troubleshooting

| Symptom | Fix | | ------- | --- | | HTTP 429 (VentureBeat/Cloudflare) | Rate-limited; retry later or rely on other outlets | | URLError / SSL handshake timeout on hf.co, reddit, substack | Geo-blocked: set HTTPS_PROXY, or skip (needs_proxy) | | 403 rate limit on GitHub | Set GITHUB_TOKEN; unauthenticated search is 10 req/min | | XML parse error | Feed changed to HTML (blocked/JS shell) — run health, replace the URL | | Empty section | Source simply had no matching items in the window; widen --hours | | Slow all run | Lower --timeout 12 and/or --region cn |

References

  • references/sources.md — full catalog: URL, region, type, auth, reliability, RSSHub routes.
  • references/registration.md — platforms worth registering (tokens/keys), why, step-by-step, env var names.