Skip to content

Commit a21f125

Browse files
author
backryun
committed
fix(ci): align ChatGPT Web quality contracts
1 parent 2538631 commit a21f125

69 files changed

Lines changed: 1067 additions & 792 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

AGENTS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ Repository map and Reference Documentation sections below.
4646

4747
## Project at a Glance
4848

49-
**OmniRoute** — unified AI proxy/router. One endpoint, 355 LLM providers, auto-fallback.
49+
**OmniRoute** — unified AI proxy/router. One endpoint, 356 LLM providers, auto-fallback.
5050

5151
| Layer | Location | Purpose |
5252
| ------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -56,7 +56,7 @@ Repository map and Reference Documentation sections below.
5656
| Translators | `open-sse/translator/` | Format conversion (OpenAI↔Claude↔Gemini) |
5757
| Transformer | `open-sse/transformer/` | Responses API ↔ Chat Completions |
5858
| Services | `open-sse/services/` | Combo routing, rate limits, caching, etc |
59-
| Database | `src/lib/db/` | SQLite domain modules (167 migrations) |
59+
| Database | `src/lib/db/` | SQLite domain modules (168 migrations) |
6060
| Domain/Policy | `src/domain/` | Policy engine, cost rules, fallback logic |
6161
| MCP Server | `open-sse/mcp-server/` | 110 tools (45 canonical + memory/skill/GitHub/pool/gamification/plugin/Notion/Obsidian/local-corpus/RTK modules), 3 transports (stdio / SSE / Streamable HTTP), 33 scopes |
6262
| A2A Server | `src/lib/a2a/` | JSON-RPC 2.0 agent protocol |

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
# 🚀 OmniRoute — The Free AI Gateway
99

10-
<img src="./docs/diagrams/readme-hero.svg" width="100%" alt="OmniRoute — Never stop coding. Every AI tool → 355 providers — 150+ free — through one endpoint. Claude Code, Codex, Cursor, Cline, Copilot & Antigravity into FREE Claude / GPT / Gemini with auto-fallback. RTK + Caveman stacked compression saves 15–95% tokens (~89% avg) — never hit limits. 355 AI providers · 150+ free tiers · ~1.51B free tokens/mo · 19 routing strategies · $0 to start."/>
10+
<img src="./docs/diagrams/readme-hero.svg" width="100%" alt="OmniRoute — Never stop coding. Every AI tool → 356 providers — 150+ free — through one endpoint. Claude Code, Codex, Cursor, Cline, Copilot & Antigravity into FREE Claude / GPT / Gemini with auto-fallback. RTK + Caveman stacked compression saves 15–95% tokens (~89% avg) — never hit limits. 356 AI providers · 150+ free tiers · ~1.51B free tokens/mo · 19 routing strategies · $0 to start."/>
1111

1212
</div>
1313

@@ -63,7 +63,7 @@
6363

6464
| | v3.8.49 | **v3.8.50** | `v3.8.51+` |
6565
| ------------------------- | :-----: | :-----------------------: | :---------: |
66-
| 🌐 Providers | 290 | **352** | more queued |
66+
| 🌐 Providers | 290 | **354** | more queued |
6767
| 🧠 Unique chat model IDs | 1185 | **1312** ||
6868
| 🖼️ Modality Bridge || 🆕 vision + audio + video ||
6969
| 📡 Radar free catalog || 🆕 opt-in ||
@@ -101,7 +101,7 @@
101101
<tr>
102102
<td align="right"><b>⚙️ Features</b></td>
103103
<td align="center"><a href="#-combos--the-flagship">🎯 Combos</a></td>
104-
<td align="center"><a href="#-352-ai-providers--154-catalog-marked-free">🌐 Providers</a></td>
104+
<td align="center"><a href="#-354-ai-providers--152-catalog-marked-free">🌐 Providers</a></td>
105105
<td align="center"><a href="#-full-cli--a2a--mcp">🔌 CLI &amp; MCP</a></td>
106106
</tr>
107107
<tr>
@@ -210,7 +210,7 @@ curl http://localhost:20128/v1/chat/completions \
210210

