Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
168 changes: 84 additions & 84 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,27 @@ Subscribe in any RSS reader (Feedly, Reeder, NewsBlur, etc.) to receive new dige

## MCP Server

**`https://big-model-radar-mcp.<your-subdomain>.workers.dev`**
**Cloudflare Workers self-hosting required** — deploy your own instance from the `mcp/` directory:

```bash
git clone https://github.com/gsscsd/big_model_radar.git
cd mcp
pnpm install
npx wrangler deploy
```

Then **`https://big-model-radar-mcp.<your-subdomain>.workers.dev`** is your MCP server endpoint.

A hosted [Model Context Protocol](https://modelcontextprotocol.io) server that exposes Big Model Radar data as tools. Any MCP-compatible client (Claude Desktop, OpenClaw, etc.) can query the latest AI ecosystem reports directly.

**Available tools:**

| Tool | Description |
|------|-------------|
| 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 |
| `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`:

Expand All @@ -44,41 +53,24 @@ A hosted [Model Context Protocol](https://modelcontextprotocol.io) server that e
```

Restart Claude Desktop after saving. You can then ask Claude things like:

- *"What's the latest in AI CLI tools?"* → calls `get_latest`
- *"Search for Claude Code mentions this week"* → calls `search`
- *"Show me the AI trending report for 2026-03-05"* → calls `get_report`

**OpenClaw setup** — run the following command:

```bash
openclaw mcp add --transport http big-model-radar https://big-model-radar-mcp.<your-subdomain>.workers.dev
```
## OpenClaw setup

Or add it manually to `~/.openclaw/openclaw.json`:
1. Install MCP Porter with `npm install -g mcporter` (pnpm or other package managers also work)
2. Add the MCP server:

```json
{
"mcpServers": {
"big-model-radar": {
"type": "http",
"url": "https://big-model-radar-mcp.<your-subdomain>.workers.dev"
}
}
}
```bash
mcporter config add big-model-radar --url https://big-model-radar-mcp.<your-subdomain>.workers.dev --transport sse
```

You can then ask OpenClaw things like:
- *"What's the latest in AI CLI tools?"* → calls `get_latest`
- *"Search for Claude Code mentions this week"* → calls `search`
- *"Show me the AI trending report for 2026-03-05"* → calls `get_report`

**Self-hosting** — deploy your own instance from the `mcp/` directory:
3. Enable the `mcporter` plugin in OpenClaw
4. Start chatting with your OpenClaw instance and query reports

```bash
cd mcp
pnpm install
wrangler deploy
```
After setup, you can feel free to ask OpenClaw questions.

## Telegram Channel

Expand All @@ -90,20 +82,20 @@ Subscribe to get daily digest notifications pushed directly to Telegram. Each me

### AI CLI tools (GitHub)

| Tool | Repository |
|------|-----------|
| Claude Code | [anthropics/claude-code](https://github.com/anthropics/claude-code) |
| OpenAI Codex | [openai/codex](https://github.com/openai/codex) |
| Gemini CLI | [google-gemini/gemini-cli](https://github.com/google-gemini/gemini-cli) |
| GitHub Copilot CLI | [github/copilot-cli](https://github.com/github/copilot-cli) |
| Kimi Code CLI | [MoonshotAI/kimi-cli](https://github.com/MoonshotAI/kimi-cli) |
| OpenCode | [anomalyco/opencode](https://github.com/anomalyco/opencode) |
| Qwen Code | [QwenLM/qwen-code](https://github.com/QwenLM/qwen-code) |
| Tool | Repository |
|--------------------|-------------------------------------------------------------------------|
| Claude Code | [anthropics/claude-code](https://github.com/anthropics/claude-code) |
| OpenAI Codex | [openai/codex](https://github.com/openai/codex) |
| Gemini CLI | [google-gemini/gemini-cli](https://github.com/google-gemini/gemini-cli) |
| GitHub Copilot CLI | [github/copilot-cli](https://github.com/github/copilot-cli) |
| Kimi Code CLI | [MoonshotAI/kimi-cli](https://github.com/MoonshotAI/kimi-cli) |
| OpenCode | [anomalyco/opencode](https://github.com/anomalyco/opencode) |
| Qwen Code | [QwenLM/qwen-code](https://github.com/QwenLM/qwen-code) |

### Claude Code Skills (GitHub)

| Source | Repository |
|--------|-----------|
| Source | Repository |
|--------------------|-----------------------------------------------------------|
| Claude Code Skills | [anthropics/skills](https://github.com/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.
Expand All @@ -112,28 +104,28 @@ PRs and issues are fetched without a date filter and sorted by popularity (comme

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.

| Project | Repository | Stars |
|---------|-----------|-------|
| OpenClaw | [openclaw/openclaw](https://github.com/openclaw/openclaw) | 240.5k |
| NanoBot | [HKUDS/nanobot](https://github.com/HKUDS/nanobot) | 26.9k |
| Zeroclaw | [zeroclaw-labs/zeroclaw](https://github.com/zeroclaw-labs/zeroclaw) | 21.2k |
| PicoClaw | [sipeed/picoclaw](https://github.com/sipeed/picoclaw) | 21.1k |
| NanoClaw | [qwibitai/nanoclaw](https://github.com/qwibitai/nanoclaw) | 16.6k |
| IronClaw | [nearai/ironclaw](https://github.com/nearai/ironclaw) | 3.9k |
| LobsterAI | [netease-youdao/LobsterAI](https://github.com/netease-youdao/LobsterAI) | 3.0k |
| TinyClaw | [TinyAGI/tinyclaw](https://github.com/TinyAGI/tinyclaw) | 2.8k |
| CoPaw | [agentscope-ai/CoPaw](https://github.com/agentscope-ai/CoPaw) | 2.2k |
| ZeptoClaw | [qhkm/zeptoclaw](https://github.com/qhkm/zeptoclaw) | 394 |
| EasyClaw | [gaoyangz77/easyclaw](https://github.com/gaoyangz77/easyclaw) | 102 |
| Project | Repository | Stars |
|-----------|-------------------------------------------------------------------------|--------|
| OpenClaw | [openclaw/openclaw](https://github.com/openclaw/openclaw) | 240.5k |
| NanoBot | [HKUDS/nanobot](https://github.com/HKUDS/nanobot) | 26.9k |
| Zeroclaw | [zeroclaw-labs/zeroclaw](https://github.com/zeroclaw-labs/zeroclaw) | 21.2k |
| PicoClaw | [sipeed/picoclaw](https://github.com/sipeed/picoclaw) | 21.1k |
| NanoClaw | [qwibitai/nanoclaw](https://github.com/qwibitai/nanoclaw) | 16.6k |
| IronClaw | [nearai/ironclaw](https://github.com/nearai/ironclaw) | 3.9k |
| LobsterAI | [netease-youdao/LobsterAI](https://github.com/netease-youdao/LobsterAI) | 3.0k |
| TinyClaw | [TinyAGI/tinyclaw](https://github.com/TinyAGI/tinyclaw) | 2.8k |
| CoPaw | [agentscope-ai/CoPaw](https://github.com/agentscope-ai/CoPaw) | 2.2k |
| ZeptoClaw | [qhkm/zeptoclaw](https://github.com/qhkm/zeptoclaw) | 394 |
| EasyClaw | [gaoyangz77/easyclaw](https://github.com/gaoyangz77/easyclaw) | 102 |

### GitHub AI Trending

Two data sources are fetched in parallel every day:

| Source | Details |
|--------|---------|
| [github.com/trending](https://github.com/trending?since=daily) | 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` |
| Source | Details |
|----------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|
| [github.com/trending](https://github.com/trending?since=daily) | 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.

Expand All @@ -143,10 +135,10 @@ Top AI stories from the last 24 hours, fetched via the [Algolia HN Search API](h

### Official web content (sitemap-based)

| Organization | Site | Tracked sections |
|---|---|---|
| Anthropic | [anthropic.com](https://www.anthropic.com) | `/news/`, `/research/`, `/engineering/`, `/learn/` |
| OpenAI | [openai.com](https://openai.com) | research, publication, release, company, engineering, milestone, learn-guides, safety, product |
| Organization | Site | Tracked sections |
|--------------|--------------------------------------------|------------------------------------------------------------------------------------------------|
| Anthropic | [anthropic.com](https://www.anthropic.com) | `/news/`, `/research/`, `/engineering/`, `/learn/` |
| OpenAI | [openai.com](https://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.

Expand Down Expand Up @@ -189,21 +181,22 @@ openclaw_peers:

Go to **Settings → Secrets and variables → Actions** and add:

| Secret | Required | Description |
|--------|----------|-------------|
| `OPENAI_API_KEY` | ✅ | API key for any OpenAI-compatible endpoint |
| `OPENAI_BASE_URL` | optional | API endpoint override. Leave unset for OpenAI, or set a compatible provider URL such as `https://api.openai.com/v1` |
| `OPENAI_MODEL` | optional | Model name passed to `chat/completions`, e.g. `gpt-4.1-mini` |
| `REPORT_LANGS` | optional | Report languages, e.g. `zh` or `zh,en` (default: `zh`) |
| `PAGES_URL` | recommended | Public site base URL, e.g. `https://your-user.github.io/big_model_radar`. Prefer a repository variable for this |
| `TELEGRAM_BOT_TOKEN` | optional | Telegram bot token from [@BotFather](https://t.me/BotFather). If set, a message is sent after each digest run |
| `TELEGRAM_CHAT_ID` | optional | Telegram chat/channel/group ID to send notifications to. Required if you enable Telegram notifications |
| Secret | Required | Description |
|----------------------|-------------|---------------------------------------------------------------------------------------------------------------------|
| `OPENAI_API_KEY` | ✅ | API key for any OpenAI-compatible endpoint |
| `OPENAI_BASE_URL` | optional | API endpoint override. Leave unset for OpenAI, or set a compatible provider URL such as `https://api.openai.com/v1` |
| `OPENAI_MODEL` | optional | Model name passed to `chat/completions`, e.g. `gpt-4.1-mini` |
| `REPORT_LANGS` | optional | Report languages, e.g. `zh` or `zh,en` (default: `zh`) |
| `PAGES_URL` | recommended | Public site base URL, e.g. `https://your-user.github.io/big_model_radar`. Prefer a repository variable for this |
| `TELEGRAM_BOT_TOKEN` | optional | Telegram bot token from [@BotFather](https://t.me/BotFather). If set, a message is sent after each digest run |
| `TELEGRAM_CHAT_ID` | optional | Telegram chat/channel/group ID to send notifications to. Required if you enable Telegram notifications |

> `GITHUB_TOKEN` is provided automatically by GitHub Actions.
>
> Backward compatibility: `ANTHROPIC_API_KEY`, `ANTHROPIC_BASE_URL`, and `ANTHROPIC_MODEL` are still accepted as aliases, but new setups should use `OPENAI_*`.

**Setting up Telegram notifications** (optional):

1. Message [@BotFather](https://t.me/BotFather) on Telegram, create a bot, and copy the token
2. Add the bot to your channel/group, or start a DM with it
3. Get the chat ID via [@userinfobot](https://t.me/userinfobot) or the [getUpdates](https://core.telegram.org/bots/api#getupdates) API
Expand Down Expand Up @@ -240,13 +233,13 @@ 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 + 10 peer details | `openclaw` |
| `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` |
| 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 + 10 peer details | `openclaw` |
| `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` |

A shared state file `digests/web-state.json` tracks which web URLs have been seen; it is committed alongside the daily digests.

Expand All @@ -255,6 +248,7 @@ Each report is generated in both Chinese (`ai-cli.md`) and English (`ai-cli-en.m
---

`ai-cli.md` / `ai-cli-en.md` structure:

```
## Cross-Tool Comparison
Ecosystem overview / Activity comparison table / Shared themes / Differentiation / Trend signals
Expand All @@ -273,6 +267,7 @@ Each report is generated in both Chinese (`ai-cli.md`) and English (`ai-cli-en.m
```

`ai-agents.md` / `ai-agents-en.md` structure:

```
Issues: N | PRs: N | Projects covered: 10

Expand All @@ -298,6 +293,7 @@ Issues: N | PRs: N | Projects covered: 10
```

`ai-web.md` / `ai-web-en.md` structure:

```
Sources: anthropic.com (N articles) + openai.com (N articles)

Expand All @@ -310,6 +306,7 @@ Notable details
```

`ai-trending.md` / `ai-trending-en.md` structure:

```
Sources: GitHub Trending + GitHub Search API

Expand All @@ -325,6 +322,7 @@ Community focus
```

`ai-hn.md` / `ai-hn-en.md` structure:

```
Sources: Hacker News (top-30 AI stories, last 24h)

Expand All @@ -339,6 +337,7 @@ Worth reading
```

`ai-weekly.md` / `ai-weekly-en.md` structure (generated every Monday):

```
Coverage: YYYY-MM-DD ~ YYYY-MM-DD (last 7 daily digests)

Expand All @@ -350,6 +349,7 @@ Outlook
```

`ai-monthly.md` / `ai-monthly-en.md` structure (generated on the 1st of each month):

```
Sources: N weekly reports (or sampled daily reports if fewer than 2 weeklies available)

Expand All @@ -364,10 +364,10 @@ Historical digests are stored in [`digests/`](./digests/). Published issues are

## Schedule

| Workflow | Cron | UTC | CST |
|----------|------|-----|-----|
| Daily digest | `0 0 * * *` | 00:00 daily | 08:00 daily |
| Weekly rollup | `0 1 * * 1` | 01:00 Monday | 09:00 Monday |
| Workflow | Cron | UTC | CST |
|----------------|-------------|------------------|------------------|
| Daily digest | `0 0 * * *` | 00:00 daily | 08:00 daily |
| Weekly rollup | `0 1 * * 1` | 01:00 Monday | 09:00 Monday |
| Monthly rollup | `0 2 1 * *` | 02:00 on the 1st | 10:00 on the 1st |

To change the schedule, edit the cron expressions in the corresponding workflow files under `.github/workflows/`.
Expand Down
Loading