From a0ceccc6f0efdfd10faaeba97a8013dfda0a3c2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Burak=20Bay=C4=B1r?= Date: Tue, 25 Aug 2026 07:39:39 +0300 Subject: [PATCH] feat(search): add Xquik X search provider (#11370) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Merged into release/v3.8.51 via batch validation: xquik provider suites green on the combined tree (193 node:test assertions incl. your 7 new cases), check:provider-consistency OK (353 canonical providers), static gates green. Well-scoped fallbackOnly X-provider with clean citation building โ€” thanks @kriptoburak! --- AGENTS.md | 2 +- README.md | 12 +- .../features/11370-xquik-search-provider.md | 1 + docs/diagrams/cli-terminal.svg | 6 +- docs/diagrams/comparison-table.svg | 2 +- docs/diagrams/promise-pillars.svg | 6 +- docs/diagrams/readme-hero.svg | 4 +- docs/frameworks/MCP-SERVER.md | 32 +-- docs/i18n/ar/llm.txt | 6 +- docs/i18n/az/llm.txt | 6 +- docs/i18n/bg/llm.txt | 6 +- docs/i18n/bn/llm.txt | 6 +- docs/i18n/cs/llm.txt | 6 +- docs/i18n/da/llm.txt | 6 +- docs/i18n/de/llm.txt | 6 +- docs/i18n/es/llm.txt | 6 +- docs/i18n/fa/llm.txt | 6 +- docs/i18n/fi/llm.txt | 6 +- docs/i18n/fr/llm.txt | 6 +- docs/i18n/gu/llm.txt | 6 +- docs/i18n/he/llm.txt | 6 +- docs/i18n/hi/llm.txt | 6 +- docs/i18n/hu/llm.txt | 6 +- docs/i18n/id/llm.txt | 6 +- docs/i18n/in/llm.txt | 6 +- docs/i18n/it/llm.txt | 6 +- docs/i18n/ja/llm.txt | 6 +- docs/i18n/ko/llm.txt | 6 +- docs/i18n/mr/llm.txt | 6 +- docs/i18n/ms/llm.txt | 6 +- docs/i18n/nl/llm.txt | 6 +- docs/i18n/no/llm.txt | 6 +- docs/i18n/phi/llm.txt | 6 +- docs/i18n/pl/llm.txt | 6 +- docs/i18n/pt-BR/llm.txt | 6 +- docs/i18n/pt/llm.txt | 6 +- docs/i18n/ro/llm.txt | 6 +- docs/i18n/ru/llm.txt | 6 +- docs/i18n/sk/llm.txt | 6 +- docs/i18n/sv/llm.txt | 6 +- docs/i18n/sw/llm.txt | 6 +- docs/i18n/ta/llm.txt | 6 +- docs/i18n/te/llm.txt | 6 +- docs/i18n/th/llm.txt | 6 +- docs/i18n/tr/llm.txt | 6 +- docs/i18n/uk-UA/llm.txt | 6 +- docs/i18n/ur/llm.txt | 6 +- docs/i18n/vi/llm.txt | 6 +- docs/i18n/zh-CN/llm.txt | 6 +- docs/i18n/zh-TW/llm.txt | 6 +- docs/openapi.yaml | 195 ++++++++++++++++++ docs/reference/PROVIDER_REFERENCE.md | 17 +- llm.txt | 6 +- open-sse/config/searchRegistry.ts | 21 ++ open-sse/handlers/search.ts | 4 + open-sse/handlers/search/xquikSearch.ts | 158 ++++++++++++++ .../__tests__/essentialTools.test.ts | 32 +++ open-sse/mcp-server/schemas/tools.ts | 7 +- open-sse/mcp-server/server.ts | 8 +- package.json | 2 +- skills/omni-inference/SKILL.md | 24 +++ .../providers/validation/searchProviders.ts | 7 + src/lib/search/executeWebSearch.ts | 5 +- src/shared/constants/providers/search.ts | 12 ++ src/shared/validation/schemas/apiV1.ts | 134 ++++++------ .../search-providers-catalog.test.ts | 15 +- tests/snapshots/executors/dispatch-rules.json | 5 + tests/unit/search-registry.test.ts | 10 +- tests/unit/search-route.test.ts | 3 +- tests/unit/xquik-search-provider.test.ts | 159 ++++++++++++++ 70 files changed, 893 insertions(+), 248 deletions(-) create mode 100644 changelog.d/features/11370-xquik-search-provider.md create mode 100644 open-sse/handlers/search/xquikSearch.ts create mode 100644 tests/unit/xquik-search-provider.test.ts diff --git a/AGENTS.md b/AGENTS.md index 34e60ac16d..7691a5ad97 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -46,7 +46,7 @@ Repository map and Reference Documentation sections below. ## Project at a Glance -**OmniRoute** โ€” unified AI proxy/router. One endpoint, 350 LLM providers, auto-fallback. +**OmniRoute** โ€” unified AI proxy/router. One endpoint, 353 LLM providers, auto-fallback. | Layer | Location | Purpose | | ------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | diff --git a/README.md b/README.md index 9a8e877f16..610da1ee29 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ # ๐Ÿš€ OmniRoute โ€” The Free AI Gateway -OmniRoute โ€” Never stop coding. Every AI tool โ†’ 350 providers โ€” 90+ 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. 350 AI providers ยท 90+ free tiers ยท ~1.51B free tokens/mo ยท 19 routing strategies ยท $0 to start. +OmniRoute โ€” Never stop coding. Every AI tool โ†’ 353 providers โ€” 90+ 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. 353 AI providers ยท 90+ free tiers ยท ~1.51B free tokens/mo ยท 19 routing strategies ยท $0 to start. @@ -210,7 +210,7 @@ curl http://localhost:20128/v1/chat/completions \ -The Promise โ€” One endpoint and 350 providers. Automatic fallback keeps routing while another healthy target is available. Six pillars: resilient fallback across 350 providers ยท up to 95% token savings on eligible workloads ยท $0 to start with 90+ free tiers and 56 recurring/keyless free-forever providers ยท 35 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. +The Promise โ€” One endpoint and 353 providers. Automatic fallback keeps routing while another healthy target is available. Six pillars: resilient fallback across 353 providers ยท up to 95% token savings on eligible workloads ยท $0 to start with 90+ free tiers and 56 recurring/keyless free-forever providers ยท 35 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.

@@ -461,7 +461,7 @@ All **19** strategies โ€” mix & match per combo step: -What sets OmniRoute apart โ€” a dated feature snapshot vs 9router, OpenRouter, CLIProxyAPI and LiteLLM across 13 capabilities. OmniRoute: 350 providers, 90+ 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. +What sets OmniRoute apart โ€” a dated feature snapshot vs 9router, OpenRouter, CLIProxyAPI and LiteLLM across 13 capabilities. OmniRoute: 353 providers, 90+ 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. ๐Ÿ“Š Full methodology & per-feature detail vs 9router, OpenRouter, CLIProxyAPI & LiteLLM โ†’ [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md) @@ -559,7 +559,7 @@ the current catalog at **[radar.omniroute.online/planos](https://radar.omniroute - **๐Ÿ–ผ๏ธ New endpoints** โ€” `/v1/ocr` (Mistral OCR) and `/v1/audio/translations` (Whisper-style) round out the media surface. โ†’ [API Reference](docs/reference/API_REFERENCE.md) - **๐ŸŽจ Image / video / audio generation** โ€” one API for media: xAI Grok Imagine & Novita AI video, ComfyUI, Freepik, Adobe Firefly, Microsoft Designer, Segmind, EdgeTTS. โ†’ [API Reference](docs/reference/API_REFERENCE.md) - **๐ŸŒ 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) -- **๐Ÿค More providers & agents** โ€” Cursor Cloud Agent, 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 **350-provider catalog**. โ†’ [Providers](docs/reference/PROVIDER_REFERENCE.md) +- **๐Ÿค More providers & agents** โ€” Cursor Cloud Agent, 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 **353-provider catalog**. โ†’ [Providers](docs/reference/PROVIDER_REFERENCE.md) - **๐Ÿ“ก 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) - **โšก 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) @@ -642,11 +642,11 @@ of your shell history. โ†’ [CLI Integrations](docs/guides/CLI-INTEGRATIONS.md)
-## ๐ŸŒ 350 AI Providers โ€” 154 Catalog-Marked Free +## ๐ŸŒ 353 AI Providers โ€” 154 Catalog-Marked Free
-> **350 registered providers** across the canonical chat, media, search, local, cloud-agent and system collections, including **154 carrying `hasFree: true` discovery metadata**. The chat model registry covers **268 providers / 2,566 distinct provider-model pairs / 1,312 raw model IDs**; the separate free-budget catalog has **455 per-model rows**, **40 recurring pools** and **56 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). +> **353 registered providers** across the canonical chat, media, search, local, cloud-agent and system collections, including **154 carrying `hasFree: true` discovery metadata**. The chat model registry covers **268 providers / 2,566 distinct provider-model pairs / 1,312 raw model IDs**; the separate free-budget catalog has **455 per-model rows**, **40 recurring pools** and **56 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).
diff --git a/changelog.d/features/11370-xquik-search-provider.md b/changelog.d/features/11370-xquik-search-provider.md new file mode 100644 index 0000000000..2585cb6cc1 --- /dev/null +++ b/changelog.d/features/11370-xquik-search-provider.md @@ -0,0 +1 @@ +- **feat(search):** Add Xquik X search with typed results, credential validation, REST routing, and MCP selection ([#11370](https://github.com/diegosouzapw/OmniRoute/pull/11370)) โ€” thanks @kriptoburak diff --git a/docs/diagrams/cli-terminal.svg b/docs/diagrams/cli-terminal.svg index 1a2f50bd9e..de14a77a83 100644 --- a/docs/diagrams/cli-terminal.svg +++ b/docs/diagrams/cli-terminal.svg @@ -1,4 +1,4 @@ - + Compact animated terminal cycling three real OmniRoute CLI commands with a typewriter effect and a scrolling subcommand ticker; the first frame shows the completed providers-list screen. @@ -6,7 +6,7 @@ omniroute — 85 top-level commands -omniroute providers listOmniRoute Providers1f3a9c2e  anthropic   Claude Max 20x    active8c2d5b1a  codex       Codex Pro (team)  activef4e0a97b  glm         GLM Coding Plan   active03bd6e5f  kimi        Kimi K2 free      active… 346 more providers +omniroute providers listOmniRoute Providers1f3a9c2e  anthropic   Claude Max 20x    active8c2d5b1a  codex       Codex Pro (team)  activef4e0a97b  glm         GLM Coding Plan   active03bd6e5f  kimi        Kimi K2 free      active… 347 more providers $ omniroute providers list @@ -14,7 +14,7 @@ -OmniRoute Providers1f3a9c2e  anthropic   Claude Max 20x    active8c2d5b1a  codex       Codex Pro (team)  activef4e0a97b  glm         GLM Coding Plan   active03bd6e5f  kimi        Kimi K2 free      active… 346 more providers +OmniRoute Providers1f3a9c2e  anthropic   Claude Max 20x    active8c2d5b1a  codex       Codex Pro (team)  activef4e0a97b  glm         GLM Coding Plan   active03bd6e5f  kimi        Kimi K2 free      active… 347 more providers $ diff --git a/docs/diagrams/comparison-table.svg b/docs/diagrams/comparison-table.svg index fbbef865f5..5b47c72b02 100644 --- a/docs/diagrams/comparison-table.svg +++ b/docs/diagrams/comparison-table.svg @@ -1,4 +1,4 @@ - + Static-header comparison table where each capability row fades in top to bottom; the OmniRoute column is highlighted and shows a check or a leading value in every row, while competitors show a mix of checks, partials and crosses. diff --git a/docs/diagrams/promise-pillars.svg b/docs/diagrams/promise-pillars.svg index 232065d928..5961498152 100644 --- a/docs/diagrams/promise-pillars.svg +++ b/docs/diagrams/promise-pillars.svg @@ -1,4 +1,4 @@ - + Animated promise card: six pillar tiles fade in in reading order, then a soft colored border highlight sweeps from tile to tile in a continuous cycle. @@ -21,7 +21,7 @@ - One endpoint. 350 providers. Never stop building โ€” OmniRoute picks the cheapest one that works. + One endpoint. 353 providers. Never stop building โ€” OmniRoute picks the cheapest one that works. @@ -38,7 +38,7 @@ Never hit limits - Auto-fallback across 350 providers in + Auto-fallback across 353 providers in milliseconds. Quota out? The next provider takes over while a healthy target remains. diff --git a/docs/diagrams/readme-hero.svg b/docs/diagrams/readme-hero.svg index 52e4d168db..314c402c6c 100644 --- a/docs/diagrams/readme-hero.svg +++ b/docs/diagrams/readme-hero.svg @@ -1,4 +1,4 @@ - + Animated hero card: a pulse travels the divider line and a compression bar demo repeatedly shrinks a prompt by up to 95 percent; all headline content is static and readable on the first frame. @@ -28,7 +28,7 @@ Never stop coding. - Every AI tool โ†’ 350 providers โ€” 90+ free โ€” through one endpoint. + Every AI tool โ†’ 353 providers โ€” 90+ free โ€” through one endpoint. Claude Code ยท Codex ยท Cursor ยท Cline ยท Copilot ยท Antigravity  โ†’  FREE Claude / GPT / Gemini ยท auto-fallback diff --git a/docs/frameworks/MCP-SERVER.md b/docs/frameworks/MCP-SERVER.md index 31be117221..8af6b70418 100644 --- a/docs/frameworks/MCP-SERVER.md +++ b/docs/frameworks/MCP-SERVER.md @@ -66,22 +66,22 @@ Cursor, Cline, and compatible MCP client setup. ## Essential Tools (13) โ€” Phase 1 -| Tool | Scopes | Description | -| :------------------------------ | :-------------------- | :------------------------------------------------------------ | -| `omniroute_get_health` | `read:health` | Uptime, memory, circuit breakers, rate limits, cache stats | -| `omniroute_list_combos` | `read:combos` | All configured combos with strategies (optional metrics) | -| `omniroute_get_combo_metrics` | `read:combos` | Performance metrics for a specific combo | -| `omniroute_switch_combo` | `write:combos` | Activate or deactivate a combo | -| `omniroute_create_combo` | `write:combos` | Create a validated combo through the existing combo API | -| `omniroute_check_quota` | `read:quota` | Quota used/total, percent remaining, reset time, token health | -| `omniroute_route_request` | `execute:completions` | Send a chat completion through OmniRoute routing | -| `omniroute_cost_report` | `read:usage` | Cost report by period (session/day/week/month) | -| `omniroute_list_models_catalog` | `read:models` | Full model catalog with capabilities, status, pricing | -| `omniroute_radar_catalog` | `read:radar` | Local signed Radar catalog; optional provider/family filters | -| `omniroute_tool_search` | `read:tools` | Discover tools from the registered MCP catalog | -| `omniroute_web_search` | `execute:search` | Web search through the configured search providers. Not X/Twitter. | -| `omniroute_x_search` | `execute:search` | Search X (Twitter) through SuperGrok / xAI server-side `x_search`. Requires `xai-oauth` or an xAI API key. Not the X Developer Platform MCP. | -| `omniroute_web_fetch` | `execute:search` | Fetch web content through the configured fetch providers | +| Tool | Scopes | Description | +| :------------------------------ | :-------------------- | :----------------------------------------------------------------------------------------------------------------------------- | +| `omniroute_get_health` | `read:health` | Uptime, memory, circuit breakers, rate limits, cache stats | +| `omniroute_list_combos` | `read:combos` | All configured combos with strategies (optional metrics) | +| `omniroute_get_combo_metrics` | `read:combos` | Performance metrics for a specific combo | +| `omniroute_switch_combo` | `write:combos` | Activate or deactivate a combo | +| `omniroute_create_combo` | `write:combos` | Create a validated combo through the existing combo API | +| `omniroute_check_quota` | `read:quota` | Quota used/total, percent remaining, reset time, token health | +| `omniroute_route_request` | `execute:completions` | Send a chat completion through OmniRoute routing | +| `omniroute_cost_report` | `read:usage` | Cost report by period (session/day/week/month) | +| `omniroute_list_models_catalog` | `read:models` | Full model catalog with capabilities, status, pricing | +| `omniroute_radar_catalog` | `read:radar` | Local signed Radar catalog; optional provider/family filters | +| `omniroute_tool_search` | `read:tools` | Discover tools from the registered MCP catalog | +| `omniroute_web_search` | `execute:search` | Web search through the configured search providers. Not X/Twitter. | +| `omniroute_x_search` | `execute:search` | Search X through xAI/SuperGrok, or choose `xquik-search` for Xquik API results. Requires credentials for the selected backend. | +| `omniroute_web_fetch` | `execute:search` | Fetch web content through the configured fetch providers | ## Advanced Tools (11) โ€” Phase 2 diff --git a/docs/i18n/ar/llm.txt b/docs/i18n/ar/llm.txt index d808b999f8..ca5147d5fb 100644 --- a/docs/i18n/ar/llm.txt +++ b/docs/i18n/ar/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/az/llm.txt b/docs/i18n/az/llm.txt index 1a868b5c60..b9251a490f 100644 --- a/docs/i18n/az/llm.txt +++ b/docs/i18n/az/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/bg/llm.txt b/docs/i18n/bg/llm.txt index 1a868b5c60..b9251a490f 100644 --- a/docs/i18n/bg/llm.txt +++ b/docs/i18n/bg/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/bn/llm.txt b/docs/i18n/bn/llm.txt index 8ab68736ef..4265c1772e 100644 --- a/docs/i18n/bn/llm.txt +++ b/docs/i18n/bn/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/cs/llm.txt b/docs/i18n/cs/llm.txt index 0d74bb4482..9f2ceabcb4 100644 --- a/docs/i18n/cs/llm.txt +++ b/docs/i18n/cs/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/da/llm.txt b/docs/i18n/da/llm.txt index c5265e9be3..75cf610914 100644 --- a/docs/i18n/da/llm.txt +++ b/docs/i18n/da/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/de/llm.txt b/docs/i18n/de/llm.txt index 2aedeaa9f7..d255ede157 100644 --- a/docs/i18n/de/llm.txt +++ b/docs/i18n/de/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/es/llm.txt b/docs/i18n/es/llm.txt index 44a1a12781..1afdc14aac 100644 --- a/docs/i18n/es/llm.txt +++ b/docs/i18n/es/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/fa/llm.txt b/docs/i18n/fa/llm.txt index 6bb6906d53..d8eaaf0b36 100644 --- a/docs/i18n/fa/llm.txt +++ b/docs/i18n/fa/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/fi/llm.txt b/docs/i18n/fi/llm.txt index c866207a48..1c209f3a20 100644 --- a/docs/i18n/fi/llm.txt +++ b/docs/i18n/fi/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/fr/llm.txt b/docs/i18n/fr/llm.txt index d7c00c7f60..7aebdb444d 100644 --- a/docs/i18n/fr/llm.txt +++ b/docs/i18n/fr/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/gu/llm.txt b/docs/i18n/gu/llm.txt index 82307592c6..c4124dbb87 100644 --- a/docs/i18n/gu/llm.txt +++ b/docs/i18n/gu/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/he/llm.txt b/docs/i18n/he/llm.txt index 79c7155494..cbe6e9ff2d 100644 --- a/docs/i18n/he/llm.txt +++ b/docs/i18n/he/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/hi/llm.txt b/docs/i18n/hi/llm.txt index 554cb918b7..d15ca976e6 100644 --- a/docs/i18n/hi/llm.txt +++ b/docs/i18n/hi/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/hu/llm.txt b/docs/i18n/hu/llm.txt index ec244518d9..79df193795 100644 --- a/docs/i18n/hu/llm.txt +++ b/docs/i18n/hu/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/id/llm.txt b/docs/i18n/id/llm.txt index e38b51c992..1373562a8d 100644 --- a/docs/i18n/id/llm.txt +++ b/docs/i18n/id/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/in/llm.txt b/docs/i18n/in/llm.txt index 3a4090d47a..416d03614b 100644 --- a/docs/i18n/in/llm.txt +++ b/docs/i18n/in/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/it/llm.txt b/docs/i18n/it/llm.txt index 4cb65487fe..5046954e4d 100644 --- a/docs/i18n/it/llm.txt +++ b/docs/i18n/it/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/ja/llm.txt b/docs/i18n/ja/llm.txt index d115f0c317..9c0894c1a1 100644 --- a/docs/i18n/ja/llm.txt +++ b/docs/i18n/ja/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/ko/llm.txt b/docs/i18n/ko/llm.txt index e56525c28d..8bdc5a28d4 100644 --- a/docs/i18n/ko/llm.txt +++ b/docs/i18n/ko/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/mr/llm.txt b/docs/i18n/mr/llm.txt index cbc729864f..c08faf5d97 100644 --- a/docs/i18n/mr/llm.txt +++ b/docs/i18n/mr/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/ms/llm.txt b/docs/i18n/ms/llm.txt index 1840e8e763..ec9394cecc 100644 --- a/docs/i18n/ms/llm.txt +++ b/docs/i18n/ms/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/nl/llm.txt b/docs/i18n/nl/llm.txt index 4d7d2e6bb8..0c0a7b2d59 100644 --- a/docs/i18n/nl/llm.txt +++ b/docs/i18n/nl/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/no/llm.txt b/docs/i18n/no/llm.txt index fb1b2f64ae..83da165022 100644 --- a/docs/i18n/no/llm.txt +++ b/docs/i18n/no/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/phi/llm.txt b/docs/i18n/phi/llm.txt index 07e949eb9b..479b19dcf0 100644 --- a/docs/i18n/phi/llm.txt +++ b/docs/i18n/phi/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/pl/llm.txt b/docs/i18n/pl/llm.txt index 06caf81a28..0dcbf94778 100644 --- a/docs/i18n/pl/llm.txt +++ b/docs/i18n/pl/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/pt-BR/llm.txt b/docs/i18n/pt-BR/llm.txt index aa04decbe7..6a6dc20a90 100644 --- a/docs/i18n/pt-BR/llm.txt +++ b/docs/i18n/pt-BR/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/pt/llm.txt b/docs/i18n/pt/llm.txt index 25e3602087..61b577cb94 100644 --- a/docs/i18n/pt/llm.txt +++ b/docs/i18n/pt/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/ro/llm.txt b/docs/i18n/ro/llm.txt index bac029ee6d..8eb7c69f16 100644 --- a/docs/i18n/ro/llm.txt +++ b/docs/i18n/ro/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/ru/llm.txt b/docs/i18n/ru/llm.txt index e0daa73d49..1a370068de 100644 --- a/docs/i18n/ru/llm.txt +++ b/docs/i18n/ru/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/sk/llm.txt b/docs/i18n/sk/llm.txt index 9440f1427e..b483457176 100644 --- a/docs/i18n/sk/llm.txt +++ b/docs/i18n/sk/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/sv/llm.txt b/docs/i18n/sv/llm.txt index 5fe7f96126..2a3be428c5 100644 --- a/docs/i18n/sv/llm.txt +++ b/docs/i18n/sv/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/sw/llm.txt b/docs/i18n/sw/llm.txt index 244c29b4ef..e5a1f1dafe 100644 --- a/docs/i18n/sw/llm.txt +++ b/docs/i18n/sw/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/ta/llm.txt b/docs/i18n/ta/llm.txt index 7f84e1b192..34c4242fb4 100644 --- a/docs/i18n/ta/llm.txt +++ b/docs/i18n/ta/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/te/llm.txt b/docs/i18n/te/llm.txt index a85c227bce..d3251df64a 100644 --- a/docs/i18n/te/llm.txt +++ b/docs/i18n/te/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/th/llm.txt b/docs/i18n/th/llm.txt index d0adfc7a57..e2483fb879 100644 --- a/docs/i18n/th/llm.txt +++ b/docs/i18n/th/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/tr/llm.txt b/docs/i18n/tr/llm.txt index 1b08ddc2fe..6cefc3bc14 100644 --- a/docs/i18n/tr/llm.txt +++ b/docs/i18n/tr/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/uk-UA/llm.txt b/docs/i18n/uk-UA/llm.txt index 29030ea7df..4c1a8a2ce9 100644 --- a/docs/i18n/uk-UA/llm.txt +++ b/docs/i18n/uk-UA/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/ur/llm.txt b/docs/i18n/ur/llm.txt index 95d9fb2228..699260137e 100644 --- a/docs/i18n/ur/llm.txt +++ b/docs/i18n/ur/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/vi/llm.txt b/docs/i18n/vi/llm.txt index c35f8cab70..3c195b81eb 100644 --- a/docs/i18n/vi/llm.txt +++ b/docs/i18n/vi/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/zh-CN/llm.txt b/docs/i18n/zh-CN/llm.txt index b9539db6e7..e9e6b81da3 100644 --- a/docs/i18n/zh-CN/llm.txt +++ b/docs/i18n/zh-CN/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/i18n/zh-TW/llm.txt b/docs/i18n/zh-TW/llm.txt index abf7d405fe..fc93533fe4 100644 --- a/docs/i18n/zh-TW/llm.txt +++ b/docs/i18n/zh-TW/llm.txt @@ -4,7 +4,7 @@ --- -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/docs/openapi.yaml b/docs/openapi.yaml index 7ce251c6a5..4e1ca84180 100644 --- a/docs/openapi.yaml +++ b/docs/openapi.yaml @@ -43,6 +43,8 @@ tags: description: Content moderation - name: Rerank description: Document reranking + - name: Search + description: Unified web, news, and X search - name: Models description: Available model listing - name: Providers @@ -1153,6 +1155,199 @@ paths: $ref: "#/components/responses/Unauthorized" # โ”€โ”€โ”€ Proxy Endpoints โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ + /api/v1/search: + get: + tags: [Search] + summary: List search providers + description: Lists configured search providers and their supported search types. + responses: + "200": + description: Search provider catalog + content: + application/json: + schema: + type: object + required: [object, data] + properties: + object: + type: string + const: list + data: + type: array + items: + type: object + required: [id, object, created, name, search_types] + properties: + id: + type: string + object: + type: string + const: search_provider + created: + type: integer + name: + type: string + search_types: + type: array + items: + type: string + enum: [web, news, x] + post: + tags: [Search] + summary: Run a unified search + description: >- + Searches the web, news, or X through a configured provider. Set `provider` + to `xquik-search` to use Xquik for X search. The aliases `xquik` and + `xquik_search` resolve to the same provider. + security: + - BearerAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: [query] + properties: + query: + type: string + minLength: 1 + maxLength: 500 + provider: + type: string + minLength: 1 + description: A search provider id or registered alias. + examples: [xquik-search] + max_results: + type: integer + minimum: 1 + maximum: 100 + default: 5 + search_type: + type: string + enum: [web, news, x] + default: web + offset: + type: integer + minimum: 0 + default: 0 + country: + type: string + maxLength: 2 + language: + type: string + minLength: 2 + maxLength: 5 + time_range: + type: string + enum: [any, hour, day, week, month, year] + content: + type: object + properties: + snippet: { type: boolean, default: true } + full_page: { type: boolean, default: false } + format: { type: string, enum: [text, markdown], default: text } + max_characters: { type: integer, minimum: 100, maximum: 100000 } + filters: + type: object + properties: + include_domains: + type: array + maxItems: 20 + items: { type: string, maxLength: 253 } + exclude_domains: + type: array + maxItems: 20 + items: { type: string, maxLength: 253 } + safe_search: { type: string, enum: [off, moderate, strict] } + provider_options: + type: object + additionalProperties: true + strict_filters: + type: boolean + default: false + additionalProperties: true + responses: + "200": + description: Normalized search results + content: + application/json: + schema: + type: object + required: [id, provider, query, results, answer, usage, metrics, errors, cached] + properties: + id: + type: string + pattern: ^search- + provider: + type: string + query: + type: string + cached: + type: boolean + results: + type: array + items: + type: object + required: [title, url, snippet, position, citation] + properties: + title: { type: string } + url: { type: string, format: uri } + display_url: { type: string } + snippet: { type: string } + position: { type: integer, minimum: 1 } + score: + type: [number, "null"] + minimum: 0 + maximum: 1 + published_at: { type: [string, "null"] } + favicon_url: { type: [string, "null"], format: uri } + citation: + type: object + required: [provider, retrieved_at, rank] + properties: + provider: { type: string } + retrieved_at: { type: string, format: date-time } + rank: { type: integer, minimum: 1 } + answer: + type: [object, "null"] + usage: + type: object + required: [queries_used, search_cost_usd] + properties: + queries_used: { type: integer, minimum: 0 } + search_cost_usd: { type: number, minimum: 0 } + llm_tokens: { type: integer, minimum: 0 } + metrics: + type: object + required: [response_time_ms, upstream_latency_ms, total_results_available] + properties: + response_time_ms: { type: number, minimum: 0 } + upstream_latency_ms: { type: number, minimum: 0 } + gateway_latency_ms: { type: number, minimum: 0 } + total_results_available: { type: [integer, "null"], minimum: 0 } + errors: + type: array + items: + type: object + required: [provider, code, message] + properties: + provider: { type: string } + code: { type: string } + message: { type: string } + "400": + description: Invalid request, provider, credentials, or search type + "401": + $ref: "#/components/responses/Unauthorized" + "403": + description: Search provider blocked by API key or security policy + "429": + description: Every eligible provider credential is rate limited + "500": + $ref: "#/components/responses/InternalError" + "502": + description: Search provider failed + /api/v1/chat/completions: post: tags: [Chat] diff --git a/docs/reference/PROVIDER_REFERENCE.md b/docs/reference/PROVIDER_REFERENCE.md index 731d53d83f..58936f7635 100644 --- a/docs/reference/PROVIDER_REFERENCE.md +++ b/docs/reference/PROVIDER_REFERENCE.md @@ -1,16 +1,16 @@ --- title: "Provider Reference" -version: 3.8.50 -lastUpdated: 2026-08-23 +version: 3.8.51 +lastUpdated: 2026-08-25 --- # Provider Reference > **Auto-generated** from `src/shared/constants/providers.ts` โ€” do not edit by hand. > Regenerate with: `npm run gen:provider-reference` -> **Last generated:** 2026-08-23 +> **Last generated:** 2026-08-25 -Total providers: **350**. See category breakdown below. +Total providers: **353**. See category breakdown below. ## Categories @@ -122,7 +122,7 @@ Use the dashboard at `/dashboard/providers` to enable, configure, and test each | `zai-web` | `zw` | Z.ai Web | Web cookie | [link](https://chat.z.ai) | Copy the "token" value from chat.z.ai โ†’ DevTools โ†’ Application โ†’ Local Storage. Do not copy cookies; OmniRoute handles the per-request CAPTCHA through its browser transport. | โ€” | | `zenmux-free` | `zmf` | ZenMux Free (Web) | Web cookie | [link](https://zenmux.ai) | Login at zenmux.ai, then export all cookies using EditThisCookie or Cookie-Editor and paste the full Cookie header string here. Refresh every ~30 days. | โ€” | -## API Key Providers (paid / paid-with-free-credits) (231) +## API Key Providers (paid / paid-with-free-credits) (233) | ID | Alias | Name | Tags | Website | Notes | |----|-------|------|------|---------|-------| @@ -342,6 +342,8 @@ Use the dashboard at `/dashboard/providers` to enable, configure, and test each | `vertex-partner` | `vp` | Vertex AI Partners | API key, enterprise | [link](https://cloud.google.com/vertex-ai) | Provide the same Service Account JSON used for Vertex AI partner models. | | `void-ai` | `void-ai` | Void AI | API key, aggregator | [link](https://voidai.app) | The public model catalog marks some models with a free plan requirement, but access is conditional and no numeric quota is confirmed. | | `volcengine` | `volcengine` | Volcengine | API key | [link](https://www.volcengine.com) | โ€” | +| `volcengine-agent-plan` | `veap` | Volcengine Ark Agent Plan | API key | [link](https://console.volcengine.com/ark/region:cn-beijing/subscription/agent-plan) | Connect your Volcano Engine account or use an Ark Agent Plan subscription API key. | +| `volcengine-coding-plan` | `vecp` | Volcengine Ark Coding Plan | API key | [link](https://console.volcengine.com/ark/region:cn-beijing/subscription/coding-plan) | Connect your Volcano Engine account or use an Ark Coding Plan subscription API key. | | `voyage-ai` | `voyage` | Voyage AI | API key, embed/rerank | [link](https://www.voyageai.com) | Bearer API key for Voyage AI embeddings and rerank APIs. | | `wafer` | `wafer` | Wafer AI | API key | [link](https://wafer.ai) | โ€” | | `wandb` | `wandb` | Weights & Biases Inference | API key | [link](https://wandb.ai) | โ€” | @@ -377,7 +379,7 @@ Use the dashboard at `/dashboard/providers` to enable, configure, and test each | `vllm` | `vllm` | vLLM | Local, self-hosted | [link](https://github.com/vllm-project/vllm) | API key optional. Configure the local vLLM OpenAI-compatible base URL (default: http://localhost:8000/v1). | | `xinference` | `xinference` | XInference | Local, self-hosted | [link](https://inference.readthedocs.io) | API key optional. Configure the local XInference OpenAI-compatible base URL (default: http://localhost:9997/v1). | -## Search Providers (14) +## Search Providers (15) | ID | Alias | Name | Tags | Website | Notes | |----|-------|------|------|---------|-------| @@ -394,6 +396,7 @@ Use the dashboard at `/dashboard/providers` to enable, configure, and test each | `serper-search` | `serper-search` | Serper Search | Search | [link](https://serper.dev) | API key from serper.dev dashboard | | `tavily-search` | `tavily-search` | Tavily Search | Search | [link](https://tavily.com) | API key from app.tavily.com (format: tvly-...) | | `x-search` | `x_search` | X Search (Grok) | Search | [link](https://docs.x.ai/developers/tools/x-search) | SuperGrok OAuth (xai-oauth) or xAI API key. This is Grok X Search, not the X Developer MCP. | +| `xquik-search` | `xquik` | Xquik X Search | Search | [link](https://docs.xquik.com) | Xquik API key (xq_...). Search is metered per returned post; the catalog estimate uses 5 results. | | `youcom-search` | `youcom-search` | You.com Search | Search | [link](https://you.com/business/api/) | X-API-Key from the You.com platform dashboard | ## Audio-only Providers (12) @@ -438,7 +441,7 @@ Use the dashboard at `/dashboard/providers` to enable, configure, and test each - Catalog: [`src/shared/constants/providers.ts`](../../src/shared/constants/providers.ts) - Registry (per-model details): [`open-sse/config/providerRegistry.ts`](../../open-sse/config/providerRegistry.ts) -- Executors: [`open-sse/executors/`](../../open-sse/executors/) (108 implementations) +- Executors: [`open-sse/executors/`](../../open-sse/executors/) (109 implementations) - Translators: [`open-sse/translator/`](../../open-sse/translator/) ## See Also diff --git a/llm.txt b/llm.txt index 9c5259a17b..76b6179e8c 100644 --- a/llm.txt +++ b/llm.txt @@ -1,6 +1,6 @@ # OmniRoute -> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 350 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. +> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 353 AI providers โ€” all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (110 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app. ## Overview @@ -277,7 +277,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo ## Key Features (v3.8.50) ### Core Proxy -- **350 AI providers** with automatic format translation +- **353 AI providers** with automatic format translation - **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible) - **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline - **4-tier fallback**: Subscription โ†’ API Key โ†’ Cheap โ†’ Free @@ -475,7 +475,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool ## v3.8.x Highlights -- **350-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add +- **353-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add - **19 routing strategies** โ€” including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay` - **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown - **MCP server expanded to 110 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules) diff --git a/open-sse/config/searchRegistry.ts b/open-sse/config/searchRegistry.ts index c7b5d52b44..6776874ef9 100644 --- a/open-sse/config/searchRegistry.ts +++ b/open-sse/config/searchRegistry.ts @@ -330,6 +330,25 @@ export const SEARCH_PROVIDERS: Record = { timeoutMs: 60_000, cacheTTLMs: 5 * 60 * 1000, }, + + // Direct X API search through Xquik. Keep it fallback-only so the existing + // SuperGrok provider remains the default for search_type "x". + "xquik-search": { + id: "xquik-search", + name: "Xquik X Search", + baseUrl: "https://xquik.com/api/v1/x/tweets/search", + method: "GET", + authType: "apikey", + authHeader: "x-api-key", + costPerQuery: 0.00075, + freeMonthlyQuota: 0, + searchTypes: ["x"], + defaultMaxResults: 5, + maxMaxResults: 20, + timeoutMs: 15_000, + cacheTTLMs: 5 * 60 * 1000, + fallbackOnly: true, + }, }; /** @@ -377,6 +396,8 @@ export const SEARCH_PROVIDER_ALIASES: Record = { c7: "context7", x_search: "x-search", x: "x-search", + xquik: "xquik-search", + xquik_search: "xquik-search", }; export function resolveSearchProviderId(providerId: string): string { diff --git a/open-sse/handlers/search.ts b/open-sse/handlers/search.ts index 858ea6f68a..3e571a53fa 100644 --- a/open-sse/handlers/search.ts +++ b/open-sse/handlers/search.ts @@ -8,6 +8,7 @@ import { randomUUID } from "crypto"; * firecrawl, google-pse-search, linkup-search, searchapi-search, * youcom-search, searxng-search, ollama-search, zai-search, jina-search, * duckduckgo-free, x-search (Grok / SuperGrok X Search โ€” explicit or search_type "x") + * and xquik-search (direct X API search โ€” explicit or credentialed fallback) * * Request format: * { @@ -28,6 +29,7 @@ import * as fcSearch from "./search/firecrawlSearch.ts"; import { type FirecrawlSearchEnvelope } from "./search/firecrawlSearch.ts"; import { buildJinaSearchRequest, extractJinaSearchItems } from "./search/jinaSearch.ts"; import * as xSearch from "./search/xSearch.ts"; +import * as xquikSearch from "./search/xquikSearch.ts"; import { freeWebSearch } from "../services/freeWebSearch.ts"; import { saveCallLog } from "@/lib/usageDb"; import { safeOutboundFetch } from "@/shared/network/safeOutboundFetch"; @@ -714,6 +716,7 @@ const requestBuilders: Record = { "ollama-search": buildOllamaRequest, "jina-search": buildJinaSearchRequest, "x-search": xSearch.buildXSearchRequest, + "xquik-search": xquikSearch.buildXquikSearchRequest, }; function buildRequest( @@ -1290,6 +1293,7 @@ const responseNormalizers: Record = { "ollama-search": normalizeOllamaResponse, "jina-search": normalizeJinaSearchResponse, "x-search": normalizeXSearchResponse, + "xquik-search": (data) => xquikSearch.normalizeXquikSearchResponse(data, makeResult), }; function normalizeResponse( diff --git a/open-sse/handlers/search/xquikSearch.ts b/open-sse/handlers/search/xquikSearch.ts new file mode 100644 index 0000000000..24b34a9dc6 --- /dev/null +++ b/open-sse/handlers/search/xquikSearch.ts @@ -0,0 +1,158 @@ +/** Xquik-backed X search for the unified search gateway. */ + +import { z } from "zod"; +import type { SearchProviderConfig } from "../../config/searchRegistry.ts"; +import type { SearchResult } from "../search.ts"; + +export const XQUIK_SEARCH_PROVIDER_ID = "xquik-search"; + +export interface XquikSearchParams { + query: string; + maxResults: number; + token?: string; + timeRange?: string; + providerOptions?: Record; + providerSpecificData?: Record; +} + +export interface XquikSearchHit { + title: string; + url: string; + snippet: string; + author?: string; + publishedAt?: string; +} + +type MakeResult = ( + providerId: string, + item: { + title?: string; + url?: string; + snippet?: string; + published_at?: string; + author?: string; + source_type?: string; + }, + index: number, + now: string +) => SearchResult; + +const X_HANDLE_RE = /^[A-Za-z0-9_]{1,15}$/; +const TWEET_ID_RE = /^\d+$/; + +const XquikTweetSchema = z + .object({ + id: z.string().regex(TWEET_ID_RE), + text: z.string(), + createdAt: z.string().optional(), + author: z + .object({ + username: z.string().regex(X_HANDLE_RE), + name: z.string().optional(), + }) + .passthrough() + .optional(), + }) + .passthrough(); + +const XquikSearchEnvelopeSchema = z + .object({ + tweets: z.array(z.unknown()).default([]), + }) + .passthrough(); + +function getProviderSettingString( + params: Pick, + key: string +): string | undefined { + const option = params.providerOptions?.[key]; + if (typeof option === "string" && option.trim()) return option.trim(); + const configured = params.providerSpecificData?.[key]; + if (typeof configured === "string" && configured.trim()) return configured.trim(); + return undefined; +} + +function sinceTimeForRange(timeRange: string | undefined, now = Date.now()): string | undefined { + const hour = 60 * 60 * 1000; + const durations: Record = { + hour, + day: 24 * hour, + week: 7 * 24 * hour, + month: 30 * 24 * hour, + year: 365 * 24 * hour, + }; + const duration = timeRange ? durations[timeRange] : undefined; + return duration ? new Date(now - duration).toISOString() : undefined; +} + +export function buildXquikSearchRequest( + config: SearchProviderConfig, + params: XquikSearchParams +): { url: string; init: RequestInit } { + const queryType = getProviderSettingString(params, "queryType") === "Top" ? "Top" : "Latest"; + const query = new URLSearchParams({ + q: params.query, + queryType, + limit: String(params.maxResults), + }); + const sinceTime = sinceTimeForRange(params.timeRange); + if (sinceTime) query.set("sinceTime", sinceTime); + + return { + url: `${config.baseUrl.replace(/\/+$/, "")}?${query}`, + init: { + method: "GET", + headers: { + Accept: "application/json", + ...(params.token ? { "x-api-key": params.token } : {}), + }, + }, + }; +} + +export function extractXquikSearchHits(data: unknown, maxResults: number): XquikSearchHit[] { + const envelope = XquikSearchEnvelopeSchema.safeParse(data); + if (!envelope.success) return []; + + const hits: XquikSearchHit[] = []; + for (const value of envelope.data.tweets) { + const parsed = XquikTweetSchema.safeParse(value); + if (!parsed.success) continue; + const tweet = parsed.data; + const author = tweet.author?.username; + hits.push({ + title: author ? `@${author}` : "X post", + url: author + ? `https://x.com/${author}/status/${tweet.id}` + : `https://x.com/i/status/${tweet.id}`, + snippet: tweet.text, + author, + publishedAt: tweet.createdAt, + }); + if (hits.length >= maxResults) break; + } + return hits; +} + +export function normalizeXquikSearchResponse( + data: unknown, + makeResult: MakeResult +): { results: SearchResult[]; totalResults: number } { + const now = new Date().toISOString(); + const results = extractXquikSearchHits(data, 20).map((hit, index) => + makeResult( + XQUIK_SEARCH_PROVIDER_ID, + { + title: hit.title, + url: hit.url, + snippet: hit.snippet, + published_at: hit.publishedAt, + author: hit.author, + source_type: "x", + }, + index, + now + ) + ); + return { results, totalResults: results.length }; +} diff --git a/open-sse/mcp-server/__tests__/essentialTools.test.ts b/open-sse/mcp-server/__tests__/essentialTools.test.ts index 9efd7ce110..726408aef4 100644 --- a/open-sse/mcp-server/__tests__/essentialTools.test.ts +++ b/open-sse/mcp-server/__tests__/essentialTools.test.ts @@ -358,6 +358,38 @@ describe("omniroute_x_search handler (via MCP dispatch)", () => { expect(body.search_type).toBe("x"); expect(body.provider).toBe("x-search"); }); + + it("should route an explicit Xquik search through xquik-search", async () => { + mockFetch.mockResolvedValueOnce({ + ok: true, + json: async () => ({ + id: "xs2", + provider: "xquik-search", + query: "agents sdk", + results: [ + { + title: "@openai", + url: "https://x.com/openai/status/1912345678901234567", + snippet: "Agents SDK update", + position: 1, + }, + ], + cached: false, + usage: { queries_used: 1, search_cost_usd: 0.00015 }, + }), + }); + + const result = await client.callTool({ + name: "omniroute_x_search", + arguments: { query: "agents sdk", max_results: 5, provider: "xquik-search" }, + }); + + expect(result.isError).toBeFalsy(); + const [, options] = mockFetch.mock.calls[0]; + const body = JSON.parse(options.body as string); + expect(body.search_type).toBe("x"); + expect(body.provider).toBe("xquik-search"); + }); }); // โ”€โ”€ omniroute_get_health: handler dispatch tests โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ diff --git a/open-sse/mcp-server/schemas/tools.ts b/open-sse/mcp-server/schemas/tools.ts index 68a86d7437..442120fdce 100644 --- a/open-sse/mcp-server/schemas/tools.ts +++ b/open-sse/mcp-server/schemas/tools.ts @@ -531,12 +531,17 @@ export const xSearchInput = z.object({ .max(20) .default(5) .describe("Maximum number of X results to return"), + provider: z + .enum(["x-search", "xquik-search"]) + .optional() + .default("x-search") + .describe("X search backend: x-search uses xAI/SuperGrok; xquik-search uses Xquik"), }); export const xSearchTool: McpToolDefinition = { name: "omniroute_x_search", description: - "Search X (Twitter) through OmniRoute using SuperGrok / xAI server-side x_search. Requires a connected xai-oauth (SuperGrok) or xAI API key. This is Grok X Search, not web search and not the X Developer Platform MCP.", + "Search X (Twitter) through OmniRoute. Uses SuperGrok / xAI server-side x_search by default, or Xquik when provider is xquik-search. Requires credentials for the selected backend. This is not web search.", inputSchema: xSearchInput, outputSchema: webSearchOutput, scopes: ["execute:search"], diff --git a/open-sse/mcp-server/server.ts b/open-sse/mcp-server/server.ts index 9abb220b3d..3f8480cc82 100644 --- a/open-sse/mcp-server/server.ts +++ b/open-sse/mcp-server/server.ts @@ -666,7 +666,11 @@ async function handleWebSearch(args: { } } -async function handleXSearch(args: { query: string; max_results?: number }) { +async function handleXSearch(args: { + query: string; + max_results?: number; + provider?: "x-search" | "xquik-search"; +}) { const start = Date.now(); try { const result = await omniRouteFetch("/v1/search", { @@ -675,7 +679,7 @@ async function handleXSearch(args: { query: string; max_results?: number }) { query: args.query, max_results: args.max_results ?? 5, search_type: "x", - provider: "x-search", + provider: args.provider ?? "x-search", }), signal: AbortSignal.timeout(120000), }); diff --git a/package.json b/package.json index c60f7a3d47..f0957e7ac5 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "omniroute", "version": "3.8.51", - "description": "Unified AI router with 350 providers, RTK+Caveman compression, auto fallback, MCP/A2A, desktop, PWA, and OpenAI-compatible APIs.", + "description": "Unified AI router with 353 providers, RTK+Caveman compression, auto fallback, MCP/A2A, desktop, PWA, and OpenAI-compatible APIs.", "type": "module", "bin": { "omniroute": "bin/omniroute.mjs", diff --git a/skills/omni-inference/SKILL.md b/skills/omni-inference/SKILL.md index 0dd4c541ca..4494a31ec9 100644 --- a/skills/omni-inference/SKILL.md +++ b/skills/omni-inference/SKILL.md @@ -32,6 +32,30 @@ curl -X POST https://localhost:20128/api/v1/session-leases \ -d '{}' ``` +### GET /api/v1/search + +List search providers + +Lists configured search providers and their supported search types. + +```bash +curl https://localhost:20128/api/v1/search \ + -H "Authorization: Bearer $OMNIROUTE_TOKEN" +``` + +### POST /api/v1/search + +Run a unified search + +Searches the web, news, or X through a configured provider. Set `provider` to `xquik-search` to use Xquik for X search. The aliases `xquik` and `xquik_search` resolve to the same provider. + +```bash +curl -X POST https://localhost:20128/api/v1/search \ + -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ + -H "Content-Type: application/json" \ + -d '{}' +``` + ### POST /api/v1/chat/completions Create chat completion diff --git a/src/lib/providers/validation/searchProviders.ts b/src/lib/providers/validation/searchProviders.ts index c8c5491cdf..cabaed7b15 100644 --- a/src/lib/providers/validation/searchProviders.ts +++ b/src/lib/providers/validation/searchProviders.ts @@ -167,6 +167,13 @@ export const SEARCH_VALIDATOR_CONFIGS: Record< }), }, }), + "xquik-search": (apiKey) => ({ + url: "https://xquik.com/api/v1/x/tweets/search?q=test&limit=1", + init: { + method: "GET", + headers: { Accept: "application/json", "x-api-key": apiKey }, + }, + }), "zai-search": (apiKey, providerSpecificData = {}) => { const baseUrl = typeof providerSpecificData?.baseUrl === "string" && providerSpecificData.baseUrl.trim() diff --git a/src/lib/search/executeWebSearch.ts b/src/lib/search/executeWebSearch.ts index 6e2af547f0..0845f8a611 100644 --- a/src/lib/search/executeWebSearch.ts +++ b/src/lib/search/executeWebSearch.ts @@ -127,7 +127,10 @@ export async function executeWebSearch( const log = input.log || defaultLog; if (input.provider === "x_search") input.provider = "x-search"; - if (input.provider === "x-search") input.search_type = "x"; + if (input.provider === "xquik" || input.provider === "xquik_search") { + input.provider = "xquik-search"; + } + if (input.provider === "x-search" || input.provider === "xquik-search") input.search_type = "x"; const searchType = input.search_type || "web"; if (input.provider) { diff --git a/src/shared/constants/providers/search.ts b/src/shared/constants/providers/search.ts index 2858decb5a..68db413bd3 100644 --- a/src/shared/constants/providers/search.ts +++ b/src/shared/constants/providers/search.ts @@ -141,6 +141,18 @@ export const SEARCH_PROVIDERS = { "SuperGrok OAuth (xai-oauth) or xAI API key. This is Grok X Search, not the X Developer MCP.", serviceKinds: ["webSearch"], }, + "xquik-search": { + id: "xquik-search", + alias: "xquik", + name: "Xquik X Search", + icon: "tag", + color: "#111827", + textIcon: "XQ", + website: "https://docs.xquik.com", + authHint: + "Xquik API key (xq_...). Search is metered per returned post; the catalog estimate uses 5 results.", + serviceKinds: ["webSearch"], + }, "ollama-search": { id: "ollama-search", alias: "ollama-search", diff --git a/src/shared/validation/schemas/apiV1.ts b/src/shared/validation/schemas/apiV1.ts index 20e9203ec8..96a7ea8426 100644 --- a/src/shared/validation/schemas/apiV1.ts +++ b/src/shared/validation/schemas/apiV1.ts @@ -20,10 +20,7 @@ import { } from "@/shared/reasoning/effortStandardization"; import { modelIdSchema, nonEmptyStringSchema } from "./misc.ts"; -import { - isCanonicalEmbeddingItem, - JINA_NATIVE_MEDIA_KEYS, -} from "../jinaNativeEmbeddingInput.ts"; +import { isCanonicalEmbeddingItem, JINA_NATIVE_MEDIA_KEYS } from "../jinaNativeEmbeddingInput.ts"; import { isGeminiNativeEmbeddingItem } from "../geminiNativeEmbeddingInput.ts"; export const embeddingTokenArraySchema = z @@ -215,7 +212,9 @@ const jinaNativeMediaStringSchema = z.string().trim().min(1).superRefine(refineJ function exactlyOneJinaMediaKey(value: Record, key: string): boolean { if (isCanonicalEmbeddingItem(value)) return false; - return JINA_NATIVE_MEDIA_KEYS.filter((mediaKey) => mediaKey in value).length === 1 && key in value; + return ( + JINA_NATIVE_MEDIA_KEYS.filter((mediaKey) => mediaKey in value).length === 1 && key in value + ); } const jinaTextDocSchema = z @@ -264,7 +263,9 @@ export const jinaNativeDocSchema = z.union([ export const jinaMergedContentGroupSchema = z .object({ content: z - .array(z.union([jinaTextDocSchema, jinaImageDocSchema, jinaAudioDocSchema, jinaVideoDocSchema])) + .array( + z.union([jinaTextDocSchema, jinaImageDocSchema, jinaAudioDocSchema, jinaVideoDocSchema]) + ) .min(1, "content must contain at least one chunk"), }) .passthrough(); @@ -330,9 +331,12 @@ export const geminiNativePartSchema = z fileData: geminiFileDataSchema.optional(), }) .passthrough() - .refine((value) => isGeminiNativeEmbeddingItem(value) && !("parts" in value) && !("content" in value), { - message: "Gemini part must be { text }, { inline_data }, or { file_data }", - }); + .refine( + (value) => isGeminiNativeEmbeddingItem(value) && !("parts" in value) && !("content" in value), + { + message: "Gemini part must be { text }, { inline_data }, or { file_data }", + } + ); export const geminiNativeContentSchema = z .object({ @@ -445,7 +449,6 @@ export const v1ImageUpscaleSchema = z }) .catchall(z.unknown()); - export const v1AudioSpeechSchema = z .object({ model: modelIdSchema, @@ -565,71 +568,72 @@ export const v1SearchSchema = z.preprocess( if (!raw || typeof raw !== "object" || Array.isArray(raw)) return raw; const o = { ...(raw as Record) }; if (o.provider === "x_search") o.provider = "x-search"; - if (o.provider === "x-search") o.search_type = "x"; + if (o.provider === "xquik" || o.provider === "xquik_search") o.provider = "xquik-search"; + if (o.provider === "x-search" || o.provider === "xquik-search") o.search_type = "x"; return o; }, z .object({ - // Core - query: z - .string() - .trim() - .min(1, "Query is required") - .max(500, "Query must be 500 characters or fewer"), - // Not a z.enum: the runtime catalog (SEARCH_PROVIDERS + SEARCH_PROVIDER_ALIASES in - // open-sse/config/searchRegistry.ts) is the source of truth via resolveSearchProvider(), - // which already returns a named "Unknown search provider: " error for bad ids (see - // src/app/api/v1/search/route.ts). A hard-coded enum here would 400 before that check - // ever runs, hiding the informative message behind a generic Zod failure (#10849). - // Known catalog ids as of this writing: serper-search, brave-search, perplexity-search, - // exa-search, tavily-search, firecrawl, google-pse-search, linkup-search, ollama-search, - // searchapi-search, youcom-search, searxng-search, zai-search, jina-search, jina-ai, - // jina, duckduckgo-free, x-search, x_search (plus short aliases resolved by - // SEARCH_PROVIDER_ALIASES). - provider: z.string().min(1).optional(), - max_results: z.coerce.number().int().min(1).max(100).default(5), - search_type: z.enum(["web", "news", "x"]).default("web"), - offset: z.coerce.number().int().min(0).default(0), + // Core + query: z + .string() + .trim() + .min(1, "Query is required") + .max(500, "Query must be 500 characters or fewer"), + // Not a z.enum: the runtime catalog (SEARCH_PROVIDERS + SEARCH_PROVIDER_ALIASES in + // open-sse/config/searchRegistry.ts) is the source of truth via resolveSearchProvider(), + // which already returns a named "Unknown search provider: " error for bad ids (see + // src/app/api/v1/search/route.ts). A hard-coded enum here would 400 before that check + // ever runs, hiding the informative message behind a generic Zod failure (#10849). + // Known catalog ids as of this writing: serper-search, brave-search, perplexity-search, + // exa-search, tavily-search, firecrawl, google-pse-search, linkup-search, ollama-search, + // searchapi-search, youcom-search, searxng-search, zai-search, jina-search, jina-ai, + // jina, duckduckgo-free, x-search, x_search, xquik-search, xquik (plus short aliases resolved by + // SEARCH_PROVIDER_ALIASES). + provider: z.string().min(1).optional(), + max_results: z.coerce.number().int().min(1).max(100).default(5), + search_type: z.enum(["web", "news", "x"]).default("web"), + offset: z.coerce.number().int().min(0).default(0), - // Locale - country: z.string().max(2).toUpperCase().optional(), - language: z.string().min(2).max(5).optional(), - time_range: z.enum(["any", "hour", "day", "week", "month", "year"]).optional(), + // Locale + country: z.string().max(2).toUpperCase().optional(), + language: z.string().min(2).max(5).optional(), + time_range: z.enum(["any", "hour", "day", "week", "month", "year"]).optional(), - // Content control - content: z - .object({ - snippet: z.boolean().default(true), - full_page: z.boolean().default(false), - format: z.enum(["text", "markdown"]).default("text"), - max_characters: z.coerce.number().int().min(100).max(100000).optional(), - }) - .optional(), + // Content control + content: z + .object({ + snippet: z.boolean().default(true), + full_page: z.boolean().default(false), + format: z.enum(["text", "markdown"]).default("text"), + max_characters: z.coerce.number().int().min(100).max(100000).optional(), + }) + .optional(), - // Filters - filters: z - .object({ - include_domains: z.array(z.string().max(253)).max(20).optional(), - exclude_domains: z.array(z.string().max(253)).max(20).optional(), - safe_search: z.enum(["off", "moderate", "strict"]).optional(), - }) - .optional(), + // Filters + filters: z + .object({ + include_domains: z.array(z.string().max(253)).max(20).optional(), + exclude_domains: z.array(z.string().max(253)).max(20).optional(), + safe_search: z.enum(["off", "moderate", "strict"]).optional(), + }) + .optional(), - // Answer synthesis (Phase 2 โ€” returns null until implemented) - synthesis: z - .object({ - strategy: z.enum(["none", "auto", "provider", "internal"]).default("none"), - model: z.string().optional(), - max_tokens: z.coerce.number().int().min(1).max(4000).optional(), - }) - .optional(), + // Answer synthesis (Phase 2 โ€” returns null until implemented) + synthesis: z + .object({ + strategy: z.enum(["none", "auto", "provider", "internal"]).default("none"), + model: z.string().optional(), + max_tokens: z.coerce.number().int().min(1).max(4000).optional(), + }) + .optional(), - // Provider-specific passthrough - provider_options: z.record(z.string(), z.unknown()).optional(), + // Provider-specific passthrough + provider_options: z.record(z.string(), z.unknown()).optional(), - // Strict mode โ€” reject if provider doesn't support a requested filter - strict_filters: z.boolean().default(false), - }) + // Strict mode โ€” reject if provider doesn't support a requested filter + strict_filters: z.boolean().default(false), + }) .catchall(z.unknown()) ); diff --git a/tests/integration/search-providers-catalog.test.ts b/tests/integration/search-providers-catalog.test.ts index 58b2c2fc2f..893ae682b3 100644 --- a/tests/integration/search-providers-catalog.test.ts +++ b/tests/integration/search-providers-catalog.test.ts @@ -2,7 +2,7 @@ * Integration tests for GET /api/search/providers โ€” extended catalog (F4). * * Tests: - * - Returns 20 items total (16 search + 4 fetch providers). + * - Returns 22 items total (18 search + 4 fetch providers). * - Each item carries the correct `kind` field. * - Status reflects actual DB credential state: * - "configured" when an active, non-rate-limited connection exists. @@ -48,10 +48,10 @@ const route = await import("../../src/app/api/search/providers/route.ts"); // Constants // --------------------------------------------------------------------------- -// 17 search-kind providers: serper, brave, perplexity, exa, tavily, firecrawl, +// 18 search-kind providers: serper, brave, perplexity, exa, tavily, firecrawl, // google-pse, linkup, searchapi, youcom, searxng, ollama, zai, jina-search, -// context7 (#11140), duckduckgo-free, x-search (registry open-sse/config/searchRegistry.ts). -const EXPECTED_SEARCH_COUNT = 17; +// context7 (#11140), duckduckgo-free, x-search, xquik-search. +const EXPECTED_SEARCH_COUNT = 18; const EXPECTED_FETCH_COUNT = 4; const EXPECTED_TOTAL = EXPECTED_SEARCH_COUNT + EXPECTED_FETCH_COUNT; @@ -138,7 +138,7 @@ test("search-providers-catalog: returns 401 for unauthenticated requests when au assert.ok(!bodyStr.includes(" at /"), "error body must not contain stack trace"); }); -test("search-providers-catalog: returns 21 providers (17 search + 4 fetch)", async () => { +test("search-providers-catalog: returns 22 providers (18 search + 4 fetch)", async () => { const req = await buildAuthRequest(); const res = await route.GET(req); @@ -361,6 +361,11 @@ test("search-providers-catalog: search providers have correct fields", async () assert.ok(xSearch, "x-search must be in search providers"); assert.equal(xSearch.kind, "search"); assert.deepEqual(xSearch.searchTypes, ["x"]); + + const xquikSearch = searchProviders.find((p: { id: string }) => p.id === "xquik-search"); + assert.ok(xquikSearch, "xquik-search must be in search providers"); + assert.equal(xquikSearch.kind, "search"); + assert.deepEqual(xquikSearch.searchTypes, ["x"]); }); test("search-providers-catalog: response validates against SearchProviderCatalogResponseSchema", async () => { diff --git a/tests/snapshots/executors/dispatch-rules.json b/tests/snapshots/executors/dispatch-rules.json index 3bd060eed4..a06d955196 100644 --- a/tests/snapshots/executors/dispatch-rules.json +++ b/tests/snapshots/executors/dispatch-rules.json @@ -87,6 +87,11 @@ "status": 400, "throws": true }, + "xquik-search": { + "message": "Provider \"xquik-search\" is a search provider and does not support chat completions; use the /v1/search endpoint instead.", + "status": 400, + "throws": true + }, "youcom-search": { "message": "Provider \"youcom-search\" is a search provider and does not support chat completions; use the /v1/search endpoint instead.", "status": 400, diff --git a/tests/unit/search-registry.test.ts b/tests/unit/search-registry.test.ts index acc5b50527..7d668cdbc3 100644 --- a/tests/unit/search-registry.test.ts +++ b/tests/unit/search-registry.test.ts @@ -36,9 +36,10 @@ test("SEARCH_PROVIDERS has all registered providers", () => { assert.ok(SEARCH_PROVIDERS["jina-search"], "jina-search should exist"); assert.ok(SEARCH_PROVIDERS["duckduckgo-free"], "duckduckgo-free should exist"); assert.ok(SEARCH_PROVIDERS["x-search"], "x-search should exist"); - // #11140: context7 (library-docs search) is the 17th registered provider + assert.ok(SEARCH_PROVIDERS["xquik-search"], "xquik-search should exist"); + // #11140: context7 provides library-docs search assert.ok(SEARCH_PROVIDERS["context7"], "context7 should exist"); - assert.equal(Object.keys(SEARCH_PROVIDERS).length, 17); + assert.equal(Object.keys(SEARCH_PROVIDERS).length, 18); }); test("duckduckgo-free config is a no-key, fallback-only provider", () => { @@ -172,11 +173,11 @@ test("zai-search config is correct", () => { test("getAllSearchProviders returns flat list", () => { const all = getAllSearchProviders(); - // #11140: 17 providers with context7 registered - assert.equal(all.length, 17); + assert.equal(all.length, 18); assert.ok(all.some((p) => p.id === "duckduckgo-free")); assert.ok(all.some((p) => p.id === "jina-search")); assert.ok(all.some((p) => p.id === "x-search")); + assert.ok(all.some((p) => p.id === "xquik-search")); assert.ok(all.some((p) => p.id === "serper-search")); assert.ok(all.some((p) => p.id === "brave-search")); assert.ok(all.some((p) => p.id === "perplexity-search")); @@ -420,6 +421,7 @@ test("v1SearchSchema accepts new search providers", async () => { "duckduckgo-free", "firecrawl", "x-search", + "xquik-search", ] as const; for (const provider of providers) { diff --git a/tests/unit/search-route.test.ts b/tests/unit/search-route.test.ts index bdcfde1892..d219d6f7dc 100644 --- a/tests/unit/search-route.test.ts +++ b/tests/unit/search-route.test.ts @@ -52,7 +52,7 @@ test("v1 search GET lists all search providers", async () => { assert.equal(response.status, 200); assert.equal(body.object, "list"); - assert.equal(body.data.length, 17); + assert.equal(body.data.length, 18); assert.deepEqual(ids, [ "serper-search", "brave-search", @@ -71,6 +71,7 @@ test("v1 search GET lists all search providers", async () => { "context7", "duckduckgo-free", "x-search", + "xquik-search", ]); }); diff --git a/tests/unit/xquik-search-provider.test.ts b/tests/unit/xquik-search-provider.test.ts new file mode 100644 index 0000000000..0bc54e6b2e --- /dev/null +++ b/tests/unit/xquik-search-provider.test.ts @@ -0,0 +1,159 @@ +import test from "node:test"; +import assert from "node:assert/strict"; + +const { + SEARCH_PROVIDERS, + getSearchProvider, + resolveSearchProvider, + selectProvider, + supportsSearchType, +} = await import("../../open-sse/config/searchRegistry.ts"); +const { SEARCH_VALIDATOR_CONFIGS } = + await import("../../src/lib/providers/validation/searchProviders.ts"); +const { XQUIK_SEARCH_PROVIDER_ID, buildXquikSearchRequest, extractXquikSearchHits } = + await import("../../open-sse/handlers/search/xquikSearch.ts"); +const { handleSearch } = await import("../../open-sse/handlers/search.ts"); +const { v1SearchSchema } = await import("../../src/shared/validation/schemas.ts"); + +test("xquik-search is an explicit X-only fallback provider", () => { + const config = getSearchProvider(XQUIK_SEARCH_PROVIDER_ID); + assert.ok(config); + assert.equal(config.id, "xquik-search"); + assert.equal(config.baseUrl, "https://xquik.com/api/v1/x/tweets/search"); + assert.equal(config.authHeader, "x-api-key"); + assert.equal(config.fallbackOnly, true); + assert.deepEqual(config.searchTypes, ["x"]); + assert.equal(supportsSearchType(config, "x"), true); + assert.equal(supportsSearchType(config, "web"), false); + assert.equal(selectProvider(undefined, "x")?.id, "x-search"); +}); + +test("xquik search aliases resolve without changing the xAI provider", () => { + assert.equal(resolveSearchProvider("xquik")?.id, "xquik-search"); + assert.equal(resolveSearchProvider("xquik_search")?.id, "xquik-search"); + assert.equal(resolveSearchProvider("x-search")?.id, "x-search"); +}); + +test("buildXquikSearchRequest uses the published REST contract", () => { + const config = SEARCH_PROVIDERS["xquik-search"]; + const { url, init } = buildXquikSearchRequest(config, { + query: 'from:openai "agents sdk"', + maxResults: 3, + token: "xq_test_key", + }); + + const parsedUrl = new URL(url); + assert.equal(parsedUrl.origin, "https://xquik.com"); + assert.equal(parsedUrl.pathname, "/api/v1/x/tweets/search"); + assert.equal(parsedUrl.searchParams.get("q"), 'from:openai "agents sdk"'); + assert.equal(parsedUrl.searchParams.get("queryType"), "Latest"); + assert.equal(parsedUrl.searchParams.get("limit"), "3"); + assert.equal(init.method, "GET"); + assert.deepEqual(init.headers, { + Accept: "application/json", + "x-api-key": "xq_test_key", + }); +}); + +test("extractXquikSearchHits creates canonical X citations from typed tweet rows", () => { + const hits = extractXquikSearchHits( + { + tweets: [ + { + id: "1912345678901234567", + text: "Agents SDK update", + createdAt: "2026-08-24T07:00:00.000Z", + author: { username: "openai", name: "OpenAI" }, + }, + { + id: "not-a-tweet-id", + text: "Invalid rows must not become links", + author: { username: "attacker", name: "Attacker" }, + }, + ], + }, + 5 + ); + + assert.deepEqual(hits, [ + { + title: "@openai", + url: "https://x.com/openai/status/1912345678901234567", + snippet: "Agents SDK update", + author: "openai", + publishedAt: "2026-08-24T07:00:00.000Z", + }, + ]); +}); + +test("xquik provider validation sends its API key only in x-api-key", () => { + const request = SEARCH_VALIDATOR_CONFIGS["xquik-search"]("xq_test_key"); + const parsedUrl = new URL(request.url); + assert.equal(parsedUrl.pathname, "/api/v1/x/tweets/search"); + assert.equal(parsedUrl.searchParams.get("q"), "test"); + assert.equal(parsedUrl.searchParams.get("limit"), "1"); + assert.deepEqual(request.init.headers, { + Accept: "application/json", + "x-api-key": "xq_test_key", + }); +}); + +test("v1SearchSchema canonicalizes xquik aliases and forces search_type x", () => { + for (const provider of ["xquik", "xquik_search", "xquik-search"]) { + const parsed = v1SearchSchema.parse({ + query: "agents sdk", + provider, + search_type: "web", + }); + assert.equal(parsed.provider, "xquik-search"); + assert.equal(parsed.search_type, "x"); + } +}); + +test("handleSearch maps Xquik tweets into the unified search response", async () => { + const originalFetch = globalThis.fetch; + let capturedUrl = ""; + let capturedInit: RequestInit | undefined; + + globalThis.fetch = (async (url, init) => { + capturedUrl = String(url); + capturedInit = init; + return new Response( + JSON.stringify({ + tweets: [ + { + id: "1912345678901234567", + text: "Agents SDK update", + createdAt: "2026-08-24T07:00:00.000Z", + author: { username: "openai", name: "OpenAI" }, + }, + ], + has_next_page: false, + next_cursor: "", + }), + { status: 200, headers: { "content-type": "application/json" } } + ); + }) as typeof fetch; + + try { + const result = await handleSearch({ + query: "agents sdk", + provider: "xquik-search", + maxResults: 5, + searchType: "x", + credentials: { apiKey: "xq_test_key" }, + log: null, + }); + + assert.equal(result.success, true, JSON.stringify(result)); + assert.match(capturedUrl, /^https:\/\/xquik\.com\/api\/v1\/x\/tweets\/search\?/); + assert.equal((capturedInit?.headers as Record)["x-api-key"], "xq_test_key"); + assert.equal(result.data?.provider, "xquik-search"); + assert.equal(result.data?.results[0].title, "@openai"); + assert.equal(result.data?.results[0].url, "https://x.com/openai/status/1912345678901234567"); + assert.equal(result.data?.results[0].snippet, "Agents SDK update"); + assert.equal(result.data?.results[0].metadata?.source_type, "x"); + } finally { + globalThis.fetch = originalFetch; + } +});