{t("protocolMcpTitle")}
+{t("protocolMcpDesc")}
+-
+
- {t("protocolMcpStep1")} +
- {t("protocolMcpStep2")} +
- {t("protocolMcpStep3")} +
+ {`omniroute --mcp`}
+
+ diff --git a/README.ar.md b/README.ar.md index 60b9e8edc5..59e413af25 100644 --- a/README.ar.md +++ b/README.ar.md @@ -1,13 +1,55 @@ -
-
- # 🚀 OmniRoute — بوابة الذكاء الاصطناعي المجانية
+# 🚀 OmniRoute — بوابة الذكاء الاصطناعي المجانية
### لا تتوقف أبدًا عن البرمجة. التوجيه الذكي إلى **نماذج الذكاء الاصطناعي المجانية ومنخفضة التكلفة** مع الرجوع التلقائي.
-_وكيل واجهة برمجة التطبيقات العالمي الخاص بك — نقطة نهاية واحدة، وأكثر من 36 موفرًا، بدون أي توقف عن العمل._
+_وكيل API العالمي الخاص بك - نقطة نهاية واحدة، أكثر من 36 موفرًا، بدون توقف. الآن مع تنسيق الوكيل **MCP & A2A**._
-**إكمالات الدردشة • التضمينات • إنشاء الصور • الصوت • إعادة الترتيب • 100% TypeScript**
+**إكمالات الدردشة • التضمينات • إنشاء الصور • الفيديو • الموسيقى • الصوت • إعادة الترتيب • خادم MCP • بروتوكول A2A • 100٪ TypeScript **
+
+---
+
+
+|
-
+
OpenClaw - - ⭐ 205K + ⭐ 205K |
@@ -41,7 +82,7 @@ _قم بتوصيل أي أداة IDE أو CLI مدعومة بالذكاء الا |
- ZeroClaw + زيرومخلب ⭐ 9.9K |
@@ -64,49 +105,35 @@ _قم بتوصيل أي أداة IDE أو CLI مدعومة بالذكاء الا
- Codex CLI + Codex ⭐ 60.8K |
- Claude Code + كلود كود ⭐ 67.3K |
- Gemini CLI + الجوزاء CLI ⭐ 94.7K |
- Kilo Code + كيلو كود ⭐ 15.5K |
http://localhost:20128/v1 أو http://cloud.omniroute.online/v1 - تكوين واحد ونماذج غير محدودة و الحصة
-
----
-
-[](https://www.npmjs.com/package/omniroute)
-[](https://hub.docker.com/r/diegosouzapw/omniroute)
-[](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE)
-[](https://omniroute.online)
-[](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
-
-[🌐 الموقع](https://omniroute.online) • [🚀 البداية السريعة](#-بداية-سريعة) • [💡 الميزات](#-الميزات-الرئيسية) • [📖 التوثيق](#-التوثيق) • [💰 الأسعار](#-لمحة-سريعة-عن-الأسعار) • [💬 WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
-
-🌐 **متوفر باللغات:** 🇺🇸 [English](README.md) | 🇧🇷 [Português (Brasil)](README.pt-BR.md) | 🇪🇸 [Español](README.es.md) | 🇫🇷 [Français](README.fr.md) | 🇮🇹 [Italiano](README.it.md) | 🇷🇺 [Русский](README.ru.md) | 🇨🇳 [中文 (简体)](README.zh-CN.md) | 🇩🇪 [Deutsch](README.de.md) | 🇮🇳 [हिन्दी](README.in.md) | 🇹🇭 [ไทย](README.th.md) | 🇺🇦 [Українська](README.uk-UA.md) | 🇸🇦 [العربية](README.ar.md) | 🇯🇵 [日本語](README.ja.md) | 🇻🇳 [Tiếng Việt](README.vi.md) | 🇧🇬 [Български](README.bg.md) | 🇩🇰 [Dansk](README.da.md) | 🇫🇮 [Suomi](README.fi.md) | 🇮🇱 [עברית](README.he.md) | 🇭🇺 [Magyar](README.hu.md) | 🇮🇩 [Bahasa Indonesia](README.id.md) | 🇰🇷 [한국어](README.ko.md) | 🇲🇾 [Bahasa Melayu](README.ms.md) | 🇳🇱 [Nederlands](README.nl.md) | 🇳🇴 [Norsk](README.no.md) | 🇵🇹 [Português (Portugal)](README.pt.md) | 🇷🇴 [Română](README.ro.md) | 🇵🇱 [Polski](README.pl.md) | 🇸🇰 [Slovenčina](README.sk.md) | 🇸🇪 [Svenska](README.sv.md) | 🇵🇭 [Filipino](README.phi.md)
-
-http://localhost:20128/v1 أو http://cloud.omniroute.online/v1 - تكوين واحد ونماذج غير محدودة و حصة
---
@@ -114,8 +141,8 @@ _قم بتوصيل أي أداة IDE أو CLI مدعومة بالذكاء الا
**توقف عن إهدار المال وضرب الحدود:**
--
-
- # 🚀 OmniRoute — Безплатният AI Gateway
+# 🚀 OmniRoute — Безплатният AI Gateway
### Никога не спирайте да кодирате. Интелигентно маршрутизиране към **БЕЗПЛАТНИ и евтини AI модели** с автоматичен резервен вариант.
-_Вашият универсален API прокси — една крайна точка, 36+ доставчици, нулев престой._
+_Вашият универсален API прокси — една крайна точка, 36+ доставчици, нулев престой. Сега с **MCP & A2A** агентска оркестрация._
-**Завършвания на чат • Вграждания • Генериране на изображения • Аудио • Прекласиране • 100% TypeScript**
+**Завършвания на чат • Вграждания • Генериране на изображения • Видео • Музика • Аудио • Прекласиране • MCP сървър • A2A протокол • 100% TypeScript**
+
+---
+
+
+|
-
+
OpenClaw - - ⭐ 205K + ⭐ 205K |
@@ -64,30 +105,30 @@ _Свържете всеки базиран на AI IDE или CLI инстру |
- Codex CLI + Кодекс CLI ⭐ 60.8K |
- Claude Code + Код на Клод ⭐ 67.3K |
- Gemini CLI + Близнаци CLI - ⭐ 94.7K + ⭐ 94,7K |
- Kilo Code + Kilo код - ⭐ 15.5K + ⭐ 15,5K |
-
- # 🚀 OmniRoute — Den gratis AI-gateway
+# 🚀 OmniRoute — Den gratis AI-gateway
### Stop aldrig med at kode. Smart routing til **GRATIS og billige AI-modeller** med automatisk fallback.
-_Din universelle API-proxy — ét slutpunkt, 36+ udbydere, ingen nedetid._
+_Din universelle API-proxy — ét slutpunkt, 36+ udbydere, ingen nedetid. Nu med **MCP & A2A** agentorkestrering._
-**Chatafslutninger • Indlejringer • Billedgenerering • Lyd • Genrangering • 100 % TypeScript**
+**Chatafslutninger • Indlejringer • Billedgenerering • Video • Musik • Lyd • Genrangering • MCP-server • A2A-protokol • 100 % TypeScript**
+
+---
+
+
+|
-
+
OpenClaw - - ⭐ 205K + ⭐ 205K |
NanoBot - ⭐ 20.9K + ⭐ 20,9K |
@@ -43,7 +84,7 @@ _Tilslut ethvert AI-drevet IDE- eller CLI-værktøj gennem OmniRoute - gratis AP
ZeroClaw - ⭐ 9.9K + ⭐ 9,9K |
@@ -71,7 +112,7 @@ _Tilslut ethvert AI-drevet IDE- eller CLI-værktøj gennem OmniRoute - gratis AP |
- Claude Code + Claude Kode ⭐ 67.3K |
@@ -85,28 +126,14 @@ _Tilslut ethvert AI-drevet IDE- eller CLI-værktøj gennem OmniRoute - gratis AP
- Kilo Code + Kilo-kode - ⭐ 15.5K + ⭐ 15,5K |
http://localhost:20128/v1 eller http://cloud.omniroute.online/v1 , —limited one config and kvote
-
----
-
-[](https://www.npmjs.com/package/omniroute)
-[](https://hub.docker.com/r/diegosouzapw/omniroute)
-[](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE)
-[](https://omniroute.online)
-[](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
-
-[🌐 Website](https://omniroute.online) • [🚀 Quick Start](#-quick-start) • [💡 Features](#-key-features) • [📖 Docs](#-documentation) • [💰 Pricing](#-pricing-at-a-glance) • [💬 WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
-
-🌐 **Available in:** 🇺🇸 [English](README.md) | 🇧🇷 [Português (Brasil)](README.pt-BR.md) | 🇪🇸 [Español](README.es.md) | 🇫🇷 [Français](README.fr.md) | 🇮🇹 [Italiano](README.it.md) | 🇷🇺 [Русский](README.ru.md) | 🇨🇳 [中文 (简体)](README.zh-CN.md) | 🇩🇪 [Deutsch](README.de.md) | 🇮🇳 [हिन्दी](README.in.md) | 🇹🇭 [ไทย](README.th.md) | 🇺🇦 [Українська](README.uk-UA.md) | 🇸🇦 [العربية](README.ar.md) | 🇯🇵 [日本語](README.ja.md) | 🇻🇳 [Tiếng Việt](README.vi.md) | 🇧🇬 [Български](README.bg.md) | 🇩🇰 [Dansk](README.da.md) | 🇫🇮 [Suomi](README.fi.md) | 🇮🇱 [עברית](README.he.md) | 🇭🇺 [Magyar](README.hu.md) | 🇮🇩 [Bahasa Indonesia](README.id.md) | 🇰🇷 [한국어](README.ko.md) | 🇲🇾 [Bahasa Melayu](README.ms.md) | 🇳🇱 [Nederlands](README.nl.md) | 🇳🇴 [Norsk](README.no.md) | 🇵🇹 [Português (Portugal)](README.pt.md) | 🇷🇴 [Română](README.ro.md) | 🇵🇱 [Polski](README.pl.md) | 🇸🇰 [Slovenčina](README.sk.md) | 🇸🇪 [Svenska](README.sv.md) | 🇵🇭 [Filipino](README.phi.md)
-
-http://localhost:20128/v1 eller http://cloud.omniroute.online/v1XQZPH00 og unlimited model conf. quota
---
@@ -115,7 +142,7 @@ _Tilslut ethvert AI-drevet IDE- eller CLI-værktøj gennem OmniRoute - gratis AP
**Stop med at spilde penge og nå grænser:**
-
-
- # 🚀 OmniRoute — Das kostenlose AI-Gateway
+# 🚀 OmniRoute – Das kostenlose KI-Gateway
-### Höre nie auf zu programmieren. Intelligentes Routing zu **KOSTENLOSEN und günstigen KI-Modellen** mit automatischem Fallback.
+### Hören Sie nie auf zu programmieren. Intelligentes Routing zu **KOSTENLOSEN und kostengünstigen KI-Modellen** mit automatischem Fallback.
-_Dein universeller API-Proxy — ein Endpoint, 36+ Anbieter, null Ausfallzeit._
+_Ihr universeller API-Proxy – ein Endpunkt, mehr als 36 Anbieter, keine Ausfallzeiten. Jetzt mit **MCP & A2A** Agenten-Orchestrierung._
-**Chat Completions • Embeddings • Bildgenerierung • Audio • Reranking • 100% TypeScript**
+**Chat-Abschlüsse • Einbettungen • Bildgenerierung • Video • Musik • Audio • Reranking • MCP-Server • A2A-Protokoll • 100 % TypeScript**
---
-### 🤖 Kostenloser KI-Anbieter für deine Lieblings-Coding-Agenten
+
+|
-
+
OpenClaw - - ⭐ 205K + ⭐ 205K |
@@ -85,374 +126,643 @@ _Verbinde jedes KI-gesteuerte IDE- oder CLI-Tool über OmniRoute — kostenloses |
- Kilo Code + Kilo-Code ⭐ 15.5K |
http://localhost:20128/v1 oder http://cloud.omniroute.online/v1 — eine Konfiguration, unbegrenzte Modelle und Kontingent
-
----
-
-[](https://www.npmjs.com/package/omniroute)
-[](https://hub.docker.com/r/diegosouzapw/omniroute)
-[](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE)
-[](https://omniroute.online)
-[](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
-
-[🌐 Website](https://omniroute.online) • [🚀 Schnellstart](#-schnellstart) • [💡 Funktionen](#-hauptfunktionen) • [📖 Doku](#-dokumentation) • [💰 Preise](#-preisübersicht)
-
-🌐 **Verfügbar in:** 🇺🇸 [English](README.md) | 🇧🇷 [Português (Brasil)](README.pt-BR.md) | 🇪🇸 [Español](README.es.md) | 🇫🇷 [Français](README.fr.md) | 🇮🇹 [Italiano](README.it.md) | 🇷🇺 [Русский](README.ru.md) | 🇨🇳 [中文 (简体)](README.zh-CN.md) | 🇩🇪 [Deutsch](README.de.md) | 🇮🇳 [हिन्दी](README.in.md) | 🇹🇭 [ไทย](README.th.md) | 🇺🇦 [Українська](README.uk-UA.md) | 🇸🇦 [العربية](README.ar.md) | 🇯🇵 [日本語](README.ja.md) | 🇻🇳 [Tiếng Việt](README.vi.md) | 🇧🇬 [Български](README.bg.md) | 🇩🇰 [Dansk](README.da.md) | 🇫🇮 [Suomi](README.fi.md) | 🇮🇱 [עברית](README.he.md) | 🇭🇺 [Magyar](README.hu.md) | 🇮🇩 [Bahasa Indonesia](README.id.md) | 🇰🇷 [한국어](README.ko.md) | 🇲🇾 [Bahasa Melayu](README.ms.md) | 🇳🇱 [Nederlands](README.nl.md) | 🇳🇴 [Norsk](README.no.md) | 🇵🇹 [Português (Portugal)](README.pt.md) | 🇷🇴 [Română](README.ro.md) | 🇵🇱 [Polski](README.pl.md) | 🇸🇰 [Slovenčina](README.sk.md) | 🇸🇪 [Svenska](README.sv.md) | 🇵🇭 [Filipino](README.phi.md)
-
-http://localhost:20128/v1 oder quote
---
## 🤔 Warum OmniRoute?
-**Hör auf, Geld zu verschwenden und an Limits zu stoßen:**
+**Hören Sie auf, Geld zu verschwenden und an Grenzen zu stoßen:**
--
+
+
+
+
+
+
+
+
+
+
-
- # 🚀 OmniRoute — The Free AI Gateway
+# 🚀 OmniRoute — The Free AI Gateway
### Never stop coding. Smart routing to **FREE & low-cost AI models** with automatic fallback.
@@ -11,6 +8,8 @@ _Your universal API proxy — one endpoint, 36+ providers, zero downtime. Now wi
---
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{agentCard.description}
-{s.description?.slice(0, 100)}
-{t(`state.${state}`)}
+{status?.tasks?.counts?.[state] || 0}
{status.agent.name}
+{status.agent.description}
++ {t("version")}: {status.agent.version} +
++ {t("url")}: {status.agent.url} +
+{t("capabilities")}
+
+ {JSON.stringify(status.capabilities || {}, null, 2)}
+
+ {t("agentCardNotAvailable")}
+ )} +{t("quickValidationDescription")}
+{actionMessage}
} ++ {t("taskSummary", { total: tasksData.total, page: currentPage, totalPages })} +
+
- No A2A tasks yet. Send a request to /a2a to get started.
-
{t("loadingTasks")}
+ ) : tasksData.tasks.length === 0 ? ( +{t("noTasksForFilters")}
) : ( -- Skill: {task.skill} -
- {task.metadata?.routing_explanation && ( -{task.metadata.routing_explanation}
- )} -| {t("tableTask")} | +{t("tableSkill")} | +{t("tableState")} | +{t("tableUpdated")} | +{t("tableActions")} | +
|---|---|---|---|---|
| {task.id} | +{task.skill} | ++ + {t(`state.${task.state}`)} + + | ++ {new Date(task.updatedAt).toLocaleString()} + | ++ + + | +
{t("metadata")}
+
+ {JSON.stringify(
+ {
+ id: selectedTask.id,
+ skill: selectedTask.skill,
+ state: selectedTask.state,
+ createdAt: selectedTask.createdAt,
+ updatedAt: selectedTask.updatedAt,
+ expiresAt: selectedTask.expiresAt,
+ metadata: selectedTask.metadata,
+ },
+ null,
+ 2
+ )}
+
+ {t("events")}
+
+ {JSON.stringify(selectedTask.events, null, 2)}
+
+ {t("artifacts")}
+
+ {JSON.stringify(selectedTask.artifacts, null, 2)}
+
+ {label}
+{value}
{t("description")}
++ {getStrategyDescription(t, strategyValue)} +
+{combo.name}
-
- {strategy}
-
+ - {t("modelsAcrossEndpoints", { - models: Object.values(endpointData).reduce((acc, models) => acc + models.length, 0), - endpoints: [ - endpointData.chat, - endpointData.embeddings, - endpointData.images, - endpointData.rerank, - endpointData.audioTranscription, - endpointData.audioSpeech, - endpointData.moderation, - ].filter((a) => a.length > 0).length + 2, - })} + {t("sectionDescription") || + "OpenAI-compatible APIs and operational protocol endpoints"}
+ {t("modelsAcrossEndpoints", { + models: Object.values(endpointData).reduce( + (acc, models) => acc + models.length, + 0 + ), + endpoints: + [ + endpointData.chat, + endpointData.embeddings, + endpointData.images, + endpointData.rerank, + endpointData.audioTranscription, + endpointData.audioSpeech, + endpointData.moderation, + ].filter((a) => a.length > 0).length + 2, + })} +
++ {t("protocolsDescription") || + "MCP and A2A are first-class endpoints with dedicated observability and controls."} +
++ {t("mcpCardDescription") || "Model Context Protocol over stdio"} +
++ {t("protocolToolsLabel") || "Tools"}:{" "} + {mcpToolCount || 16} +
++ {t("protocolLastActivity") || "Last activity"}:{" "} + + {mcpStatus?.activity?.lastCallAt + ? new Date(mcpStatus.activity.lastCallAt).toLocaleString() + : "—"} + +
+{t("quickStart") || "Quick Start"}
+omniroute --mcp
+ + {t("a2aCardDescription") || "Agent2Agent JSON-RPC endpoint"} +
++ {t("protocolTasksLabel") || "Tasks"}:{" "} + + {a2aStatus?.tasks?.total || 0} + +
++ {t("protocolActiveStreamsLabel") || "Active streams"}:{" "} + {a2aActiveStreams} +
+{t("quickStart") || "Quick Start"}
+
+ {baseUrl.replace(/\/v1$/, "")}/a2a
+
+ {t("noToolCalls24h")}
+ ) : ( ++ {t("transport")}:{" "} + {status?.heartbeat?.transport || "—"} +
++ {t("scopesEnforced")}:{" "} + + {status?.heartbeat?.scopesEnforced ? t("yes") : t("no")} + +
++ {t("lastCall")}:{" "} + + {status?.activity?.lastCallTool || "—"}{" "} + {status?.activity?.lastCallAt + ? `(${new Date(status.activity.lastCallAt).toLocaleString()})` + : ""} + +
++ {t("heartbeatPath")}:{" "} + {status?.heartbeatPath || "—"} +
+Loading...
- ) : audit.length === 0 ? ( -
- No MCP calls yet. Use omniroute --mcp to connect.
-
{t("switchCombo")}
+ +{t("applyResilienceProfile")}
+ +{t("resetCircuitBreakers")}
+{t("resetCircuitBreakersHelp")}
+{actionMessage}
} +| {t("tableTool")} | +{t("tableScopes")} | +{t("tablePhase")} | +{t("tableAudit")} | +
|---|---|---|---|
| {tool.name} | +{tool.scopes.join(", ") || "—"} | +{tool.phase} | +{tool.auditLevel} | +
+ {t("auditSummary", { total: auditData.total, page: currentPage, totalPages })} +
+{t("loadingAuditEntries")}
+ ) : auditData.entries.length === 0 ? ( +{t("noAuditEntriesForFilters")}
) : (| Tool | -Time | -Duration | -Status | +|||
|---|---|---|---|---|---|---|
| {t("tableTimestamp")} | +{t("tableTool")} | +{t("tableDuration")} | +{t("tableResult")} | +{t("tableApiKey")} | ||
| {entry.tool_name} | -- {new Date(entry.timestamp).toLocaleTimeString()} + {auditData.entries.map((entry) => ( + | |||||
| + {new Date(entry.createdAt).toLocaleString()} | -{entry.duration_ms}ms | -{entry.success ? "✅" : "❌"} | +{entry.toolName} | +{entry.durationMs}ms | ++ + {entry.success ? t("success") : entry.errorCode || t("failed")} + + | +{entry.apiKeyId || "—"} |
{label}
-{value}
+{label}
+{value}
{t("protocolsDescription")}
+ +{t("protocolMcpDesc")}
+
+ {`omniroute --mcp`}
+
+ {t("protocolA2aDesc")}
+
+ {`GET /.well-known/agent.json
+POST /a2a (JSON-RPC: message/send | message/stream)`}
+
+