Daily AI ecosystem digest from 10 sources (GitHub, ArXiv, HN, HuggingFace, Product Hunt, Dev.to, Lobste.rs). Bilingual ZH/EN reports via GitHub Actions.
See the codeEnglish | 中文
A GitHub Actions workflow that runs every morning at 07:00 CST. It aggregates AI ecosystem signals from 10 data sources, then publishes bilingual (Chinese + English) daily digests as GitHub Issues and committed Markdown files.
| Source | Type | Data |
|---|---|---|
| GitHub Repos | API | Issues, PRs, releases from 18 tracked AI tool repos |
| Claude Code Skills | API | Trending skills sorted by community engagement |
| GitHub Trending | HTML + API | Daily trending repos + AI topic search (7-day window) |
| Hacker News | Algolia API | Top 30 AI stories from last 24h, 6 parallel queries |
| Product Hunt | GraphQL API | Yesterday's top AI products by votes |
| ArXiv | ArXiv API | Latest papers from cs.AI, cs.CL, cs.LG (last 48h) |
| Hugging Face | Hub API | 30 trending models sorted by weekly likes — weekly, Mondays only |
| Dev.to | Forem API | Top AI/LLM articles from 5 tags |
| Lobste.rs | JSON API | AI/ML tagged stories from last 7 days |
| Anthropic + OpenAI | Sitemap | New articles detected via lastmod diff |
https://duanyytop.github.io/agents-radar
Browse all historical digests in a clean, dark-themed interface — no login required. Reports are rendered from the Markdown files in this repo via GitHub Pages.

