Skip to content

Commit eb93a34

Browse files
feat: add English README for agents-radar project
1 parent 5929d2a commit eb93a34

File tree

2 files changed

+540
-140
lines changed

2 files changed

+540
-140
lines changed

README.en.md

Lines changed: 390 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,390 @@
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+
[![Star History Chart](https://api.star-history.com/svg?repos=compasify/agents-radar&type=Date)](https://star-history.com/#compasify/agents-radar&Date)

0 commit comments

Comments
 (0)