211211
</div>
212212

213-
<img src="./docs/diagrams/promise-pillars.svg" width="100%" alt="The Promise — One endpoint and 355 providers. Automatic fallback keeps routing while another healthy target is available. Six pillars: resilient fallback across 355 providers · up to 95% token savings on eligible workloads · $0 to start with 150+ free tiers and 53 recurring/keyless free-forever providers · 36 CLI/agent integrations through one config · OpenAI, Claude, Gemini and Responses API compatibility at /v1 · production controls including circuit breakers, TLS stealth, MCP 110 tools, A2A, memory, guardrails, evals and 39,000+ static test declarations across 5,100+ tracked test files."/>
213+
<img src="./docs/diagrams/promise-pillars.svg" width="100%" alt="The Promise — One endpoint and 356 providers. Automatic fallback keeps routing while another healthy target is available. Six pillars: resilient fallback across 356 providers · up to 95% token savings on eligible workloads · $0 to start with 150+ free tiers and 53 recurring/keyless free-forever providers · 36 CLI/agent integrations through one config · OpenAI, Claude, Gemini and Responses API compatibility at /v1 · production controls including circuit breakers, TLS stealth, MCP 110 tools, A2A, memory, guardrails, evals and 39,000+ static test declarations across 5,100+ tracked test files."/>
214214

215215
<br/>
216216
<br/>
@@ -463,7 +463,7 @@ All **19** strategies — mix & match per combo step:
463463

464464
</div>
465465

466-
<img src="./docs/diagrams/comparison-table.svg" width="100%" alt="What sets OmniRoute apart — a dated feature snapshot vs 9router, OpenRouter, CLIProxyAPI and LiteLLM across 13 capabilities. OmniRoute: 355 providers, 150+ free tiers built in, 19 routing strategies, 12-engine token compression, built-in MCP server with 110 tools, A2A agent protocol, persistent memory, guardrails, cloud agents, TLS fingerprint stealth, Desktop/Termux/PWA and 43 i18n UI locales. OmniRoute is MIT-licensed and self-hostable. Competitor capabilities and counts may change; see the linked methodology."/>
466+
<img src="./docs/diagrams/comparison-table.svg" width="100%" alt="What sets OmniRoute apart — a dated feature snapshot vs 9router, OpenRouter, CLIProxyAPI and LiteLLM across 13 capabilities. OmniRoute: 356 providers, 150+ free tiers built in, 19 routing strategies, 12-engine token compression, built-in MCP server with 110 tools, A2A agent protocol, persistent memory, guardrails, cloud agents, TLS fingerprint stealth, Desktop/Termux/PWA and 43 i18n UI locales. OmniRoute is MIT-licensed and self-hostable. Competitor capabilities and counts may change; see the linked methodology."/>
467467

468468
<sub>📊 Full methodology &amp; per-feature detail vs 9router, OpenRouter, CLIProxyAPI &amp; LiteLLM → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)</sub>
469469