Subscribe to get daily digest notifications pushed directly to your preferred platform. Each message links to all reports for that day (ZH and EN variants) plus the Web UI and RSS feed.
https://duanyytop.github.io/agents-radar/feed.xml
Subscribe in any RSS reader (Feedly, Reeder, NewsBlur, etc.) to receive new digests automatically. The feed includes the latest 30 reports across all report types, updated daily alongside manifest.json.
https://agents-radar-mcp.duanyytop.workers.dev
A hosted Model Context Protocol server that exposes agents-radar data as tools. Any MCP-compatible client (Claude Desktop, OpenClaw, etc.) can query the latest AI ecosystem reports directly.
Available tools:
| Tool | Description |
|---|---|
list_reports | List available dates and report types (last N days) |
get_latest | Fetch the most recent report of a given type |
get_report | Fetch a specific report by date and type |
search | Keyword search across recent reports |
Claude Desktop setup — add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"agents-radar": {
"url": "https://agents-radar-mcp.duanyytop.workers.dev"
}
}
}
Restart Claude Desktop after saving. You can then ask Claude things like:
get_latestsearchget_reportOpenClaw setup — run the following command:
openclaw mcp add --transport http agents-radar https://agents-radar-mcp.duanyytop.workers.dev
Or add it manually to ~/.openclaw/openclaw.json:
{
"mcpServers": {
"agents-radar": {
"type": "http",
"url": "https://agents-radar-mcp.duanyytop.workers.dev"
}
}
}
You can then ask OpenClaw things like:
get_latestsearchget_reportSelf-hosting — deploy your own instance from the mcp/ directory:
cd mcp
pnpm install
wrangler deploy
| Tool | Repository |
|---|---|
| Claude Code | anthropics/claude-code |
| OpenAI Codex | openai/codex |
| Gemini CLI | google-gemini/gemini-cli |
| GitHub Copilot CLI | github/copilot-cli |
| OpenCode | anomalyco/opencode |
| Pi | earendil-works/pi |
| Qwen Code | QwenLM/qwen-code |
Repos marked discussions: true in config.yml (Codex, Pi) also have their GitHub Discussions
pulled in.
| Source | Repository |
|---|---|
| Claude Code Skills | anthropics/skills |
PRs and issues are fetched without a date filter and sorted by popularity (comment count), so the report always reflects the most actively discussed skills — not just the newest.
OpenClaw is tracked as the primary reference project, alongside several peer projects in the personal AI assistant / autonomous agent space for cross-ecosystem comparison.
| Project | Repository | Stars |
|---|---|---|
| OpenClaw | openclaw/openclaw | 387.8k |
| Hermes Agent | nousresearch/hermes-agent | 237.0k |
| QwenPaw | agentscope-ai/QwenPaw | 34.5k |
| ZeroClaw | zeroclaw-labs/zeroclaw | 32.7k |
| IronClaw | nearai/ironclaw | 12.6k |
The inference and serving layer the agent/CLI tools run on top of — tracked in a dedicated report with its own cross-project comparison.
| Project | Repository | Layer | Stars |
|---|---|---|---|
| Ollama | ollama/ollama | Local runtime | 177.2k |
| llama.cpp | ggml-org/llama.cpp | Inference engine | 121.9k |
| vLLM | vllm-project/vllm | Serving engine | 87.5k |
| Unsloth | unslothai/unsloth | Fine-tuning | 69.0k |
| LiteLLM | BerriAI/litellm | LLM gateway | 55.0k |
| SGLang | sgl-project/sglang | Serving engine | 30.9k |
Summaries focus on new model/hardware support, performance work, breaking changes, and what each change means for developers building on top of these projects.
Two data sources are fetched in parallel every day:
| Source | Details |
|---|---|
| github.com/trending | Today's trending repos — parsed from HTML; includes today's new star count |
| GitHub Search API | Repos active in the last 7 days matching 6 AI topics: llm, ai-agent, rag, vector-database, large-language-model, machine-learning |
The LLM filters out non-AI repos from the trending list, classifies the rest by dimension (AI infrastructure / agents / applications / models / RAG), and extracts trend signals.
Top AI stories from the last 24 hours, fetched via the Algolia HN Search API. Six queries run in parallel (AI, LLM, Claude, OpenAI, Anthropic, machine learning), results are deduplicated and ranked by points. The top 30 stories are passed to the LLM for analysis.
| Organization | Site | Tracked sections |
|---|---|---|
| Anthropic | anthropic.com | /news/, /research/, /engineering/, /learn/ |
| OpenAI | openai.com | research, publication, release, company, engineering, milestone, learn-guides, safety, product |
New articles are detected by comparing sitemap lastmod timestamps against a persisted state file (digests/web-state.json). On the first run, up to 25 recent articles per site are fetched and a comprehensive overview report is generated. On subsequent runs, only new or updated URLs trigger a report; if nothing changed, the web report step is skipped entirely.
digests/YYYY-MM-DD/config.yml — no code changes neededconfig.yml (optional)Edit config.yml in the repo root to add, remove, or replace the tracked repositories. The file is fully commented. No code changes are needed — the pipeline reads it on every run and falls back to built-in defaults if the file is absent.
# Add a new CLI tool
cli_repos:
- id: my-tool
repo: owner/my-ai-cli
name: My AI Tool
# Add a new peer project to the OpenClaw ecosystem comparison
openclaw_peers:
- id: my-agent
repo: owner/my-agent
name: My Agent
# Add a new AI infrastructure project
infra_repos:
- id: my-engine
repo: owner/my-engine
name: My Engine
paginated: true # for repos with >100 daily issue/PR updates
Go to Settings → Secrets and variables → Actions and add:
| Secret | Required | Description |
|---|---|---|
LLM_PROVIDER | optional | anthropic (default), openai, github-copilot, openrouter, deepseek, or qwen |
ANTHROPIC_API_KEY | if Anthropic | API key — works with both Anthropic and Kimi Code |
ANTHROPIC_BASE_URL | optional | API endpoint override. Set to https://api.kimi.com/coding/ for Kimi Code; leave unset for Anthropic |
OPENAI_API_KEY | if OpenAI | OpenAI API key |
OPENAI_BASE_URL | optional | OpenAI endpoint override |
OPENROUTER_API_KEY | if OpenRouter | OpenRouter API key |
DEEPSEEK_API_KEY | if DeepSeek | DeepSeek API key |
DASHSCOPE_API_KEY | if Qwen | Alibaba Model Studio API key |
TELEGRAM_BOT_TOKEN | optional | Telegram bot token from @BotFather. If set, a message is sent after each digest run |
TELEGRAM_CHAT_ID | optional | Telegram chat/channel/group ID to send notifications to |
FEISHU_WEBHOOK_URLS | optional | Comma-separated Feishu custom bot webhook URLs. If set, a card message is sent to each group after each digest run |
GITHUB_TOKENis provided automatically by GitHub Actions. When usinggithub-copilotas the provider, the sameGITHUB_TOKENis used for LLM calls.
Setting up Telegram notifications (optional):
TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID as repository secretsIf neither secret is set, the notification step is silently skipped.
Confirm the workflow is enabled in the Actions tab.
To test immediately, go to Actions → Daily Agents Radar → Run workflow.
First run note: The web content step will fetch up to 50 articles (25 per site) and may take a few extra minutes. Subsequent runs are fast — only new articles are processed.
Set LLM_PROVIDER to choose which model backend powers the digest generation. Defaults to anthropic.
| Provider | LLM_PROVIDER | Required env vars | Default model |
|---|---|---|---|
| Anthropic | anthropic | ANTHROPIC_API_KEY | claude-sonnet-4-6 |
| OpenAI | openai | OPENAI_API_KEY | gpt-4o |
| GitHub Copilot | github-copilot | GITHUB_TOKEN | gpt-4o |
| OpenRouter | openrouter | OPENROUTER_API_KEY | anthropic/claude-sonnet-4 |
| DeepSeek | deepseek | DEEPSEEK_API_KEY | deepseek-v4-flash |
| Qwen | qwen | DASHSCOPE_API_KEY | qwen-flash |
Override the model name with ANTHROPIC_MODEL, OPENAI_MODEL, GITHUB_COPILOT_MODEL, OPENROUTER_MODEL, DEEPSEEK_MODEL, or QWEN_MODEL respectively. The Qwen endpoint can be overridden with DASHSCOPE_BASE_URL.
The scheduled daily run uses qwen / qwen-flash.
The provider abstraction lives in src/providers/ — each provider is a separate file implementing the LlmProvider interface. Adding a new provider only requires creating a new file and registering it in the factory.
pnpm install
export GITHUB_TOKEN=ghp_xxxxx
# Option A: Anthropic (default)
export ANTHROPIC_API_KEY=sk-ant-xxxxxxxx
# Option B: OpenAI
# export LLM_PROVIDER=openai
# export OPENAI_API_KEY=sk-xxxxxxxx
# Option C: GitHub Copilot (uses GITHUB_TOKEN)
# export LLM_PROVIDER=github-copilot
# Option D: OpenRouter
# export LLM_PROVIDER=openrouter
# export OPENROUTER_API_KEY=sk-or-xxxxxxxx
# Option E: DeepSeek
# export LLM_PROVIDER=deepseek
# export DEEPSEEK_API_KEY=sk-xxxxxxxx
# Qwen (Alibaba Model Studio)
# export LLM_PROVIDER=qwen
# export DASHSCOPE_API_KEY=sk-xxxxxxxx
export DIGEST_REPO=your-username/agents-radar # optional; omit to only write files
pnpm start
Files are written to digests/YYYY-MM-DD/:
| File | Content | GitHub Issue label |
|---|---|---|
ai-cli.md | CLI digest — cross-tool comparison + per-tool details | digest |
ai-agents.md | OpenClaw deep report + cross-ecosystem comparison + 4 peer details | openclaw |
ai-infra.md | AI infrastructure digest — cross-project comparison + per-project details | infra |
ai-web.md | Official web content report (only written when new content exists) | web |
ai-trending.md | GitHub AI trending report — repos classified by dimension + trend signals (only written when data is available) | trending |
ai-hn.md | Hacker News AI community digest — top stories + sentiment analysis (only written when fetch succeeds) | hn |
ai-ph.md | Product Hunt AI products digest (only written when PRODUCTHUNT_TOKEN is set and data is available) | ph |
ai-arxiv.md | ArXiv AI research digest — key papers from cs.AI/cs.CL/cs.LG | arxiv |
ai-hf.md | Hugging Face trending models digest — sorted by weekly likes (weekly: written on Mondays only) | hf |
ai-community.md | Tech community AI digest — Dev.to articles + Lobste.rs stories combined | community |
A shared state file digests/web-state.json tracks which web URLs have been seen; it is committed alongside the daily digests.
Each report is generated in both Chinese (ai-cli.md) and English (ai-cli-en.md). The Web UI sidebar shows ZH / EN toggle buttons for reports that have both variants.
ai-cli.md / ai-cli-en.md structure:
## Cross-Tool Comparison
Ecosystem overview / Activity comparison table / Shared themes / Differentiation / Trend signals
## Per-Tool Reports
<details> Claude Code — [Claude Code Skills Highlights]
Top skills / Community demand trends / High-potential pending skills
---
Today's summary / Hot issues / PR progress / Trends
<details> OpenAI Codex — Today's summary / Hot issues / PR progress / Trends
<details> Gemini CLI — ...
<details> GitHub Copilot CLI — ...
<details> OpenCode — ...
<details> Pi — ...
<details> Qwen Code — ...
ai-agents.md / ai-agents-en.md structure:
Issues: N | PRs: N | Projects covered: 5
## OpenClaw Deep Dive
Today's summary / Releases / Project progress / Community highlights /
Bug stability / Feature requests / User feedback / Backlog
## Cross-Ecosystem Comparison
Ecosystem overview / Activity table / OpenClaw positioning /
Shared technical directions / Differentiation / Community maturity / Trend signals
## Peer Project Reports
<details> ZeroClaw — Today's summary / Releases / Progress / ... (8 sections)
<details> Hermes Agent — ...
<details> IronClaw — ...
<details> QwenPaw — ...
ai-infra.md / ai-infra-en.md structure:
Projects covered: 6
## Cross-Project Comparison
Ecosystem overview / Activity table / Model support race /
Performance frontier / Layer positioning / Trend signals
## Per-Project Reports
<details> vLLM — Today's highlights / Releases & breaking changes /
New model & hardware support / Performance & optimization /
Stability & regressions / What it means for app developers
<details> SGLang — ...
<details> llama.cpp — ...
<details> Ollama — ...
<details> LiteLLM — ...
<details> Unsloth — ...
ai-web.md / ai-web-en.md structure:
Sources: anthropic.com (N articles) + openai.com (N articles)
Today's summary
Anthropic / Claude highlights (news / research / engineering / learn)
OpenAI highlights (research / release / company / safety / ...)
Strategic signals
Notable details
[First full crawl also includes: Content landscape overview]
ai-trending.md / ai-trending-en.md structure:
Sources: GitHub Trending + GitHub Search API
Today's summary
Top repos by dimension
🔧 AI Infrastructure — frameworks / SDKs / inference engines / CLIs
🤖 AI Agents — agent frameworks / multi-agent / automation
📦 AI Applications — vertical products / solutions
🧠 Models & Training — model weights / training frameworks / fine-tuning
🔍 RAG & Knowledge — vector databases / retrieval augmentation
Trend signal analysis
Community focus
ai-hn.md / ai-hn-en.md structure:
Sources: Hacker News (top-30 AI stories, last 24h)
Today's summary
Top stories & discussions
🔬 Models & Research — new model releases / papers / benchmarks
🛠️ Tools & Engineering — open-source projects / frameworks / engineering practice
🏢 Industry news — company news / funding / product launches
💬 Opinions & debate — Ask HN / Show HN / hot threads
Community sentiment signals
Worth reading
Historical digests are stored in digests/. Published issues are tagged by type: digest · openclaw · web · trending · hn · ph · arxiv · hf · community.
Only the most recent day's issues are left open — pnpm close-stale closes everything older on each run, so the issue list stays at roughly one day's worth instead of thousands. Nothing is deleted: the label links above include closed issues, and the full archive also lives under digests/ and in the Web UI. Issues without a digest label, and pull requests, are never touched.
Weekly and monthly rollup reports were discontinued in July 2026; past ones remain browsable under digests/ and in the Web UI.
| Workflow | Cron | UTC | CST |
|---|---|---|---|
| Daily digest | 37 22 * * * | 22:37 daily | 06:37 next day |
To change the schedule, edit the cron expression in .github/workflows/daily-digest.yml.
GitHub's scheduled runs are queued, not guaranteed — typical delay for this workflow is 10-15 minutes, so a 06:37 CST start lands the digest around 07:00 CST. The minute is off the hour on purpose: the :00 slot is the most contended, and while this workflow sat at 0 23 * * * the delays degraded from minutes to hours (the 2026-08-26 run was dispatched 5h07m late, and the 2026-08-27 run was never created at all).
When a scheduled run is late enough that you dispatch a catch-up run manually, the two would otherwise both build the same day's digest and open a duplicate set of issues. Two guards prevent that: a concurrency: daily-digest group serializes overlapping runs, and a guard job skips any scheduled run whose digests/YYYY-MM-DD folder (CST date) is already committed. Manual workflow_dispatch runs always proceed, so you can still force a regeneration.
127 followers · starred Mar 2026
458 followers · starred Apr 2026
76 followers · starred Oct 2026
313 followers · starred Mar 2026
Daily AI ecosystem digest from 10 sources (GitHub, ArXiv, HN, HuggingFace, Product Hunt, Dev.to, Lobste.rs). Bilingual ZH/EN reports via GitHub Actions.
See the codeEnglish | 中文
A GitHub Actions workflow that runs every morning at 07:00 CST. It aggregates AI ecosystem signals from 10 data sources, then publishes bilingual (Chinese + English) daily digests as GitHub Issues and committed Markdown files.
| Source | Type | Data |
|---|---|---|
| GitHub Repos | API | Issues, PRs, releases from 18 tracked AI tool repos |
| Claude Code Skills | API | Trending skills sorted by community engagement |
| GitHub Trending | HTML + API | Daily trending repos + AI topic search (7-day window) |
| Hacker News | Algolia API | Top 30 AI stories from last 24h, 6 parallel queries |
| Product Hunt | GraphQL API | Yesterday's top AI products by votes |
| ArXiv | ArXiv API | Latest papers from cs.AI, cs.CL, cs.LG (last 48h) |
| Hugging Face | Hub API | 30 trending models sorted by weekly likes — weekly, Mondays only |
| Dev.to | Forem API | Top AI/LLM articles from 5 tags |
| Lobste.rs | JSON API | AI/ML tagged stories from last 7 days |
| Anthropic + OpenAI | Sitemap | New articles detected via lastmod diff |
https://duanyytop.github.io/agents-radar
Browse all historical digests in a clean, dark-themed interface — no login required. Reports are rendered from the Markdown files in this repo via GitHub Pages.

