|
| 1 | +# agents-radar |
| 2 | + |
| 3 | +English | [中文](./README.zh.md) |
| 4 | + |
| 5 | +A GitHub Actions workflow that runs every morning at 08:00 CST. It tracks GitHub activity from AI CLI tools, OpenClaw and its peer projects in the AI agent ecosystem, scrapes official news and research from Anthropic and OpenAI, and monitors the GitHub AI trending repos daily — then publishes bilingual (Chinese + English) daily digests as GitHub Issues and committed Markdown files. Weekly and monthly rollup reports are also generated automatically. |
| 6 | + |
| 7 | +## Web UI |
| 8 | + |
| 9 | +**[https://compasify.github.io/agents-radar](https://compasify.github.io/agents-radar)** |
| 10 | + |
| 11 | +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. |
| 12 | + |
| 13 | +## RSS Feed |
| 14 | + |
| 15 | +**[https://compasify.github.io/agents-radar/feed.xml](https://compasify.github.io/agents-radar/feed.xml)** |
| 16 | + |
| 17 | +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`. |
| 18 | + |
| 19 | +## MCP Server |
| 20 | + |
| 21 | +**`https://agents-radar-mcp.duanyytop.workers.dev`** |
| 22 | + |
| 23 | +A hosted [Model Context Protocol](https://modelcontextprotocol.io) server that exposes agents-radar data as tools. Any MCP-compatible client (Claude Desktop, OpenClaw, etc.) can query the latest AI ecosystem reports directly. |
| 24 | + |
| 25 | +**Available tools:** |
| 26 | + |
| 27 | +| Tool | Description | |
| 28 | +|------|-------------| |
| 29 | +| `list_reports` | List available dates and report types (last N days) | |
| 30 | +| `get_latest` | Fetch the most recent report of a given type | |
| 31 | +| `get_report` | Fetch a specific report by date and type | |
| 32 | +| `search` | Keyword search across recent reports | |
| 33 | + |
| 34 | +**Claude Desktop setup** — add to `~/Library/Application Support/Claude/claude_desktop_config.json`: |
| 35 | + |
| 36 | +```json |
| 37 | +{ |
| 38 | + "mcpServers": { |
| 39 | + "agents-radar": { |
| 40 | + "url": "https://agents-radar-mcp.duanyytop.workers.dev" |
| 41 | + } |
| 42 | + } |
| 43 | +} |
| 44 | +``` |
| 45 | + |
| 46 | +Restart Claude Desktop after saving. You can then ask Claude things like: |
| 47 | +- *"What's the latest in AI CLI tools?"* → calls `get_latest` |
| 48 | +- *"Search for Claude Code mentions this week"* → calls `search` |
| 49 | +- *"Show me the AI trending report for 2026-03-05"* → calls `get_report` |
| 50 | + |
| 51 | +**OpenClaw setup** — run the following command: |
| 52 | + |
| 53 | +```bash |
| 54 | +openclaw mcp add --transport http agents-radar https://agents-radar-mcp.duanyytop.workers.dev |
| 55 | +``` |
| 56 | + |
| 57 | +Or add it manually to `~/.openclaw/openclaw.json`: |
| 58 | + |
| 59 | +```json |
| 60 | +{ |
| 61 | + "mcpServers": { |
| 62 | + "agents-radar": { |
| 63 | + "type": "http", |
| 64 | + "url": "https://agents-radar-mcp.duanyytop.workers.dev" |
| 65 | + } |
| 66 | + } |
| 67 | +} |
| 68 | +``` |
| 69 | + |
| 70 | +You can then ask OpenClaw things like: |
| 71 | +- *"What's the latest in AI CLI tools?"* → calls `get_latest` |
| 72 | +- *"Search for Claude Code mentions this week"* → calls `search` |
| 73 | +- *"Show me the AI trending report for 2026-03-05"* → calls `get_report` |
| 74 | + |
| 75 | +**Self-hosting** — deploy your own instance from the `mcp/` directory: |
| 76 | + |
| 77 | +```bash |
| 78 | +cd mcp |
| 79 | +pnpm install |
| 80 | +wrangler deploy |
| 81 | +``` |
| 82 | + |
| 83 | +## Telegram Channel |
| 84 | + |
| 85 | +**[t.me/agents_radar](https://t.me/agents_radar)** |
| 86 | + |
| 87 | +Subscribe to get daily digest notifications pushed directly to Telegram. Each message links to all reports for that day (ZH and EN variants) plus the Web UI and RSS feed. |
| 88 | + |
| 89 | +## Tracked sources |
| 90 | + |
| 91 | +### AI CLI tools (GitHub) |
| 92 | + |
| 93 | +| Tool | Repository | |
| 94 | +|------|-----------| |
| 95 | +| Claude Code | [anthropics/claude-code](https://github.com/anthropics/claude-code) | |
| 96 | +| OpenAI Codex | [openai/codex](https://github.com/openai/codex) | |
| 97 | +| Gemini CLI | [google-gemini/gemini-cli](https://github.com/google-gemini/gemini-cli) | |
| 98 | +| GitHub Copilot CLI | [github/copilot-cli](https://github.com/github/copilot-cli) | |
| 99 | +| Kimi Code CLI | [MoonshotAI/kimi-cli](https://github.com/MoonshotAI/kimi-cli) | |
| 100 | +| OpenCode | [anomalyco/opencode](https://github.com/anomalyco/opencode) | |
| 101 | +| Qwen Code | [QwenLM/qwen-code](https://github.com/QwenLM/qwen-code) | |
| 102 | + |
| 103 | +### Claude Code Skills (GitHub) |
| 104 | + |
| 105 | +| Source | Repository | |
| 106 | +|--------|-----------| |
| 107 | +| Claude Code Skills | [anthropics/skills](https://github.com/anthropics/skills) | |
| 108 | + |
| 109 | +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. |
| 110 | + |
| 111 | +### OpenClaw + AI agent ecosystem (GitHub) |
| 112 | + |
| 113 | +OpenClaw is tracked as the primary reference project. Ten peer projects in the personal AI assistant / autonomous agent space are tracked alongside it for cross-ecosystem comparison. |
| 114 | + |
| 115 | +| Project | Repository | Stars | |
| 116 | +|---------|-----------|-------| |
| 117 | +| OpenClaw | [openclaw/openclaw](https://github.com/openclaw/openclaw) | 240.5k | |
| 118 | +| NanoBot | [HKUDS/nanobot](https://github.com/HKUDS/nanobot) | 26.9k | |
| 119 | +| Zeroclaw | [zeroclaw-labs/zeroclaw](https://github.com/zeroclaw-labs/zeroclaw) | 21.2k | |
| 120 | +| PicoClaw | [sipeed/picoclaw](https://github.com/sipeed/picoclaw) | 21.1k | |
| 121 | +| NanoClaw | [qwibitai/nanoclaw](https://github.com/qwibitai/nanoclaw) | 16.6k | |
| 122 | +| IronClaw | [nearai/ironclaw](https://github.com/nearai/ironclaw) | 3.9k | |
| 123 | +| LobsterAI | [netease-youdao/LobsterAI](https://github.com/netease-youdao/LobsterAI) | 3.0k | |
| 124 | +| TinyClaw | [TinyAGI/tinyclaw](https://github.com/TinyAGI/tinyclaw) | 2.8k | |
| 125 | +| CoPaw | [agentscope-ai/CoPaw](https://github.com/agentscope-ai/CoPaw) | 2.2k | |
| 126 | +| ZeptoClaw | [qhkm/zeptoclaw](https://github.com/qhkm/zeptoclaw) | 394 | |
| 127 | +| EasyClaw | [gaoyangz77/easyclaw](https://github.com/gaoyangz77/easyclaw) | 102 | |
| 128 | + |
| 129 | +### GitHub AI Trending |
| 130 | + |
| 131 | +Two data sources are fetched in parallel every day: |
| 132 | + |
| 133 | +| Source | Details | |
| 134 | +|--------|---------| |
| 135 | +| [github.com/trending](https://github.com/trending?since=daily) | Today's trending repos — parsed from HTML; includes today's new star count | |
| 136 | +| 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` | |
| 137 | + |
| 138 | +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. |
| 139 | + |
| 140 | +### Hacker News |
| 141 | + |
| 142 | +Top AI stories from the last 24 hours, fetched via the [Algolia HN Search API](https://hn.algolia.com/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. |
| 143 | + |
| 144 | +### Official web content (sitemap-based) |
| 145 | + |
| 146 | +| Organization | Site | Tracked sections | |
| 147 | +|---|---|---| |
| 148 | +| Anthropic | [anthropic.com](https://www.anthropic.com) | `/news/`, `/research/`, `/engineering/`, `/learn/` | |
| 149 | +| OpenAI | [openai.com](https://openai.com) | research, publication, release, company, engineering, milestone, learn-guides, safety, product | |
| 150 | + |
| 151 | +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. |
| 152 | + |
| 153 | +## Features |
| 154 | + |
| 155 | +- Fetches issues, pull requests, and releases updated in the last 24 hours across all tracked repos |
| 156 | +- Tracks trending Claude Code Skills — sorted by community engagement, not recency |
| 157 | +- Generates a per-tool summary for each CLI repository and a cross-tool comparative analysis |
| 158 | +- Generates a deep OpenClaw project report plus a cross-ecosystem comparison against 10 peer projects |
| 159 | +- Scrapes official Anthropic and OpenAI web content via sitemaps; detects new articles incrementally |
| 160 | +- Monitors GitHub Trending daily + searches 6 AI topic tags; classifies repos by dimension and extracts trend signals |
| 161 | +- Fetches top-30 AI stories from Hacker News (last 24h, ranked by points); generates community sentiment report |
| 162 | +- Publishes GitHub Issues for each report type; commits Markdown files to `digests/YYYY-MM-DD/` |
| 163 | +- Runs on a daily schedule via GitHub Actions; supports manual triggering |
| 164 | +- All tracked repositories are configurable via `config.yml` — no code changes needed |
| 165 | + |
| 166 | +## Setup |
| 167 | + |
| 168 | +### 1. Fork this repository |
| 169 | + |
| 170 | +### 2. Customize `config.yml` (optional) |
| 171 | + |
| 172 | +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. |
| 173 | + |
| 174 | +```yaml |
| 175 | +# Add a new CLI tool |
| 176 | +cli_repos: |
| 177 | + - id: my-tool |
| 178 | + repo: owner/my-ai-cli |
| 179 | + name: My AI Tool |
| 180 | + |
| 181 | +# Add a new peer project to the OpenClaw ecosystem comparison |
| 182 | +openclaw_peers: |
| 183 | + - id: my-agent |
| 184 | + repo: owner/my-agent |
| 185 | + name: My Agent |
| 186 | +``` |
| 187 | +
|
| 188 | +### 3. Add Secrets and Variables |
| 189 | +
|
| 190 | +Go to **Settings → Secrets and variables → Actions** and add: |
| 191 | +
|
| 192 | +**Secrets** (sensitive values): |
| 193 | +
|
| 194 | +| Secret | Required | Description | |
| 195 | +|--------|----------|-------------| |
| 196 | +| `ANTHROPIC_API_KEY` | one of A/B | API key — works with both Anthropic and Kimi Code | |
| 197 | +| `ANTHROPIC_BASE_URL` | optional | API endpoint override. Set to `https://api.kimi.com/coding/` for Kimi Code; leave unset for Anthropic | |
| 198 | +| `OPENAI_API_KEY` | one of A/B | OpenAI-compatible API key. When set, takes precedence over Anthropic | |
| 199 | +| `OPENAI_BASE_URL` | optional | OpenAI-compatible endpoint override (e.g. `https://gen.pollinations.ai/v1`) | |
| 200 | +| `TELEGRAM_BOT_TOKEN` | optional | Telegram bot token from [@BotFather](https://t.me/BotFather). If set, a message is sent after each digest run | |
| 201 | +| `TELEGRAM_CHAT_ID` | optional | Telegram chat/channel/group ID to send notifications to | |
| 202 | + |
| 203 | +> Set **either** `ANTHROPIC_API_KEY` (Option A) **or** `OPENAI_API_KEY` (Option B). If both are set, OpenAI takes precedence. |
| 204 | + |
| 205 | +**Variables** (non-sensitive, under the **Variables** tab): |
| 206 | + |
| 207 | +| Variable | Default | Description | |
| 208 | +|----------|---------|-------------| |
| 209 | +| `OPENAI_MODEL` | `gpt-4o` | Model name for the OpenAI-compatible provider | |
| 210 | +| `DIGEST_LANGS` | `vi` | Comma-separated language codes to generate: `vi`, `zh`, `en` (e.g. `zh,en,vi` for all three) | |
| 211 | + |
| 212 | +> `GITHUB_TOKEN` is provided automatically by GitHub Actions. |
| 213 | + |
| 214 | +**Setting up Telegram notifications** (optional): |
| 215 | +1. Message [@BotFather](https://t.me/BotFather) on Telegram, create a bot, and copy the token |
| 216 | +2. Add the bot to your channel/group, or start a DM with it |
| 217 | +3. Get the chat ID via [@userinfobot](https://t.me/userinfobot) or the [getUpdates](https://core.telegram.org/bots/api#getupdates) API |
| 218 | +4. Add `TELEGRAM_BOT_TOKEN` and `TELEGRAM_CHAT_ID` as repository secrets |
| 219 | + |
| 220 | +> If neither secret is set, the notification step is silently skipped. |
| 221 | + |
| 222 | +### 3. Enable the workflow |
| 223 | + |
| 224 | +Confirm the workflow is enabled in the **Actions** tab. |
| 225 | + |
| 226 | +To test immediately, go to **Actions → Daily Agents Radar → Run workflow**. |
| 227 | + |
| 228 | +> **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. |
| 229 | + |
| 230 | +## Running locally |
| 231 | + |
| 232 | +```bash |
| 233 | +pnpm install |
| 234 | +
|
| 235 | +export GITHUB_TOKEN=ghp_xxxxx |
| 236 | +
|
| 237 | +# Option A — OpenAI-compatible (takes precedence when OPENAI_API_KEY is set) |
| 238 | +export OPENAI_API_KEY=sk-xxxxx |
| 239 | +export OPENAI_BASE_URL=https://your-provider/v1 # optional |
| 240 | +export OPENAI_MODEL=gpt-4o # optional, default: gpt-4o |
| 241 | +
|
| 242 | +# Option B — Anthropic (default when OPENAI_API_KEY is absent) |
| 243 | +export ANTHROPIC_API_KEY=sk-ant-xxxxx |
| 244 | +export ANTHROPIC_BASE_URL=https://api.kimi.com/coding/ # optional |
| 245 | +
|
| 246 | +export DIGEST_REPO=your-username/agents-radar # optional; omit to only write files |
| 247 | +export DIGEST_LANGS=vi # optional; default: vi |
| 248 | +
|
| 249 | +pnpm start |
| 250 | +``` |
| 251 | + |
| 252 | +## Output format |
| 253 | + |
| 254 | +Files are written to `digests/YYYY-MM-DD/`: |
| 255 | + |
| 256 | +| File | Content | GitHub Issue label | |
| 257 | +|------|---------|-------------------| |
| 258 | +| `ai-cli.md` | CLI digest — cross-tool comparison + per-tool details | `digest` | |
| 259 | +| `ai-agents.md` | OpenClaw deep report + cross-ecosystem comparison + 10 peer details | `openclaw` | |
| 260 | +| `ai-web.md` | Official web content report (only written when new content exists) | `web` | |
| 261 | +| `ai-trending.md` | GitHub AI trending report — repos classified by dimension + trend signals (only written when data is available) | `trending` | |
| 262 | +| `ai-hn.md` | Hacker News AI community digest — top stories + sentiment analysis (only written when fetch succeeds) | `hn` | |
| 263 | + |
| 264 | +A shared state file `digests/web-state.json` tracks which web URLs have been seen; it is committed alongside the daily digests. |
| 265 | + |
| 266 | +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. |
| 267 | + |
| 268 | +--- |
| 269 | + |
| 270 | +`ai-cli.md` / `ai-cli-en.md` structure: |
| 271 | +``` |
| 272 | +## Cross-Tool Comparison |
| 273 | + Ecosystem overview / Activity comparison table / Shared themes / Differentiation / Trend signals |
| 274 | +
|
| 275 | +## Per-Tool Reports |
| 276 | + <details> Claude Code — [Claude Code Skills Highlights] |
| 277 | + Top skills / Community demand trends / High-potential pending skills |
| 278 | + --- |
| 279 | + Today's summary / Hot issues / PR progress / Trends |
| 280 | + <details> OpenAI Codex — Today's summary / Hot issues / PR progress / Trends |
| 281 | + <details> Gemini CLI — ... |
| 282 | + <details> GitHub Copilot CLI — ... |
| 283 | + <details> Kimi Code CLI — ... |
| 284 | + <details> OpenCode — ... |
| 285 | + <details> Qwen Code — ... |
| 286 | +``` |
| 287 | + |
| 288 | +`ai-agents.md` / `ai-agents-en.md` structure: |
| 289 | +``` |
| 290 | +Issues: N | PRs: N | Projects covered: 10 |
| 291 | +
|
| 292 | +## OpenClaw Deep Dive |
| 293 | + Today's summary / Releases / Project progress / Community highlights / |
| 294 | + Bug stability / Feature requests / User feedback / Backlog |
| 295 | +
|
| 296 | +## Cross-Ecosystem Comparison |
| 297 | + Ecosystem overview / Activity table / OpenClaw positioning / |
| 298 | + Shared technical directions / Differentiation / Community maturity / Trend signals |
| 299 | +
|
| 300 | +## Peer Project Reports |
| 301 | + <details> Zeroclaw — Today's summary / Releases / Progress / ... (8 sections) |
| 302 | + <details> EasyClaw — ... |
| 303 | + <details> LobsterAI — ... |
| 304 | + <details> ZeptoClaw — ... |
| 305 | + <details> NanoBot — ... |
| 306 | + <details> PicoClaw — ... |
| 307 | + <details> NanoClaw — ... |
| 308 | + <details> IronClaw — ... |
| 309 | + <details> TinyClaw — ... |
| 310 | + <details> CoPaw — ... |
| 311 | +``` |
| 312 | + |
| 313 | +`ai-web.md` / `ai-web-en.md` structure: |
| 314 | +``` |
| 315 | +Sources: anthropic.com (N articles) + openai.com (N articles) |
| 316 | +
|
| 317 | +Today's summary |
| 318 | +Anthropic / Claude highlights (news / research / engineering / learn) |
| 319 | +OpenAI highlights (research / release / company / safety / ...) |
| 320 | +Strategic signals |
| 321 | +Notable details |
| 322 | +[First full crawl also includes: Content landscape overview] |
| 323 | +``` |
| 324 | + |
| 325 | +`ai-trending.md` / `ai-trending-en.md` structure: |
| 326 | +``` |
| 327 | +Sources: GitHub Trending + GitHub Search API |
| 328 | +
|
| 329 | +Today's summary |
| 330 | +Top repos by dimension |
| 331 | + 🔧 AI Infrastructure — frameworks / SDKs / inference engines / CLIs |
| 332 | + 🤖 AI Agents — agent frameworks / multi-agent / automation |
| 333 | + 📦 AI Applications — vertical products / solutions |
| 334 | + 🧠 Models & Training — model weights / training frameworks / fine-tuning |
| 335 | + 🔍 RAG & Knowledge — vector databases / retrieval augmentation |
| 336 | +Trend signal analysis |
| 337 | +Community focus |
| 338 | +``` |
| 339 | + |
| 340 | +`ai-hn.md` / `ai-hn-en.md` structure: |
| 341 | +``` |
| 342 | +Sources: Hacker News (top-30 AI stories, last 24h) |
| 343 | +
|
| 344 | +Today's summary |
| 345 | +Top stories & discussions |
| 346 | + 🔬 Models & Research — new model releases / papers / benchmarks |
| 347 | + 🛠️ Tools & Engineering — open-source projects / frameworks / engineering practice |
| 348 | + 🏢 Industry news — company news / funding / product launches |
| 349 | + 💬 Opinions & debate — Ask HN / Show HN / hot threads |
| 350 | +Community sentiment signals |
| 351 | +Worth reading |
| 352 | +``` |
| 353 | + |
| 354 | +`ai-weekly.md` / `ai-weekly-en.md` structure (generated every Monday): |
| 355 | +``` |
| 356 | +Coverage: YYYY-MM-DD ~ YYYY-MM-DD (last 7 daily digests) |
| 357 | +
|
| 358 | +Weekly highlights |
| 359 | +Key trends & developments |
| 360 | +Notable releases |
| 361 | +Community momentum |
| 362 | +Outlook |
| 363 | +``` |
| 364 | + |
| 365 | +`ai-monthly.md` / `ai-monthly-en.md` structure (generated on the 1st of each month): |
| 366 | +``` |
| 367 | +Sources: N weekly reports (or sampled daily reports if fewer than 2 weeklies available) |
| 368 | +
|
| 369 | +Month in review |
| 370 | +Major themes |
| 371 | +Ecosystem shifts |
| 372 | +Top projects & releases |
| 373 | +Looking ahead |
| 374 | +``` |
| 375 | + |
| 376 | +Historical digests are stored in [`digests/`](./digests/). Published issues are tagged by type: [`digest`](../../issues?label=digest) · [`openclaw`](../../issues?label=openclaw) · [`web`](../../issues?label=web) · [`trending`](../../issues?label=trending) · [`hn`](../../issues?label=hn) · [`weekly`](../../issues?label=weekly) · [`monthly`](../../issues?label=monthly). |
| 377 | + |
| 378 | +## Schedule |
| 379 | + |
| 380 | +| Workflow | Cron | UTC | CST | |
| 381 | +|----------|------|-----|-----| |
| 382 | +| Daily digest | `0 0 * * *` | 00:00 daily | 08:00 daily | |
| 383 | +| Weekly rollup | `0 1 * * 1` | 01:00 Monday | 09:00 Monday | |
| 384 | +| Monthly rollup | `0 2 1 * *` | 02:00 on the 1st | 10:00 on the 1st | |
| 385 | + |
| 386 | +To change the schedule, edit the cron expressions in the corresponding workflow files under `.github/workflows/`. |
| 387 | + |
| 388 | +## Star History |
| 389 | + |
| 390 | +[](https://star-history.com/#compasify/agents-radar&Date) |
0 commit comments