@@ -561,7 +561,7 @@ the current catalog at **[radar.omniroute.online/planos](https://radar.omniroute
561561
- **🖼️ New endpoints**`/v1/ocr` (Mistral OCR) and `/v1/audio/translations` (Whisper-style) round out the media surface. → [API Reference](docs/reference/API_REFERENCE.md)
562562
- **🎨 Image / video / audio generation** — one API for media: xAI Grok Imagine & Novita AI video, ComfyUI, Magnific, Adobe Firefly, Segmind, and speech providers such as ElevenLabs. → [API Reference](docs/reference/API_REFERENCE.md)
563563
- **🌍 Deployment & ops** — reverse-proxy `basePath`, browser-language auto-detect, per-key device tracking, root-less MITM trust, zh-TW localization. → [Environment](docs/reference/ENVIRONMENT.md)
564-
- **🤝 More providers & agents** — cloud agents (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) with browser + OAuth login, Ollama first-class card, Claude Opus 5 & Sonnet 5, Kimi official partnership (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… and a refreshed **352-provider catalog**. → [Providers](docs/reference/PROVIDER_REFERENCE.md)
564+
- **🤝 More providers & agents** — cloud agents (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) with browser + OAuth login, Ollama first-class card, Claude Opus 5 & Sonnet 5, Kimi official partnership (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… and a refreshed **354-provider catalog**. → [Providers](docs/reference/PROVIDER_REFERENCE.md)
565565
- **📡 Routing transparency** — every response carries an `X-OmniRoute-Decision` header naming the strategy/provider/latency that served it, a new `cache-optimized` combo strategy + Auto-Combo `cacheAffinity` factor route repeat requests back to the connection holding the cached prefix, and a read-only `/v1/auto-combo/{channel}/candidates` endpoint exposes an `auto/*` channel's live candidate pool. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
566566
- **⚡ Local performance & infra** — one-click local Redis, Cloudflare Workers / Deno Deploy relay deployers, Bifrost & Mux as supervised embedded services. → [Embedded Services](docs/frameworks/EMBEDDED-SERVICES.md)
567567
- **🧩 Also in the box** — plugin framework + marketplace, Omni/Agent/GitHub skills frameworks, Obsidian vault integration (22 MCP tools), OpenAI-compatible Batch & Files APIs, semantic response cache, gamification with leaderboards, ACP agent discovery (15 built-in agents), scheduled log export to BigQuery, `auto/chaos` fault injection, a Telegram bot bridge, an in-app version manager and LMArena-ELO free-provider rankings. → [Docs](docs/README.md)
@@ -645,11 +645,11 @@ of your shell history. → [CLI Integrations](docs/guides/CLI-INTEGRATIONS.md)
645645

646646
<div align="center">
647647

648-
## 🌐 352 AI Providers — 152 Catalog-Marked Free
648+
## 🌐 354 AI Providers — 152 Catalog-Marked Free
649649

650650
</div>
651651

652-
> **352 registered providers** across the canonical chat, media, search, local, cloud-agent and system collections, including **152 carrying `hasFree: true` discovery metadata**. The chat model registry covers **229 providers / 2,554 distinct provider-model pairs / 1,283 raw model IDs**; the separate free-budget catalog has **446 per-model rows**, **38 recurring pools** and **53 recurring/keyless free-forever providers**. These are different denominators by design; definitions and pool-deduped calculations live in the [Provider Reference](docs/reference/PROVIDER_REFERENCE.md) and [Free Tiers](docs/reference/FREE_TIERS.md).
652+
> **354 registered providers** across the canonical chat, media, search, local, cloud-agent and system collections, including **152 carrying `hasFree: true` discovery metadata**. The chat model registry covers **229 providers / 2,554 distinct provider-model pairs / 1,283 raw model IDs**; the separate free-budget catalog has **446 per-model rows**, **38 recurring pools** and **53 recurring/keyless free-forever providers**. These are different denominators by design; definitions and pool-deduped calculations live in the [Provider Reference](docs/reference/PROVIDER_REFERENCE.md) and [Free Tiers](docs/reference/FREE_TIERS.md).
653653
654654
<div align="center">
655655

@@ -1208,7 +1208,7 @@ Métricas canônicas em 2026-08-24: **1.029 vídeos únicos** · **11.132.922 vi
12081208
<tr><td nowrap><b>Runtime</b></td><td>Node.js 22.x / 24.x LTS — <code>&gt;=22.22.2 &lt;23 || &gt;=24.0.0 &lt;27</code></td></tr>
12091209
<tr><td nowrap><b>Language</b></td><td>TypeScript 6.0 — <b>100% TypeScript</b> across <code>src/</code> and <code>open-sse/</code> (zero <code>any</code> in core since v2.0)</td></tr>
12101210
<tr><td nowrap><b>Framework</b></td><td>Next.js 16 + React 19 + Tailwind CSS 4</td></tr>
1211-
<tr><td nowrap><b>Database</b></td><td>better-sqlite3 (SQLite, WAL journaling) + LowDB (JSON legacy) — 122 domain modules, 167 migrations</td></tr>
1211+
<tr><td nowrap><b>Database</b></td><td>better-sqlite3 (SQLite, WAL journaling) + LowDB (JSON legacy) — 122 domain modules, 168 migrations</td></tr>
12121212
<tr><td nowrap><b>Memory</b></td><td>SQLite FTS5 full-text + int8-quantized vector embeddings, typed decay</td></tr>
12131213
<tr><td nowrap><b>Schemas</b></td><td>Zod 4 — MCP tool I/O validation + API contracts</td></tr>
12141214
<tr><td nowrap><b>Protocols</b></td><td>MCP (stdio / HTTP / SSE) + A2A v0.3 (JSON-RPC 2.0 + SSE)</td></tr>

docs/architecture/ARCHITECTURE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ It provides a single OpenAI-compatible endpoint (`/v1/*`) and routes traffic acr
1717

1818
Core capabilities:
1919

20-
- OpenAI-compatible API surface for CLI/tools (352 providers, 106 executors)
20+
- OpenAI-compatible API surface for CLI/tools (356 providers, 109 executors)
2121
- Request/response translation across provider formats
2222
- Model combo fallback (multi-model sequence)
2323
- Structured combo steps (`provider + model + connection`) with runtime ordering by `compositeTiers`

docs/architecture/CODEBASE_DOCUMENTATION.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,7 @@ Domain modules (each owns one or more tables): `apiKeys.ts`, `backup.ts`,
348348
`syncTokens.ts`, `tierConfig.ts`, `upstreamProxy.ts`, `versionManager.ts`,
349349
`webhooks.ts`.
350350

351-
`migrations/` holds 167 versioned `.sql` files (idempotent, transactional) and is
351+
`migrations/` holds 168 versioned `.sql` files (idempotent, transactional) and is
352352
executed by `migrationRunner.ts` at boot.
353353

354354
Tables created across the migrations (123 total):
@@ -449,7 +449,7 @@ open-sse/
449449
├── types.d.ts
450450
├── config/ Provider registries, header profiles, identity, …
451451
├── handlers/ Request handlers (chat, embeddings, audio, image, …)
452-
├── executors/ 106 provider-specific HTTP executors
452+
├── executors/ 108 provider-specific HTTP executors
453453
├── translator/ Format conversion (OpenAI ↔ Claude ↔ Gemini ↔ Cursor ↔ Kiro)
454454
├── transformer/ Responses API ↔ Chat Completions stream transformer
455455
├── services/ 80+ service modules (combos, fallback, quotas, identity, …)
@@ -479,7 +479,7 @@ open-sse/
479479

480480
### 4.2 `open-sse/executors/`
481481

482-
106 provider executors, each extending `BaseExecutor` (`base.ts`):
482+
109 provider executors, each extending `BaseExecutor` (`base.ts`):
483483

484484
`antigravity`, `azure-openai`, `blackbox-web`, `cliproxyapi`,
485485
`chatgpt-web-codex`, `cloudflare-ai`, `codex`, `commandCode`, `cursor`, `default`, `devin-cli`,
@@ -488,7 +488,7 @@ open-sse/
488488
(shared identity helper) and `index.ts` (registry).
489489

490490
> Note: providers not listed here are served by `default.ts` using the generic
491-
> OpenAI-compatible executor. The full provider catalog (352 providers) lives in
491+
> OpenAI-compatible executor. The full provider catalog (356 providers) lives in
492492
> `src/shared/constants/providers.ts`.
493493
494494
### 4.3 `open-sse/translator/`

0 commit comments

Comments
 (0)