Subscribe to get daily digest notifications pushed directly to your preferred platform. Each message links to all reports for that day (ZH and EN variants) plus the Web UI and RSS feed.
https://duanyytop.github.io/agents-radar/feed.xml
Subscribe in any RSS reader (Feedly, Reeder, NewsBlur, etc.) to receive new digests automatically. The feed includes the latest 30 reports across all report types, updated daily alongside manifest.json.
https://agents-radar-mcp.duanyytop.workers.dev
A hosted Model Context Protocol server that exposes agents-radar data as tools. Any MCP-compatible client (Claude Desktop, OpenClaw, etc.) can query the latest AI ecosystem reports directly.
Available tools:
| Tool | Description |
|---|---|
list_reports | List available dates and report types (last N days) |
get_latest | Fetch the most recent report of a given type |
get_report | Fetch a specific report by date and type |
search | Keyword search across recent reports |
Claude Desktop setup — add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"agents-radar": {
"url": "https://agents-radar-mcp.duanyytop.workers.dev"
}
}
}
Restart Claude Desktop after saving. You can then ask Claude things like:
get_latestsearchget_reportOpenClaw setup — run the following command:
openclaw mcp add --transport http agents-radar https://agents-radar-mcp.duanyytop.workers.dev
Or add it manually to ~/.openclaw/openclaw.json:
{
"mcpServers": {
"agents-radar": {
"type": "http",
"url": "https://agents-radar-mcp.duanyytop.workers.dev"
}
}
}
You can then ask OpenClaw things like:
get_latestsearchget_reportSelf-hosting — deploy your own instance from the mcp/ directory:
cd mcp
pnpm install
wrangler deploy
| Tool | Repository |
|---|---|
| Claude Code | anthropics/claude-code |
| OpenAI Codex | openai/codex |
| Gemini CLI | google-gemini/gemini-cli |
| GitHub Copilot CLI | github/copilot-cli |
| OpenCode | anomalyco/opencode |
| Pi | earendil-works/pi |
| Qwen Code | QwenLM/qwen-code |
Repos marked discussions: true in config.yml (Codex, Pi) also have their GitHub Discussions
pulled in.
| Source | Repository |
|---|---|
| Claude Code Skills | anthropics/skills |
PRs and issues are fetched without a date filter and sorted by popularity (comment count), so the report always reflects the most actively discussed skills — not just the newest.
OpenClaw is tracked as the primary reference project, alongside several peer projects in the personal AI assistant / autonomous agent space for cross-ecosystem comparison.
| Project | Repository | Stars |
|---|---|---|
| OpenClaw | openclaw/openclaw | 387.8k |
| Hermes Agent | nousresearch/hermes-agent | 237.0k |
| QwenPaw | agentscope-ai/QwenPaw | 34.5k |
| ZeroClaw | zeroclaw-labs/zeroclaw | 32.7k |
| IronClaw | nearai/ironclaw | 12.6k |
The inference and serving layer the agent/CLI tools run on top of — tracked in a dedicated report with its own cross-project comparison.
| Project | Repository | Layer | Stars |
|---|---|---|---|
| Ollama | ollama/ollama | Local runtime | 177.2k |
| llama.cpp | ggml-org/llama.cpp | Inference engine | 121.9k |
| vLLM | vllm-project/vllm | Serving engine | 87.5k |
| Unsloth | unslothai/unsloth | Fine-tuning | 69.0k |
| LiteLLM | BerriAI/litellm | LLM gateway | 55.0k |
| SGLang | sgl-project/sglang | Serving engine | 30.9k |
Summaries focus on new model/hardware support, performance work, breaking changes, and what each change means for developers building on top of these projects.
Two data sources are fetched in parallel every day:
| Source | Details |
|---|---|
| github.com/trending | Today's trending repos — parsed from HTML; includes today's new star count |
| GitHub Search API | Repos active in the last 7 days matching 6 AI topics: llm, ai-agent, rag, vector-database, large-language-model, machine-learning |
The LLM filters out non-AI repos from the trending list, classifies the rest by dimension (AI infrastructure / agents / applications / models / RAG), and extracts trend signals.
Top AI stories from the last 24 hours, fetched via the Algolia HN Search API. Six queries run in parallel (AI, LLM, Claude, OpenAI, Anthropic, machine learning), results are deduplicated and ranked by points. The top 30 stories are passed to the LLM for analysis.
| Organization | Site | Tracked sections |
|---|---|---|
| Anthropic | anthropic.com | /news/, /research/, /engineering/, /learn/ |
| OpenAI | openai.com | research, publication, release, company, engineering, milestone, learn-guides, safety, product |
New articles are detected by comparing sitemap lastmod timestamps against a persisted state file (digests/web-state.json). On the first run, up to 25 recent articles per site are fetched and a comprehensive overview report is generated. On subsequent runs, only new or updated URLs trigger a report; if nothing changed, the web report step is skipped entirely.
digests/YYYY-MM-DD/config.yml — no code changes neededconfig.yml (optional)Edit config.yml in the repo root to add, remove, or replace the tracked repositories. The file is fully commented. No code changes are needed — the pipeline reads it on every run and falls back to built-in defaults if the file is absent.
# Add a new CLI tool
cli_repos:
- id: my-tool
repo: owner/my-ai-cli
name: My AI Tool
# Add a new peer project to the OpenClaw ecosystem comparison
openclaw_peers:
- id: my-agent
repo: owner/my-agent
name: My Agent
# Add a new AI infrastructure project
infra_repos:
- id: my-engine
repo: owner/my-engine
name: My Engine
paginated: true # for repos with >100 daily issue/PR updates
Go to Settings → Secrets and variables → Actions and add:
| Secret | Required | Description |
|---|---|---|
LLM_PROVIDER | optional | anthropic (default), openai, github-copilot, openrouter, deepseek, or qwen |
ANTHROPIC_API_KEY | if Anthropic | API key — works with both Anthropic and Kimi Code |
ANTHROPIC_BASE_URL | optional | API endpoint override. Set to https://api.kimi.com/coding/ for Kimi Code; leave unset for Anthropic |
OPENAI_API_KEY | if OpenAI | OpenAI API key |
OPENAI_BASE_URL | optional | OpenAI endpoint override |
OPENROUTER_API_KEY | if OpenRouter | OpenRouter API key |
DEEPSEEK_API_KEY | if DeepSeek | DeepSeek API key |
DASHSCOPE_API_KEY | if Qwen | Alibaba Model Studio API key |
TELEGRAM_BOT_TOKEN | optional | Telegram bot token from @BotFather. If set, a message is sent after each digest run |
TELEGRAM_CHAT_ID | optional | Telegram chat/channel/group ID to send notifications to |
FEISHU_WEBHOOK_URLS | optional | Comma-separated Feishu custom bot webhook URLs. If set, a card message is sent to each group after each digest run |
GITHUB_TOKENis provided automatically by GitHub Actions. When usinggithub-copilotas the provider, the sameGITHUB_TOKENis used for LLM calls.
Setting up Telegram notifications (optional):
TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID as repository secretsIf neither secret is set, the notification step is silently skipped.
Confirm the workflow is enabled in the Actions tab.
To test immediately, go to Actions → Daily Agents Radar → Run workflow.
First run note: The web content step will fetch up to 50 articles (25 per site) and may take a few extra minutes. Subsequent runs are fast — only new articles are processed.
Set LLM_PROVIDER to choose which model backend powers the digest generation. Defaults to anthropic.
| Provider | LLM_PROVIDER | Required env vars | Default model |
|---|---|---|---|
| Anthropic | anthropic | ANTHROPIC_API_KEY | claude-sonnet-4-6 |
| OpenAI | openai | OPENAI_API_KEY | gpt-4o |
| GitHub Copilot | github-copilot | GITHUB_TOKEN | gpt-4o |
| OpenRouter | openrouter | OPENROUTER_API_KEY | anthropic/claude-sonnet-4 |
| DeepSeek | deepseek | DEEPSEEK_API_KEY | deepseek-v4-flash |
| Qwen | qwen | DASHSCOPE_API_KEY | qwen-flash |
Override the model name with ANTHROPIC_MODEL, OPENAI_MODEL, GITHUB_COPILOT_MODEL, OPENROUTER_MODEL, DEEPSEEK_MODEL, or QWEN_MODEL respectively. The Qwen endpoint can be overridden with DASHSCOPE_BASE_URL.
The scheduled daily run uses qwen / qwen-flash.
The provider abstraction lives in src/providers/ — each provider is a separate file implementing the LlmProvider interface. Adding a new provider only requires creating a new file and registering it in the factory.
pnpm install
export GITHUB_TOKEN=ghp_xxxxx
# Option A: Anthropic (default)
export ANTHROPIC_API_KEY=sk-ant-xxxxxxxx
# Option B: OpenAI
# export LLM_PROVIDER=openai
# export OPENAI_API_KEY=sk-xxxxxxxx
# Option C: GitHub Copilot (uses GITHUB_TOKEN)
# export LLM_PROVIDER=github-copilot
# Option D: OpenRouter
# export LLM_PROVIDER=openrouter
# export OPENROUTER_API_KEY=sk-or-xxxxxxxx
# Option E: DeepSeek
# export LLM_PROVIDER=deepseek
# export DEEPSEEK_API_KEY=sk-xxxxxxxx
# Qwen (Alibaba Model Studio)
# export LLM_PROVIDER=qwen
# export DASHSCOPE_API_KEY=sk-xxxxxxxx
export DIGEST_REPO=your-username/agents-radar # optional; omit to only write files
pnpm start
Files are written to digests/YYYY-MM-DD/:
| File | Content | GitHub Issue label |
|---|---|---|
ai-cli.md | CLI digest — cross-tool comparison + per-tool details | digest |
ai-agents.md | OpenClaw deep report + cross-ecosystem comparison + 4 peer details | openclaw |
ai-infra.md | AI infrastructure digest — cross-project comparison + per-project details | infra |
ai-web.md | Official web content report (only written when new content exists) | web |
ai-trending.md | GitHub AI trending report — repos classified by dimension + trend signals (only written when data is available) | trending |
ai-hn.md | Hacker News AI community digest — top stories + sentiment analysis (only written when fetch succeeds) | hn |
ai-ph.md | Product Hunt AI products digest (only written when PRODUCTHUNT_TOKEN is set and data is available) | ph |
ai-arxiv.md | ArXiv AI research digest — key papers from cs.AI/cs.CL/cs.LG | arxiv |
ai-hf.md | Hugging Face trending models digest — sorted by weekly likes (weekly: written on Mondays only) | hf |
ai-community.md | Tech community AI digest — Dev.to articles + Lobste.rs stories combined | community |
A shared state file digests/web-state.json tracks which web URLs have been seen; it is committed alongside the daily digests.
Each report is generated in both Chinese (ai-cli.md) and English (ai-cli-en.md). The Web UI sidebar shows ZH / EN toggle buttons for reports that have both variants.
ai-cli.md / ai-cli-en.md structure:
## Cross-Tool Comparison
Ecosystem overview / Activity comparison table / Shared themes / Differentiation / Trend signals
## Per-Tool Reports
<details> Claude Code — [Claude Code Skills Highlights]
Top skills / Community demand trends / High-potential pending skills
---
Today's summary / Hot issues / PR progress / Trends
<details> OpenAI Codex — Today's summary / Hot issues / PR progress / Trends
<details> Gemini CLI — ...
<details> GitHub Copilot CLI — ...
<details> OpenCode — ...
<details> Pi — ...
<details> Qwen Code — ...
ai-agents.md / ai-agents-en.md structure:
Issues: N | PRs: N | Projects covered: 5
## OpenClaw Deep Dive
Today's summary / Releases / Project progress / Community highlights /
Bug stability / Feature requests / User feedback / Backlog
## Cross-Ecosystem Comparison
Ecosystem overview / Activity table / OpenClaw positioning /
Shared technical directions / Differentiation / Community maturity / Trend signals
## Peer Project Reports
<details> ZeroClaw — Today's summary / Releases / Progress / ... (8 sections)
<details> Hermes Agent — ...
<details> IronClaw — ...
<details> QwenPaw — ...
ai-infra.md / ai-infra-en.md structure:
Projects covered: 6
## Cross-Project Comparison
Ecosystem overview / Activity table / Model support race /
Performance frontier / Layer positioning / Trend signals
## Per-Project Reports
<details> vLLM — Today's highlights / Releases & breaking changes /
New model & hardware support / Performance & optimization /
Stability & regressions / What it means for app developers
<details> SGLang — ...
<details> llama.cpp — ...
<details> Ollama — ...
<details> LiteLLM — ...
<details> Unsloth — ...
ai-web.md / ai-web-en.md structure:
Sources: anthropic.com (N articles) + openai.com (N articles)
Today's summary
Anthropic / Claude highlights (news / research / engineering / learn)
OpenAI highlights (research / release / company / safety / ...)
Strategic signals
Notable details
[First full crawl also includes: Content landscape overview]
ai-trending.md / ai-trending-en.md structure:
Sources: GitHub Trending + GitHub Search API
Today's summary
Top repos by dimension
🔧 AI Infrastructure — frameworks / SDKs / inference engines / CLIs
🤖 AI Agents — agent frameworks / multi-agent / automation
📦 AI Applications — vertical products / solutions
🧠 Models & Training — model weights / training frameworks / fine-tuning
🔍 RAG & Knowledge — vector databases / retrieval augmentation
Trend signal analysis
Community focus
ai-hn.md / ai-hn-en.md structure:
Sources: Hacker News (top-30 AI stories, last 24h)
Today's summary
Top stories & discussions
🔬 Models & Research — new model releases / papers / benchmarks
🛠️ Tools & Engineering — open-source projects / frameworks / engineering practice
🏢 Industry news — company news / funding / product launches
💬 Opinions & debate — Ask HN / Show HN / hot threads
Community sentiment signals
Worth reading
Historical digests are stored in digests/. Published issues are tagged by type: digest · openclaw · web · trending · hn · ph · arxiv · hf · community.
Only the most recent day's issues are left open — pnpm close-stale closes everything older on each run, so the issue list stays at roughly one day's worth instead of thousands. Nothing is deleted: the label links above include closed issues, and the full archive also lives under digests/ and in the Web UI. Issues without a digest label, and pull requests, are never touched.
Weekly and monthly rollup reports were discontinued in July 2026; past ones remain browsable under digests/ and in the Web UI.
| Workflow | Cron | UTC | CST |
|---|---|---|---|
| Daily digest | 37 22 * * * | 22:37 daily | 06:37 next day |
To change the schedule, edit the cron expression in .github/workflows/daily-digest.yml.
GitHub's scheduled runs are queued, not guaranteed — typical delay for this workflow is 10-15 minutes, so a 06:37 CST start lands the digest around 07:00 CST. The minute is off the hour on purpose: the :00 slot is the most contended, and while this workflow sat at 0 23 * * * the delays degraded from minutes to hours (the 2026-08-26 run was dispatched 5h07m late, and the 2026-08-27 run was never created at all).
When a scheduled run is late enough that you dispatch a catch-up run manually, the two would otherwise both build the same day's digest and open a duplicate set of issues. Two guards prevent that: a concurrency: daily-digest group serializes overlapping runs, and a guard job skips any scheduled run whose digests/YYYY-MM-DD folder (CST date) is already committed. Manual workflow_dispatch runs always proceed, so you can still force a regeneration.
127 followers · starred Mar 2026
458 followers · starred Apr 2026
76 followers · starred Oct 2026
313 followers · starred Mar 2026