From cde0a3bf4e6037af9965ec44cbc7d86f47632f24 Mon Sep 17 00:00:00 2001 From: diegosouzapw Date: Thu, 26 Feb 2026 16:21:57 -0300 Subject: [PATCH] docs: add multilingual README translations (Arabic, Filipino, etc.) Add localized README files for additional languages including Arabic (README.ar.md) and Filipino (README.fil.md) to improve accessibility and broaden the project's international reach. --- README.ar.md | 1153 +++++++++++++++++++++++++++++++++++++++++ README.bg.md | 1238 +++++++++++++++++++++++++++++++++++++++++++++ README.da.md | 1238 +++++++++++++++++++++++++++++++++++++++++++++ README.de.md | 2 +- README.es.md | 2 +- README.fi.md | 1238 +++++++++++++++++++++++++++++++++++++++++++++ README.fr.md | 2 +- README.he.md | 1238 +++++++++++++++++++++++++++++++++++++++++++++ README.hu.md | 1238 +++++++++++++++++++++++++++++++++++++++++++++ README.id.md | 1238 +++++++++++++++++++++++++++++++++++++++++++++ README.in.md | 1032 +++++++++++++++++++++++++++++++++++++ README.it.md | 2 +- README.ja.md | 1152 +++++++++++++++++++++++++++++++++++++++++ README.ko.md | 1238 +++++++++++++++++++++++++++++++++++++++++++++ README.md | 2 +- README.ms.md | 1238 +++++++++++++++++++++++++++++++++++++++++++++ README.nl.md | 1238 +++++++++++++++++++++++++++++++++++++++++++++ README.no.md | 1238 +++++++++++++++++++++++++++++++++++++++++++++ README.phi.md | 1238 +++++++++++++++++++++++++++++++++++++++++++++ clipr/9router | 1 - clipr/CLIProxyAPI | 1 - 21 files changed, 16960 insertions(+), 7 deletions(-) create mode 100644 README.ar.md create mode 100644 README.bg.md create mode 100644 README.da.md create mode 100644 README.fi.md create mode 100644 README.he.md create mode 100644 README.hu.md create mode 100644 README.id.md create mode 100644 README.in.md create mode 100644 README.ja.md create mode 100644 README.ko.md create mode 100644 README.ms.md create mode 100644 README.nl.md create mode 100644 README.no.md create mode 100644 README.phi.md delete mode 160000 clipr/9router delete mode 160000 clipr/CLIProxyAPI diff --git a/README.ar.md b/README.ar.md new file mode 100644 index 0000000000..55c195f7b0 --- /dev/null +++ b/README.ar.md @@ -0,0 +1,1153 @@ +
+ OmniRoute Dashboard + + # 🚀 OmniRoute — بوابة الذكاء الاصطناعي المجانية + +### لا تتوقف أبدًا عن البرمجة. التوجيه الذكي إلى **نماذج الذكاء الاصطناعي المجانية ومنخفضة التكلفة** مع الرجوع التلقائي. + +_وكيل واجهة برمجة التطبيقات العالمي الخاص بك — نقطة نهاية واحدة، وأكثر من 36 موفرًا، بدون أي توقف عن العمل._ + +**إكمالات الدردشة • التضمينات • إنشاء الصور • الصوت • إعادة الترتيب • 100% TypeScript** + +--- + +### 🤖 موفر الذكاء الاصطناعي المجاني لوكلاء البرمجة المفضلين لديك + +_قم بتوصيل أي أداة IDE أو CLI مدعومة بالذكاء الاصطناعي من خلال OmniRoute - بوابة واجهة برمجة التطبيقات المجانية للترميز غير المحدود._ + + + + + + + + + + + + + + + + +
+ + OpenClaw
+ OpenClaw +

+ ⭐ 205K +
+ + NanoBot
+ NanoBot +

+ ⭐ 20.9K +
+ + PicoClaw
+ PicoClaw +

+ ⭐ 14.6K +
+ + ZeroClaw
+ ZeroClaw +

+ ⭐ 9.9K +
+ + IronClaw
+ IronClaw +

+ ⭐ 2.1K +
+ + OpenCode
+ OpenCode +

+ ⭐ 106K +
+ + Codex CLI
+ Codex CLI +

+ ⭐ 60.8K +
+ + Claude Code
+ Claude Code +

+ ⭐ 67.3K +
+ + Gemini CLI
+ Gemini CLI +

+ ⭐ 94.7K +
+ + Kilo Code
+ Kilo Code +

+ ⭐ 15.5K +
+ +📡 يتصل جميع الوكلاء عبر http://localhost:20128/v1 أو http://cloud.omniroute.online/v1 - تكوين واحد ونماذج غير محدودة و الحصة + +--- + +[![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) +[![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) +[![License](https://img.shields.io/github/license/diegosouzapw/OmniRoute)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE) +[![Website](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) +[![WhatsApp](https://img.shields.io/badge/WhatsApp-Community-25D366?logo=whatsapp&logoColor=white)](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) + +
+ +--- + +## 🤔 لماذا OmniRoute؟ + +**توقف عن إهدار المال وضرب الحدود:** + +- تنتهي صلاحية حصة الاشتراك غير المستخدمة كل شهر +- حدود الأسعار تمنعك من الترميز المتوسط +- واجهات برمجة التطبيقات باهظة الثمن (20-50 دولارًا شهريًا لكل مزود) +- التبديل اليدوي بين مقدمي الخدمة + +** OmniRoute يحل هذا: ** + +- ✅ **تعظيم الاشتراكات** - تتبع الحصة، استخدم كل جزء منها قبل إعادة التعيين +- ✅ **الرجوع التلقائي** - الاشتراك → مفتاح واجهة برمجة التطبيقات → رخيص → مجاني، بدون توقف +- ✅ **حسابات متعددة** - جولة روبن بين الحسابات لكل مزود +- ✅ **عالمي** - يعمل مع Claude Code وCodex وGemini CLI وCursor وCline وOpenClaw وأي أداة CLI + +--- + +## 🔄 كيف يعمل + +``` +┌─────────────┐ +│ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) +│ Tool │ +└──────┬──────┘ + │ http://localhost:20128/v1 + ↓ +┌─────────────────────────────────────────┐ +│ OmniRoute (Smart Router) │ +│ • Format translation (OpenAI ↔ Claude) │ +│ • Quota tracking + Embeddings + Images │ +│ • Auto token refresh │ +└──────┬──────────────────────────────────┘ + │ + ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI + │ ↓ quota exhausted + ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc. + │ ↓ budget limit + ├─→ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M) + │ ↓ budget limit + └─→ [Tier 4: FREE] iFlow, Qwen, Kiro (unlimited) + +Result: Never stop coding, minimal cost +``` + +--- + +## ⚡ بداية سريعة + +**1. التثبيت عالميًا:** + +```bash +npm install -g omniroute +omniroute +``` + +🎉 تفتح لوحة التحكم في `http://localhost:20128` + +| الأمر | الوصف | +| ----------------------- | ----------------------------------------- | +| `omniroute` | بدء تشغيل الخادم (المنفذ الافتراضي 20128) | +| `omniroute --port 3000` | استخدم المنفذ المخصص | +| `omniroute --no-open` | لا تفتح المتصفح تلقائيًا | +| `omniroute --help` | عرض المساعدة | + +**2. الاتصال بمزود مجاني: ** + +لوحة التحكم → الموفرون → الاتصال **Claude Code** أو **Antigravity** → تسجيل الدخول OAuth → تم! + +**3. استخدم في أداة CLI الخاصة بك:** + +``` +Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings: + Endpoint: http://localhost:20128/v1 + API Key: [copy from dashboard] + Model: if/kimi-k2-thinking +``` + +**هذا كل شيء!** ابدأ البرمجة باستخدام نماذج الذكاء الاصطناعي المجانية. + +** البديل - تشغيل من المصدر: ** + +```bash +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +--- + +## 🐳 عامل الميناء + +OmniRoute متاح كصورة Docker عامة على [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute). + +**الجري السريع:** + +```bash +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +** مع ملف البيئة: ** + +```bash +# Copy and edit .env first +cp .env.example .env + +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + --env-file .env \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**استخدام Docker Compose:** + +```bash +# Base profile (no CLI tools) +docker compose --profile base up -d + +# CLI profile (Claude Code, Codex, OpenClaw built-in) +docker compose --profile cli up -d +``` + +| صورة | العلامة | الحجم | الوصف | +| ------------------------ | -------- | ------------- | ---------------- | +| `diegosouzapw/omniroute` | `latest` | ~250 ميجابايت | أحدث إصدار مستقر | +| `diegosouzapw/omniroute` | `1.0.3` | ~250 ميجابايت | النسخة الحالية | + +--- + +## 💰 لمحة سريعة عن الأسعار + +| الطبقة | مقدم | التكلفة | إعادة ضبط الحصص | الأفضل لـ | +| ---------------------------------- | ---------------------------- | ---------------------- | ----------------------- | ------------------------- | +| **💳الإشتراك** | كلود كود (برو) | 20 دولارًا شهريًا | 5 ساعات + أسبوعي | اشتركت بالفعل | +| | الدستور الغذائي (زائد / برو) | 20-200 دولار شهريًا | 5 ساعات + أسبوعي | مستخدمي OpenAI | +| | الجوزاء CLI | **مجاني** | 180 ألف/شهر + 1 ألف/يوم | الجميع! | +| | جيثب مساعد الطيار | 10-19 دولارًا شهريًا | شهري | مستخدمي جيثب | +| **🔑 مفتاح واجهة برمجة التطبيقات** | نفيديا نيم | **مجانًا** (1000 نقطة) | لمرة واحدة | اختبار المستوى المجاني | +| | ديب سيك | الدفع لكل استخدام | لا شيء | أفضل سعر/جودة | +| | جروك | طبقة مجانية + مدفوعة | معدل محدود | الاستدلال فائق السرعة | +| | xAI (جروك) | الدفع لكل استخدام | لا شيء | نماذج جروك | +| | ميسترال | طبقة مجانية + مدفوعة | معدل محدود | الذكاء الاصطناعي الأوروبي | +| | اوبن راوتر | الدفع لكل استخدام | لا شيء | أكثر من 100 موديل | +| **💰 رخيص** | جي إل إم-4.7 | 0.6 دولار/1 مليون | يوميا 10 صباحا | نسخة احتياطية للميزانية | +| | ميني ماكس M2.1 | 0.2 دولار/1 مليون | المتداول لمدة 5 ساعات | الخيار الأرخص | +| | كيمي ك2 | 9 دولارات شهريًا مسطحة | 10 مليون رمز/شهر | التكلفة المتوقعة | +| **🆓مجانًا** | اي فلو | $0 | غير محدود | 8 نماذج مجانية | +| | كوين | $0 | غير محدود | 3 نماذج مجانية | +| | كيرو | $0 | غير محدود | كلود مجاني | + +**💡 نصيحة احترافية:** ابدأ مع مجموعة Gemini CLI (180 ألفًا مجانًا شهريًا) + مجموعة iFlow (مجانية غير محدودة) = تكلفة 0 دولار! + +--- + +## 🎯 حالات الاستخدام + +### الحالة 1: "لدي اشتراك Claude Pro" + +**المشكلة:** تنتهي صلاحية الحصة غير المستخدمة، وحدود المعدل أثناء عملية الترميز المكثف + +``` +Combo: "maximize-claude" + 1. cc/claude-opus-4-6 (use subscription fully) + 2. glm/glm-4.7 (cheap backup when quota out) + 3. if/kimi-k2-thinking (free emergency fallback) + +Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total +vs. $20 + hitting limits = frustration +``` + +### الحالة 2: "أريد تكلفة صفرية" + +**المشكلة:** لا أستطيع تحمل تكلفة الاشتراكات، وتحتاج إلى ترميز يعتمد على الذكاء الاصطناعي + +``` +Combo: "free-forever" + 1. gc/gemini-3-flash (180K free/month) + 2. if/kimi-k2-thinking (unlimited free) + 3. qw/qwen3-coder-plus (unlimited free) + +Monthly cost: $0 +Quality: Production-ready models +``` + +### الحالة 3: "أحتاج إلى تشفير على مدار 24 ساعة طوال أيام الأسبوع، دون انقطاع" + +**المشكلة:** المواعيد النهائية، لا أستطيع تحمل فترات التوقف عن العمل + +``` +Combo: "always-on" + 1. cc/claude-opus-4-6 (best quality) + 2. cx/gpt-5.2-codex (second subscription) + 3. glm/glm-4.7 (cheap, resets daily) + 4. minimax/MiniMax-M2.1 (cheapest, 5h reset) + 5. if/kimi-k2-thinking (free unlimited) + +Result: 5 layers of fallback = zero downtime +``` + +### الحالة 4: "أريد ذكاءً اصطناعيًا مجانيًا في OpenClaw" + +**المشكلة:** تحتاج إلى مساعد الذكاء الاصطناعي في تطبيقات المراسلة، مجانًا تمامًا + +``` +Combo: "openclaw-free" + 1. if/glm-4.7 (unlimited free) + 2. if/minimax-m2.1 (unlimited free) + 3. if/kimi-k2-thinking (unlimited free) + +Monthly cost: $0 +Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal... +``` + +--- + +## 💡 الميزات الرئيسية + +### 🧠 التوجيه الأساسي والذكاء + +| ميزة | ماذا يفعل | +| --------------------------------- | ---------------------------------------------------------------------------------------------- | +| 🎯 **احتياطي ذكي من 4 طبقات** | المسار التلقائي: الاشتراك → مفتاح API → رخيص → مجاني | +| 📊 **تتبع الحصص في الوقت الفعلي** | عدد الرموز الحية + إعادة تعيين العد التنازلي لكل مزود | +| 🔄 **تنسيق الترجمة** | OpenAI ↔ كلود ↔ الجوزاء ↔ المؤشر ↔ كيرو سلس + تعقيم الاستجابة | +| 👥 **دعم الحسابات المتعددة** | حسابات متعددة لكل مزود مع اختيار ذكي | +| 🔄 **تحديث تلقائي للرمز** | يتم تحديث رموز OAuth المميزة تلقائيًا من خلال إعادة المحاولة | +| 🎨 **مجموعات مخصصة** | 6 إستراتيجيات: التعبئة أولاً، الجولة روبن، P2C، عشوائي، الأقل استخدامًا، الأمثل من حيث التكلفة | +| 🧩 **نماذج مخصصة** | أضف أي معرف نموذج إلى أي مزود | +| 🌐 **جهاز توجيه Wildcard** | قم بتوجيه أنماط `provider/*` إلى أي مزود ديناميكيًا | +| 🧠 **ميزانية التفكير** | أوضاع العبور والتلقائي والمخصص والتكيفي لنماذج الاستدلال | +| 💬 **الحقن الفوري للنظام** | يتم تطبيق موجه النظام العالمي على كافة الطلبات | +| 📄 **Responses API** | دعم واجهة برمجة تطبيقات استجابات OpenAI الكاملة (`/v1/responses`) لـ Codex | + +### 🎵 واجهات برمجة التطبيقات متعددة الوسائط + +| ميزة | ماذا يفعل | +| -------------------------- | --------------------------------------------------------- | +| 🖼️ **إنشاء الصور** | `/v1/images/generations` — 4 مقدمي خدمات، أكثر من 9 نماذج | +| 📐 **المضامين** | `/v1/embeddings` — 6 مقدمي خدمات، أكثر من 9 نماذج | +| 🎤 **نسخ صوتي** | `/v1/audio/transcriptions` — متوافق مع الهمس | +| 🔊 **تحويل النص إلى كلام** | `/v1/audio/speech` — تركيب صوتي متعدد الموفرين | +| 🛡️ **اعتدالات** | `/v1/moderations` — فحوصات سلامة المحتوى | +| 🔀 **إعادة الترتيب** | `/v1/rerank` — إعادة ترتيب مدى صلة الوثيقة | + +### 🛡️ المرونة والأمان + +| ميزة | ماذا يفعل | +| --------------------------------------------- | ------------------------------------------------------------------------------------------- | +| 🔌 **قاطع الدائرة** | فتح/إغلاق تلقائي لكل مزود مع حدود قابلة للتكوين | +| 🛡️ **القطيع المضاد للرعد** | الحد الأقصى لمعدل Mutex + الإشارة لموفري مفاتيح API | +| 🧠 **ذاكرة التخزين المؤقت الدلالية** | ذاكرة التخزين المؤقت ذات المستويين (التوقيع + الدلالي) تقلل التكلفة وزمن الوصول | +| ⚡ **طلب العجز** | نافذة 5s dedup للطلبات المكررة | +| 🔒 **انتحال بصمة الإصبع TLS** | تجاوز اكتشاف الروبوتات المستندة إلى TLS عبر wreq-js | +| 🌐 **تصفية IP** | القائمة المسموح بها/القائمة المحظورة للتحكم في الوصول إلى واجهة برمجة التطبيقات | +| 📊 **حدود المعدل القابلة للتحرير** | عدد الدورات في الدقيقة القابل للتكوين والفجوة الدنيا والحد الأقصى المتزامن على مستوى النظام | +| 🛡 **حماية نقطة نهاية واجهة برمجة التطبيقات** | بوابة المصادقة + حظر الموفر لنقطة النهاية `/models` | +| 🔒 **رؤية الوكيل** | شارات مرمزة بالألوان: 🟢 عالمية، 🟡 مزود، 🔵 لكل اتصال مع عرض IP | +| 🌐 ** تكوين الوكيل ذو 3 مستويات ** | قم بتكوين الوكلاء على المستوى العالمي أو لكل مزود أو لكل اتصال | + +### 📊 إمكانية الملاحظة والتحليلات + +| ميزة | ماذا يفعل | +| ------------------------------------ | -------------------------------------------------------------------------------------------- | +| 📝 **تسجيل الطلبات** | وضع التصحيح مع سجلات الطلب/الاستجابة الكاملة | +| 💾 **سجلات وكيل SQLite** | تستمر سجلات الوكيل المستمرة في إعادة تشغيل الخادم | +| 📊 **لوحة التحكم التحليلية** | مدعوم من إعادة التخطيط: بطاقات إحصائيات، مخطط استخدام النموذج، جدول الموفر | +| 📈 **تتبع التقدم** | الاشتراك في أحداث تقدم SSE للبث | +| 🧪 **تقييمات ماجستير إدارة الأعمال** | اختبار المجموعة الذهبية مع 4 إستراتيجيات المباراة | +| 🔍 **طلب القياس عن بعد** | تجميع زمن الوصول p50/p95/p99 + تتبع معرف طلب X | +| 📋 **لوحة تحكم السجلات** | صفحة موحدة مكونة من 4 علامات تبويب: سجلات الطلب، وسجلات الوكيل، وسجلات التدقيق، ووحدة التحكم | +| 🖥️ **عارض سجل وحدة التحكم** | عارض على النمط الطرفي في الوقت الفعلي مع مرشح المستوى والبحث والتمرير التلقائي | +| 📑 ** التسجيل المعتمد على الملفات ** | يلتقط جهاز اعتراض وحدة التحكم جميع المخرجات إلى ملف سجل JSON بالتدوير | +| 🏥 **لوحة المعلومات الصحية** | وقت تشغيل النظام، حالات قاطع الدائرة، عمليات الإغلاق، إحصائيات ذاكرة التخزين المؤقت | +| 💰 **تتبع التكلفة** | إدارة الميزانية + تكوين التسعير لكل نموذج | + +### ☁️ النشر والمزامنة + +| ميزة | ماذا يفعل | +| ----------------------------------------- | ----------------------------------------------------------------------------- | +| 💾 **المزامنة السحابية** | مزامنة التكوين عبر الأجهزة عبر Cloudflare Workers | +| 🌐 **النشر في أي مكان** | المضيف المحلي، VPS، Docker، عمال Cloudflare | +| 🔑 **إدارة مفاتيح واجهة برمجة التطبيقات** | إنشاء مفاتيح واجهة برمجة التطبيقات وتدويرها ونطاقها لكل مزود | +| 🧙 **معالج الإعداد** | إعداد إرشادي من 4 خطوات للمستخدمين لأول مرة | +| 🔧 **لوحة تحكم أدوات CLI** | بنقرة واحدة قم بتكوين Claude، Codex، Cline، OpenClaw، Kilo، Antigravity | +| 🔄 **النسخ الاحتياطية لقاعدة البيانات** | النسخ الاحتياطي التلقائي والاستعادة والتصدير والاستيراد لجميع الإعدادات | +| 🌐 **التدويل** | i18n الكامل مع دعم next-intl — الإنجليزية + البرتغالية (البرازيل) | +| 🌍 **محدد اللغة** | أيقونة الكرة الأرضية في رأس الصفحة للتبديل بين اللغات في الوقت الفعلي (🇺🇸/🇧🇷) | +| 📂 **دليل البيانات المخصصة** | `DATA_DIR` env var لتجاوز مسار التخزين الافتراضي `~/.omniroute` | + +
+📖 تفاصيل الميزة + +### 🎯 نظام احتياطي ذكي مكون من 4 طبقات + +إنشاء مجموعات باستخدام خيار الرجوع التلقائي: + +``` +Combo: "my-coding-stack" + 1. cc/claude-opus-4-6 (your subscription) + 2. nvidia/llama-3.3-70b (free NVIDIA API) + 3. glm/glm-4.7 (cheap backup, $0.6/1M) + 4. if/kimi-k2-thinking (free fallback) + +→ Auto switches when quota runs out or errors occur +``` + +### 📊 تتبع الحصص في الوقت الحقيقي + +- استهلاك الرمز المميز لكل مزود +- إعادة ضبط العد التنازلي (5 ساعات، يوميًا، أسبوعيًا) +- تقدير التكلفة للمستويات المدفوعة +- تقارير الإنفاق الشهرية + +### 🔄 ترجمة التنسيق + +ترجمة سلسة بين الصيغ: + +- **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **استجابات OpenAI** +- ترسل أداة CLI الخاصة بك تنسيق OpenAI ← يترجم OmniRoute ← يتلقى الموفر التنسيق الأصلي +- يعمل مع أي أداة تدعم نقاط نهاية OpenAI المخصصة +- **تطهير الاستجابة** - يزيل الحقول غير القياسية من أجل توافق صارم مع OpenAI SDK +- **تطبيع الدور** — `developer` → `system` لغير OpenAI؛ `system` → `user` لطرز GLM/ERNIE +- **استخراج علامة التفكير** — كتل `` → `reasoning_content` لنماذج التفكير +- **الإخراج المنظم** — `json_schema` → الجوزاء `responseMimeType`/`responseSchema` + +### 👥 دعم الحسابات المتعددة + +- إضافة حسابات متعددة لكل مزود +- التوجيه التلقائي أو التوجيه على أساس الأولوية +- الرجوع إلى الحساب التالي عندما يصل أحد إلى الحصة + +### 🔄 التحديث التلقائي للرموز + +- يتم تحديث رموز OAuth المميزة تلقائيًا قبل انتهاء الصلاحية +- لا حاجة لإعادة المصادقة اليدوية +- تجربة سلسة عبر جميع مقدمي الخدمة + +### 🎨 مجموعات مخصصة + +- إنشاء مجموعات نماذج غير محدودة +- 6 إستراتيجيات: التعبئة أولاً، جولة روبن، قوة الاختيارين، العشوائية، الأقل استخدامًا، الأمثل من حيث التكلفة +- مشاركة المجموعات عبر الأجهزة باستخدام Cloud Sync + +### 🏥 لوحة المعلومات الصحية + +- حالة النظام (وقت التشغيل، الإصدار، استخدام الذاكرة) +- حالات قاطع الدائرة لكل مزود (مغلق/مفتوح/نصف مفتوح) +- حالة الحد الأقصى للسعر وعمليات الإغلاق النشطة +- إحصائيات ذاكرة التخزين المؤقت للتوقيع +- قياس الكمون عن بعد (ص50/ص95/ص99) + ذاكرة تخزين مؤقت سريعة +- إعادة ضبط الحالة الصحية بنقرة واحدة + +### 🔧 ملعب المترجم + +يشتمل OmniRoute على ساحة مترجم قوية مدمجة مع **4 أوضاع** لتصحيح الأخطاء واختبار ومراقبة ترجمات واجهة برمجة التطبيقات: + +| الوضع | الوصف | +| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **💻 الملعب** | ترجمة التنسيق المباشر - الصق أي نص طلب واجهة برمجة التطبيقات (API) وشاهد على الفور كيف يقوم OmniRoute بترجمته بين تنسيقات الموفر (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). يتضمن أمثلة على القوالب والكشف التلقائي عن التنسيق. | +| **💬 اختبار الدردشة** | أرسل طلبات دردشة حقيقية من خلال OmniRoute وشاهد الرحلة الكاملة ذهابًا وإيابًا: مدخلاتك، والطلب المترجم، واستجابة الموفر، والرد المترجم. لا تقدر بثمن للتحقق من صحة توجيه التحرير والسرد. | +| **🧪 مقعد الاختبار** | وضع الاختبار المجمع - حدد حالات اختبار متعددة بمدخلات مختلفة ومخرجات متوقعة، وقم بتشغيلها كلها مرة واحدة، وقارن النتائج عبر الموفرين والنماذج. | +| **📱 مراقب مباشر** | مراقبة الطلبات في الوقت الفعلي - شاهد الطلبات الواردة أثناء تدفقها عبر OmniRoute، وشاهد ترجمات التنسيق التي تحدث مباشرة، وحدد المشكلات على الفور. | + +**الوصول:** لوحة المعلومات ← المترجم (الشريط الجانبي) + +### 💾 المزامنة السحابية + +- موفري المزامنة والمجموعات والإعدادات عبر الأجهزة +- مزامنة الخلفية التلقائية +- تخزين مشفر آمن + +
+ +--- + +## 📖 دليل الإعداد + +
+💳 موفري الاشتراك + +### كلود كود (برو/ماكس) + +```bash +Dashboard → Providers → Connect Claude Code +→ OAuth login → Auto token refresh +→ 5-hour + weekly quota tracking + +Models: + cc/claude-opus-4-6 + cc/claude-sonnet-4-5-20250929 + cc/claude-haiku-4-5-20251001 +``` + +**نصيحة احترافية:** استخدم Opus للمهام المعقدة، وSonnet للسرعة. OmniRoute يتتبع الحصة لكل نموذج! + +### OpenAI Codex (Plus/Pro) + +```bash +Dashboard → Providers → Connect Codex +→ OAuth login (port 1455) +→ 5-hour + weekly reset + +Models: + cx/gpt-5.2-codex + cx/gpt-5.1-codex-max +``` + +### Gemini CLI (180 ألفًا شهريًا مجانًا!) + +```bash +Dashboard → Providers → Connect Gemini CLI +→ Google OAuth +→ 180K completions/month + 1K/day + +Models: + gc/gemini-3-flash-preview + gc/gemini-2.5-pro +``` + +**أفضل قيمة:** طبقة مجانية ضخمة! استخدم هذا قبل المستويات المدفوعة. + +### مساعد جيثب + +```bash +Dashboard → Providers → Connect GitHub +→ OAuth via GitHub +→ Monthly reset (1st of month) + +Models: + gh/gpt-5 + gh/claude-4.5-sonnet + gh/gemini-3-pro +``` + +
+ +
+🔑 موفري مفاتيح واجهة برمجة التطبيقات + +### NVIDIA NIM (1000 نقطة مجانية!) + +1. قم بالتسجيل: [build.nvidia.com](https://build.nvidia.com) +2. احصل على مفتاح واجهة برمجة التطبيقات (API) مجانًا (يتضمن 1000 نقطة استدلال) +3. لوحة المعلومات → إضافة موفر → NVIDIA NIM: + - مفتاح واجهة برمجة التطبيقات: `nvapi-your-key` + +**النماذج:** `nvidia/llama-3.3-70b-instruct`، `nvidia/mistral-7b-instruct`، وأكثر من 50 طرازًا آخر + +**نصيحة احترافية:** واجهة برمجة التطبيقات المتوافقة مع OpenAI — تعمل بسلاسة مع ترجمة تنسيق OmniRoute! + +### ديب سيك + +1. قم بالتسجيل: [platform.deepseek.com](https://platform.deepseek.com) +2. احصل على مفتاح API +3. لوحة المعلومات → إضافة موفر → DeepSeek + +**النماذج:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder` + +### Groq (الطبقة المجانية متاحة!) + +1. قم بالتسجيل: [console.groq.com](https://console.groq.com) +2. احصل على مفتاح API (الطبقة المجانية متضمنة) +3. لوحة المعلومات → إضافة موفر → Groq + +**النماذج:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b` + +**نصيحة احترافية:** استنتاج فائق السرعة — الأفضل للبرمجة في الوقت الفعلي! + +### OpenRouter (+100 موديل) + +1. قم بالتسجيل: [openrouter.ai](https://openrouter.ai) +2. احصل على مفتاح API +3. لوحة المعلومات → إضافة موفر → OpenRouter + +**النماذج:** يمكنك الوصول إلى أكثر من 100 نموذج من جميع المزودين الرئيسيين من خلال مفتاح واجهة برمجة التطبيقات (API) واحد. + +
+ +
+💰 مقدمو الخدمة الرخيصة (النسخ الاحتياطي) + +### GLM-4.7 (إعادة التعيين اليومي، 0.6 دولار/1 مليون) + +1. قم بالتسجيل: [Zhipu AI](https://open.bigmodel.cn/) +2. احصل على مفتاح API من خطة الترميز +3. لوحة المعلومات → إضافة مفتاح واجهة برمجة التطبيقات: + - المزود: `glm` + - مفتاح واجهة برمجة التطبيقات: `your-key` + +**الاستخدام:** `glm/glm-4.7` + +**نصيحة احترافية:** توفر خطة البرمجة حصة 3× بتكلفة 1/7! إعادة الضبط يوميًا الساعة 10:00 صباحًا. + +### MiniMax M2.1 (إعادة الضبط لمدة 5 ساعات، 0.20 دولار/1 مليون) + +1. قم بالتسجيل: [MiniMax](https://www.minimax.io/) +2. احصل على مفتاح API +3. لوحة المعلومات → إضافة مفتاح API + +**الاستخدام:** `minimax/MiniMax-M2.1` + +**نصيحة احترافية:** الخيار الأرخص للسياق الطويل (مليون رمز)! + +### كيمي K2 (شقة بقيمة 9 دولارات شهريًا) + +1. الاشتراك: [Moonshot AI](https://platform.moonshot.ai/) +2. احصل على مفتاح API +3. لوحة المعلومات → إضافة مفتاح API + +**الاستخدام:** `kimi/kimi-latest` + +**نصيحة احترافية:** سعر ثابت قدره 9 دولارات شهريًا مقابل 10 ملايين رمز مميز = 0.90 دولارًا أمريكيًا/مليون تكلفة فعالة! + +
+ +
+🆓 موفرو الخدمة المجانية (النسخ الاحتياطي في حالات الطوارئ) + +### iFlow (8 نماذج مجانية) + +```bash +Dashboard → Connect iFlow +→ iFlow OAuth login +→ Unlimited usage + +Models: + if/kimi-k2-thinking + if/qwen3-coder-plus + if/glm-4.7 + if/minimax-m2 + if/deepseek-r1 +``` + +### كوين (3 موديلات مجانية) + +```bash +Dashboard → Connect Qwen +→ Device code authorization +→ Unlimited usage + +Models: + qw/qwen3-coder-plus + qw/qwen3-coder-flash +``` + +### كيرو (كلود فري) + +```bash +Dashboard → Connect Kiro +→ AWS Builder ID or Google/GitHub +→ Unlimited usage + +Models: + kr/claude-sonnet-4.5 + kr/claude-haiku-4.5 +``` + +
+ +
+🎨 إنشاء مجموعات + +### مثال 1: زيادة الاشتراك إلى الحد الأقصى → النسخ الاحتياطي الرخيص + +``` +Dashboard → Combos → Create New + +Name: premium-coding +Models: + 1. cc/claude-opus-4-6 (Subscription primary) + 2. glm/glm-4.7 (Cheap backup, $0.6/1M) + 3. minimax/MiniMax-M2.1 (Cheapest fallback, $0.20/1M) + +Use in CLI: premium-coding +``` + +### المثال 2: مجاني فقط (بدون تكلفة) + +``` +Name: free-combo +Models: + 1. gc/gemini-3-flash-preview (180K free/month) + 2. if/kimi-k2-thinking (unlimited) + 3. qw/qwen3-coder-plus (unlimited) + +Cost: $0 forever! +``` + +
+ +
+🔧 تكامل واجهة سطر الأوامر + +### بيئة تطوير متكاملة للمؤشر + +``` +Settings → Models → Advanced: + OpenAI API Base URL: http://localhost:20128/v1 + OpenAI API Key: [from OmniRoute dashboard] + Model: cc/claude-opus-4-6 +``` + +### كلود كود + +استخدم صفحة **أدوات CLI** في لوحة المعلومات للتكوين بنقرة واحدة، أو قم بتحرير `~/.claude/settings.json` يدويًا. + +### كوديكس سطر الأوامر + +```bash +export OPENAI_BASE_URL="http://localhost:20128" +export OPENAI_API_KEY="your-omniroute-api-key" + +codex "your prompt" +``` + +### OpenClaw + +**الخيار 1 — لوحة التحكم (مستحسن):** + +``` +Dashboard → CLI Tools → OpenClaw → Select Model → Apply +``` + +**الخيار 2 — يدويًا:** تحرير `~/.openclaw/openclaw.json`: + +```json +{ + "models": { + "providers": { + "omniroute": { + "baseUrl": "http://127.0.0.1:20128/v1", + "apiKey": "sk_omniroute", + "api": "openai-completions" + } + } + } +} +``` + +> **ملاحظة:** يعمل OpenClaw فقط مع OmniRoute المحلي. استخدم `127.0.0.1` بدلاً من `localhost` لتجنب مشكلات دقة IPv6. + +### كلاين / متابعة / RooCode + +``` +Settings → API Configuration: + Provider: OpenAI Compatible + Base URL: http://localhost:20128/v1 + API Key: [from OmniRoute dashboard] + Model: if/kimi-k2-thinking +``` + +
+ +--- + +## 📊 الموديلات المتوفرة + +
+عرض جميع الموديلات المتاحة + +**كود كلود (`cc/`)** - Pro/Max: + +- `cc/claude-opus-4-6` +- `cc/claude-sonnet-4-5-20250929` +- `cc/claude-haiku-4-5-20251001` + +**المخطوطة (`cx/`)** - Plus/Pro: + +- `cx/gpt-5.2-codex` +- `cx/gpt-5.1-codex-max` + +**Gemini CLI (`gc/`)** - مجانًا: + +- `gc/gemini-3-flash-preview` +- `gc/gemini-2.5-pro` + +**مساعد جيثب (`gh/`)**: + +- `gh/gpt-5` +- `gh/claude-4.5-sonnet` + +**NVIDIA NIM (`nvidia/`)** - أرصدة مجانية: + +- `nvidia/llama-3.3-70b-instruct` +- `nvidia/mistral-7b-instruct` +- أكثر من 50 طرازًا آخر على [build.nvidia.com](https://build.nvidia.com) + +**GLM (`glm/`)** - 0.6 دولار/مليون: + +- `glm/glm-4.7` + +**MiniMax (`minimax/`)** - 0.2 دولار/1 مليون: + +- `minimax/MiniMax-M2.1` + +**iFlow (`if/`)** - مجانًا: + +- `if/kimi-k2-thinking` +- `if/qwen3-coder-plus` +- `if/deepseek-r1` +- `if/glm-4.7` +- `if/minimax-m2` + +**كوين (`qw/`)** - مجانًا: + +- `qw/qwen3-coder-plus` +- `qw/qwen3-coder-flash` + +**كيرو (`kr/`)** - مجانًا: + +- `kr/claude-sonnet-4.5` +- `kr/claude-haiku-4.5` + +**OpenRouter (`or/`)** - أكثر من 100 طراز: + +- `or/anthropic/claude-4-sonnet` +- `or/google/gemini-2.5-pro` +- أي موديل من [openrouter.ai/models](https://openrouter.ai/models) + +
+ +--- + +## 🧪 التقييمات (التقييمات) + +يشتمل OmniRoute على إطار تقييم مدمج لاختبار جودة استجابة LLM مقابل المجموعة الذهبية. يمكنك الوصول إليه عبر **Analytics → Evals** في لوحة التحكم. + +### الطقم الذهبي المدمج + +تحتوي "OmniRoute Golden Set" المحملة مسبقًا على 10 حالات اختبار تغطي: + +- تحياتي، الرياضيات، الجغرافيا، توليد التعليمات البرمجية +- الامتثال لتنسيق JSON والترجمة وتخفيض السعر +- رفض السلامة (المحتوى الضار)، العد، المنطق المنطقي + +### استراتيجيات التقييم + +| استراتيجية | الوصف | مثال | +| ---------- | ------------------------------------------------------------- | -------------------------------- | +| `exact` | يجب أن يتطابق الإخراج تمامًا مع | `"4"` | +| `contains` | يجب أن يحتوي الإخراج على سلسلة فرعية (غير حساسة لحالة الأحرف) | `"Paris"` | +| `regex` | يجب أن يتطابق الإخراج مع نمط regex | `"1.*2.*3"` | +| `custom` | ترجع دالة JS المخصصة صواب/خطأ | `(output) => output.length > 10` | + +--- + +## 🔐 OAuth em Servidor Remoto (إعداد OAuth عن بعد) + + + +> **⚠️ هام لمستخدمي OmniRoute على VPS/Docker/servidor عن بعد** + +### لماذا OAuth يفعل Antigravity / Gemini CLI في الخوادم البعيدة؟ + +تم إثبات **Antigravity** e **Gemini CLI** باستخدام **Google OAuth 2.0** للمصادقة. تطلب Google أن يتم استخدام `redirect_uri` دون تدفق OAuth ** على وجه التحديد ** إلى معرفات URI السابقة للمسح في تطبيق Google Cloud Console. + +نظرًا لأن اعتمادات OAuth المُدمجة ليست في OmniRoute، فهي عبارة عن سجلات **apenas لـ \__OMNI_TOKEN_123_**. عندما تصل إلى OmniRoute من خادم بعيد (على سبيل المثال: `https://omniroute.meuservidor.com`)، تحصل Google على مصادقة عبر: + +``` +Error 400: redirect_uri_mismatch +``` + +### الحل: تكوين OAuth الخاص بك + +يجب عليك إنشاء **OAuth 2.0 Client ID** على Google Cloud Console باستخدام URI لخادمك. + +#### باسو باسو + +**1. الوصول إلى Google Cloud Console** + +العبرة: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials) + +**2. طلب معرف عميل OAuth 2.0 ** + +- انقر على **"+ إنشاء بيانات الاعتماد"** → **"معرف عميل OAuth"** +- نوع التطبيق: **"تطبيق ويب"** +- الاسم: اسم escolha qualquer (على سبيل المثال: `OmniRoute Remote`) + +**3. Adicione كمحددات URI لإعادة التوجيه المعتمدة** + +ليس هناك مجال **"عناوين URI لإعادة التوجيه المعتمدة"**، أضف: + +``` +https://seu-servidor.com/callback +``` + +> استبدال `seu-servidor.com` بنطاقك أو IP الخاص بخادمك (بما في ذلك البوابة الضرورية، على سبيل المثال: `http://45.33.32.156:20128/callback`). + +**4. حفظ ونسخ كمعتمدة** + +وبعد ذلك، قم بإنشاء أو عرض Google o **معرف العميل** أو **سر العميل**. + +**5. تكوين كمتغيرات البيئة ** + +لا يوجد `.env` (أو متغيرات بيئة Docker): + +```bash +# Para Antigravity: +ANTIGRAVITY_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret + +# Para Gemini CLI: +GEMINI_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +``` + +**6. Reinicie أو OmniRoute** + +```bash +# Se usando npm: +npm run dev + +# Se usando Docker: +docker restart omniroute +``` + +**7. خيمة تواصل جديدة** + +لوحة المعلومات → الموفرون → Antigravity (ou Gemini CLI) → OAuth + +Agora o Google redirecionará corretamente para `https://seu-servidor.com/callback` e a autenticação funcionará. + +--- + +### الحل المؤقت (لم يتم تكوين الاعتمادات الخاصة) + +إذا لم ترغب في إنشاء بيانات اعتماد خاصة بك منذ الآن، فمن الممكن استخدام التدفق **دليل URL**: + +1. يفتح OmniRoute عنوان URL لتفويض Google +2. قم بتفويض Google لإعادة التوجيه إلى `localhost` (لا يوجد خادم عن بعد) +3. **انسخ عنوان URL كاملاً** من شريط الإدخال في متصفحك (حتى لا يتم نقل الصفحة) +4. هذا هو عنوان URL الذي يظهر في وضع الاتصال بـ OmniRoute +5. انقر على **"الاتصال"** + +> يعمل هذا الحل البديل لأن رمز التفويض الموجود على عنوان URL يكون صالحًا بشكل مستقل لإعادة التوجيه حيث يتم تحميله أو لا. + +--- + +## 🐛 استكشاف الأخطاء وإصلاحها + +
+انقر لتوسيع دليل استكشاف الأخطاء وإصلاحها + +**"نموذج اللغة لم يقدم رسائل"** + +- استنفدت حصة الموفر → تحقق من تعقب حصة الموفر في لوحة المعلومات +- الحل: استخدم خيار التحرير والسرد الاحتياطي أو قم بالتبديل إلى مستوى أرخص + +** الحد من المعدل ** + +- حصة الاشتراك المحددة → الرجوع إلى GLM/MiniMax +- إضافة التحرير والسرد: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking` + +** انتهت صلاحية رمز OAuth ** + +- يتم التحديث تلقائيًا بواسطة OmniRoute +- إذا استمرت المشكلات: لوحة المعلومات → الموفر → إعادة الاتصال + +**تكاليف مرتفعة** + +- التحقق من إحصائيات الاستخدام في لوحة المعلومات → التكاليف +- تبديل النموذج الأساسي إلى GLM/MiniMax +- استخدم الطبقة المجانية (Gemini CLI، iFlow) للمهام غير الحرجة + +** لوحة المعلومات تفتح على منفذ خاطئ ** + +- اضبط `PORT=20128` و`NEXT_PUBLIC_BASE_URL=http://localhost:20128` + +**أخطاء المزامنة السحابية** + +- تحقق من نقاط `BASE_URL` لمثيلك قيد التشغيل +- تحقق من نقاط `CLOUD_URL` إلى نقطة نهاية السحابة المتوقعة +- احتفظ بقيم `NEXT_PUBLIC_*` متوافقة مع القيم من جانب الخادم + +**تسجيل الدخول الأول لا يعمل** + +- تحقق من `INITIAL_PASSWORD` في `.env` +- في حالة عدم تعيينها، تكون كلمة المرور الاحتياطية هي `123456` + +** لا توجد سجلات الطلب ** + +- اضبط `ENABLE_REQUEST_LOGS=true` في `.env` + +**يظهر اختبار الاتصال "غير صالح" لمقدمي الخدمات المتوافقين مع OpenAI** + +- لا يكشف العديد من مقدمي الخدمة عن نقطة النهاية `/models` +- يتضمن OmniRoute v1.0.6+ التحقق الاحتياطي من خلال إكمال الدردشة +- تأكد من أن عنوان URL الأساسي يتضمن اللاحقة `/v1` + +
+ +--- + +## 🛠️ تيك ستاك + +- **وقت التشغيل**: Node.js 18–22 LTS (⚠️ Node.js 24+ **غير مدعومة** — `better-sqlite3` الثنائيات الأصلية غير متوافقة) +- **اللغة**: TypeScript 5.9 — **TypeScript بنسبة 100%** عبر `src/` و`open-sse/` (الإصدار 1.0.6) +- **الإطار**: Next.js 16 + React 19 + Tailwind CSS 4 +- **قاعدة البيانات**: LowDB (JSON) + SQLite (حالة المجال + سجلات الوكيل) +- **البث**: الأحداث المرسلة من الخادم (SSE) +- **المصادقة**: OAuth 2.0 (PKCE) + JWT + مفاتيح API +- **الاختبار**: مشغل اختبار Node.js (أكثر من 368 اختبارًا للوحدة) +- **CI/CD**: إجراءات GitHub (نشر npm التلقائي + Docker Hub عند الإصدار) +- **الموقع الإلكتروني**: [omniroute.online](https://omniroute.online) +- **الحزمة**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute) +- **عامل الميناء**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute) +- **المرونة**: قاطع الدائرة الكهربائية، والتراجع الأسي، وقطيع مضاد للرعد، وانتحال TLS + +--- + +## 📖 التوثيق + +| وثيقة | الوصف | +| -------------------------------------------- | --------------------------------------------- | +| [User Guide](docs/USER_GUIDE.md) | مقدمو الخدمات، والمجموعات، وتكامل CLI، والنشر | +| [API Reference](docs/API_REFERENCE.md) | جميع نقاط النهاية مع الأمثلة | +| [Troubleshooting](docs/TROUBLESHOOTING.md) | المشاكل والحلول الشائعة | +| [Architecture](docs/ARCHITECTURE.md) | بنية النظام والداخلية | +| [Contributing](CONTRIBUTING.md) | إعداد التطوير والمبادئ التوجيهية | +| [OpenAPI Spec](docs/openapi.yaml) | مواصفات OpenAPI 3.0 | +| [Security Policy](SECURITY.md) | الإبلاغ عن الثغرات الأمنية والممارسات الأمنية | +| [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | الدليل الكامل: إعداد VM + nginx + Cloudflare | +| [Features Gallery](docs/FEATURES.md) | جولة لوحة القيادة المرئية مع لقطات الشاشة | + +### 📸 معاينة لوحة التحكم + +
+انقر لرؤية لقطات شاشة لوحة المعلومات + +| صفحة | لقطة شاشة | +| --------------------- | ------------------------------------------------- | +| ** مقدمو الخدمة ** | ![Providers](docs/screenshots/01-providers.png) | +| **المجموعات** | ![Combos](docs/screenshots/02-combos.png) | +| **تحليلات** | ![Analytics](docs/screenshots/03-analytics.png) | +| **الصحة** | ![Health](docs/screenshots/04-health.png) | +| **مترجم** | ![Translator](docs/screenshots/05-translator.png) | +| **الإعدادات** | ![Settings](docs/screenshots/06-settings.png) | +| **أدوات سطر الأوامر** | ![CLI Tools](docs/screenshots/07-cli-tools.png) | +| **سجلات الاستخدام** | ![Usage](docs/screenshots/08-usage.png) | +| **نقطة النهاية** | ![Endpoint](docs/screenshots/09-endpoint.png) | + +
+ +--- + +## 🗺️خريطة الطريق + +يحتوي OmniRoute على **210+ ميزات مخطط لها** عبر مراحل تطوير متعددة. فيما يلي المجالات الرئيسية: + +| الفئة | الميزات المخططة | أبرز الأحداث | +| --------------------------- | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| 🧠 **التوجيه والاستخبارات** | 25+ | التوجيه ذو زمن الاستجابة الأقل، والتوجيه القائم على العلامات، والاختبار المبدئي للحصة، واختيار حساب P2C | +| 🔒 **الأمان والامتثال** | 20+ | تقوية SSRF، وإخفاء بيانات الاعتماد، والحد الأقصى للمعدل لكل نقطة نهاية، وتحديد نطاق مفتاح الإدارة | +| 📊 **قابلية الملاحظة** | 15+ | تكامل OpenTelemetry ومراقبة الحصص في الوقت الفعلي وتتبع التكلفة لكل نموذج | +| 🔄 **تكامل الموفر** | 20+ | تسجيل النموذج الديناميكي، فترات تهدئة الموفر، الدستور الغذائي متعدد الحسابات، تحليل حصة الطيار المساعد | +| ⚡ **الأداء** | 15+ | طبقة ذاكرة التخزين المؤقت المزدوجة، ذاكرة التخزين المؤقت السريعة، ذاكرة التخزين المؤقت للاستجابة، استمرار البث، واجهة برمجة التطبيقات الدفعية | +| 🌐 **النظام البيئي** | 10+ | WebSocket API، إعادة تحميل التكوين السريع، مخزن التكوين الموزع، الوضع التجاري | + +### 🔜قريبا + +- 🔗 **تكامل OpenCode** — دعم الموفر الأصلي لـ OpenCode AI IDE للترميز +- 🔗 **تكامل TRAE** — الدعم الكامل لإطار تطوير TRAE AI +- 📦 **Batch API** — معالجة الدفعات غير المتزامنة للطلبات المجمعة +- 🎯 **التوجيه المعتمد على العلامات** — توجيه الطلبات بناءً على العلامات المخصصة والبيانات الوصفية +- 💰 **إستراتيجية أقل تكلفة** — تحديد أرخص مزود متاح تلقائيًا + +> 📝 مواصفات الميزات الكاملة متوفرة في [**OMNI_TOKEN_147**](docs/new-features/) (217 مواصفات تفصيلية) + +--- + +## 📧 الدعم + +> 💬 **انضم إلى مجتمعنا!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — احصل على المساعدة وشارك النصائح وابق على اطلاع. + +- **الموقع الإلكتروني**: [omniroute.online](https://omniroute.online) +- **جيثب**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) +- **المشاكل**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) +- **واتساب**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) +- **المشروع الأصلي**: [9router by decolua](https://github.com/decolua/9router) + +--- + +## 👥 المساهمون + +[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) + +### كيفية المساهمة + +1. شوكة المستودع +2. قم بإنشاء فرع الميزات الخاص بك (`git checkout -b feature/amazing-feature`) +3. تنفيذ التغييرات (`git commit -m 'Add amazing feature'`) +4. ادفع إلى الفرع (`git push origin feature/amazing-feature`) +5. افتح طلب السحب + +راجع [CONTRIBUTING.md](CONTRIBUTING.md) للحصول على إرشادات مفصلة. + +### إطلاق نسخة جديدة + +```bash +# Create a release — npm publish happens automatically +gh release create v1.0.6 --title "v1.0.6" --generate-notes +``` + +--- + +## 📊 تاريخ النجوم + + + + + + Star History Chart + + + +--- + +## 🙏 شكر وتقدير + +شكر خاص لـ **[9router](https://github.com/decolua/9router)** بواسطة **[decolua](https://github.com/decolua)** — المشروع الأصلي الذي ألهم هذه الشوكة. يعتمد OmniRoute على هذا الأساس المذهل مع ميزات إضافية وواجهات برمجة التطبيقات متعددة الوسائط وإعادة كتابة TypeScript كاملة. + +شكر خاص لـ **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — تطبيق Go الأصلي الذي ألهم منفذ JavaScript هذا. + +--- + +## 📄 الترخيص + +ترخيص MIT - راجع [LICENSE](LICENSE) للحصول على التفاصيل. + +--- + +--- diff --git a/README.bg.md b/README.bg.md new file mode 100644 index 0000000000..e65bd1ca67 --- /dev/null +++ b/README.bg.md @@ -0,0 +1,1238 @@ +
+ OmniRoute Dashboard + + # 🚀 OmniRoute — Безплатният AI Gateway + +🌐 **[English](#-omniroute--the-free-ai-gateway)** | **[Português (BR)](#-omniroute--gateway-de-ia-gratuito)** + +### Никога не спирайте да кодирате. Интелигентно маршрутизиране към **БЕЗПЛАТНИ и евтини AI модели** с автоматичен резервен вариант. + +_Вашият универсален API прокси — една крайна точка, 36+ доставчици, нулев престой._ + +**Завършвания на чат • Вграждания • Генериране на изображения • Аудио • Прекласиране • 100% TypeScript** + +--- + +### 🤖 Безплатен доставчик на AI за вашите любими кодиращи агенти + +_Свържете всеки базиран на AI IDE или CLI инструмент чрез OmniRoute — безплатен API шлюз за неограничено кодиране._ + + + + + + + + + + + + + + + + +
+ + OpenClaw
+ OpenClaw +

+ ⭐ 205K +
+ + NanoBot
+ NanoBot +

+ ⭐ 20.9K +
+ + PicoClaw
+ PicoClaw +

+ ⭐ 14.6K +
+ + ZeroClaw
+ ZeroClaw +

+ ⭐ 9.9K +
+ + IronClaw
+ IronClaw +

+ ⭐ 2.1K +
+ + OpenCode
+ OpenCode +

+ ⭐ 106K +
+ + Codex CLI
+ Codex CLI +

+ ⭐ 60.8K +
+ + Claude Code
+ Claude Code +

+ ⭐ 67.3K +
+ + Gemini CLI
+ Gemini CLI +

+ ⭐ 94.7K +
+ + Kilo Code
+ Kilo Code +

+ ⭐ 15.5K +
+ +📡 Всички агенти се свързват чрез http://localhost:20128/v1 или http://cloud.omniroute.online/v1 — една конфигурация, неограничени модели и квота + +--- + +[![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) +[![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) +[![License](https://img.shields.io/github/license/diegosouzapw/OmniRoute)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE) +[![Website](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) +[![WhatsApp](https://img.shields.io/badge/WhatsApp-Community-25D366?logo=whatsapp&logoColor=white)](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) + +
+ +--- + +## 🤔 Защо OmniRoute? + +**Спрете да пилеете пари и да достигате лимити:** + +- Абонаментната квота изтича неизползвана всеки месец +- Ограниченията на скоростта ви спират да кодирате по средата +- Скъпи API ($20-50/месец на доставчик) +- Ръчно превключване между доставчици + +**OmniRoute решава това:** + +- ✅ **Увеличете максимално абонаментите** - Проследете квотата, използвайте всеки бит преди нулиране +- ✅ **Автоматичен резервен режим** - Абонамент → API ключ → Евтини → Безплатно, нулев престой +- ✅ **Множество акаунти** - Кръгови сметки между акаунти на доставчик +- ✅ **Универсален** - Работи с Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, всеки CLI инструмент + +--- + +## 🔄 Как работи + +``` +┌─────────────┐ +│ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) +│ Tool │ +└──────┬──────┘ + │ http://localhost:20128/v1 + ↓ +┌─────────────────────────────────────────┐ +│ OmniRoute (Smart Router) │ +│ • Format translation (OpenAI ↔ Claude) │ +│ • Quota tracking + Embeddings + Images │ +│ • Auto token refresh │ +└──────┬──────────────────────────────────┘ + │ + ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI + │ ↓ quota exhausted + ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc. + │ ↓ budget limit + ├─→ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M) + │ ↓ budget limit + └─→ [Tier 4: FREE] iFlow, Qwen, Kiro (unlimited) + +Result: Never stop coding, minimal cost +``` + +--- + +## ⚡ Бърз старт + +**1. Инсталирайте глобално:** + +```bash +npm install -g omniroute +omniroute +``` + +🎉 Таблото за управление се отваря на `http://localhost:20128` + +| Команда | Описание | +| ----------------------- | ----------------------------------------------- | +| `omniroute` | Стартирайте сървър (порт по подразбиране 20128) | +| `omniroute --port 3000` | Използвайте персонализиран порт | +| `omniroute --no-open` | Без автоматично отваряне на браузъра | +| `omniroute --help` | Показване на помощ | + +**2. Свържете БЕЗПЛАТЕН доставчик:** + +Табло → Доставчици → Свържете **Claude Code** или **Antigravity** → OAuth влизане → Готово! + +**3. Използвайте във вашия CLI инструмент:** + +``` +Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings: + Endpoint: http://localhost:20128/v1 + API Key: [copy from dashboard] + Model: if/kimi-k2-thinking +``` + +**Това е!** Започнете да кодирате с БЕЗПЛАТНИ AI модели. + +**Алтернатива — стартиране от източника:** + +```bash +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +--- + +## 🐳 Докер + +OmniRoute е наличен като публично изображение на Docker на [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute). + +**Бързо бягане:** + +```bash +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**С файл на средата:** + +```bash +# Copy and edit .env first +cp .env.example .env + +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + --env-file .env \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**Използване на Docker Compose:** + +```bash +# Base profile (no CLI tools) +docker compose --profile base up -d + +# CLI profile (Claude Code, Codex, OpenClaw built-in) +docker compose --profile cli up -d +``` + +| Изображение | Етикет | Размер | Описание | +| ------------------------ | -------- | ------ | -------------------------- | +| `diegosouzapw/omniroute` | `latest` | ~250MB | Най-новата стабилна версия | +| `diegosouzapw/omniroute` | `1.0.3` | ~250MB | Текуща версия | + +--- + +## 💰 Ценообразуването с един поглед + +| Ниво | Доставчик | Цена | Нулиране на квота | Най-добро за | +| ------------------ | ----------------- | ---------------------------- | ----------------------- | ------------------------- | +| **💳 АБОНАМЕНТ** | Claude Code (Pro) | $20/месец | 5 часа + седмично | Вече сте абонирани | +| | Codex (Plus/Pro) | $20-200/месец | 5 часа + седмично | Потребители на OpenAI | +| | Gemini CLI | **БЕЗПЛАТНО** | 180K/месец + 1K/ден | всички! | +| | Копилот на GitHub | $10-19/месец | Месечно | Потребители на GitHub | +| **🔑 КЛЮЧ ЗА API** | NVIDIA NIM | **БЕЗПЛАТНО** (1000 кредита) | Еднократно | Безплатно ниво тестване | +| | DeepSeek | Плащане при използване | Няма | Най-добра цена/качество | +| | Groq | Безплатно ниво + платено | Ограничена скорост | Свръхбърз извод | +| | xAI (Grok) | Плащане при използване | Няма | Grok модели | +| | Мистрал | Безплатно ниво + платено | Ограничена скорост | Европейски AI | +| | OpenRouter | Плащане при използване | Няма | 100+ модела | +| **💰 ЕВТИНО** | GLM-4.7 | $0,6/1 милион | Ежедневно 10 сутринта | Резервно копие на бюджета | +| | MiniMax M2.1 | $0,2/1 милион | 5-часово търкаляне | Най-евтиният вариант | +| | Кими К2 | $9/месец апартамент | 10 милиона токена/месец | Предвидими разходи | +| **🆓 БЕЗПЛАТНО** | iFlow | $0 | Неограничен | 8 модела безплатно | +| | Куен | $0 | Неограничен | 3 модела безплатно | +| | Киро | $0 | Неограничен | Клод безплатно | + +**💡 Професионален съвет:** Започнете с Gemini CLI (180K безплатно/месец) + iFlow (неограничено безплатно) комбинация = $0 цена! + +--- + +## 🎯 Случаи на употреба + +### Случай 1: „Имам абонамент за Claude Pro“ + +**Проблем:** Квотата изтича неизползвана, ограничения на скоростта по време на тежко кодиране + +``` +Combo: "maximize-claude" + 1. cc/claude-opus-4-6 (use subscription fully) + 2. glm/glm-4.7 (cheap backup when quota out) + 3. if/kimi-k2-thinking (free emergency fallback) + +Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total +vs. $20 + hitting limits = frustration +``` + +### Случай 2: „Искам нулеви разходи“ + +**Проблем:** Не мога да си позволя абонаменти, имам нужда от надеждно AI кодиране + +``` +Combo: "free-forever" + 1. gc/gemini-3-flash (180K free/month) + 2. if/kimi-k2-thinking (unlimited free) + 3. qw/qwen3-coder-plus (unlimited free) + +Monthly cost: $0 +Quality: Production-ready models +``` + +### Случай 3: „Имам нужда от кодиране 24/7, без прекъсвания“ + +**Проблем:** Крайни срокове, не мога да си позволя престой + +``` +Combo: "always-on" + 1. cc/claude-opus-4-6 (best quality) + 2. cx/gpt-5.2-codex (second subscription) + 3. glm/glm-4.7 (cheap, resets daily) + 4. minimax/MiniMax-M2.1 (cheapest, 5h reset) + 5. if/kimi-k2-thinking (free unlimited) + +Result: 5 layers of fallback = zero downtime +``` + +### Случай 4: „Искам БЕЗПЛАТЕН AI в OpenClaw“ + +**Проблем:** Имате нужда от AI асистент в приложенията за съобщения, напълно безплатно + +``` +Combo: "openclaw-free" + 1. if/glm-4.7 (unlimited free) + 2. if/minimax-m2.1 (unlimited free) + 3. if/kimi-k2-thinking (unlimited free) + +Monthly cost: $0 +Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal... +``` + +--- + +## 💡 Основни характеристики + +### 🧠 Основно маршрутизиране и разузнаване + +| Характеристика | Какво прави | +| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | +| 🎯 **Интелигентен 4-степенен резервен вариант** | Автоматичен маршрут: Абонамент → API ключ → Евтини → Безплатно | +| 📊 **Проследяване на квоти в реално време** | Брой токени на живо + нулиране на обратното броене на доставчик | +| 🔄 **Форматиране на превода** | OpenAI ↔ Клод ↔ Близнаци ↔ Курсор ↔ Киро безпроблемно + дезинфекция на отговора | +| 👥 **Поддръжка за множество акаунти** | Няколко акаунта на доставчик с интелигентен избор | +| 🔄 **Автоматично опресняване на токени** | OAuth токените се опресняват автоматично с повторен опит | +| 🎨 **Персонализирани комбинации** | 6 стратегии: първо попълване, кръгова система, p2c, произволна, най-малко използвана, оптимизирана по отношение на разходите | +| 🧩 **Персонализирани модели** | Добавете всеки модел ID към който и да е доставчик | +| 🌐 **Wildcard Router** | Насочвайте `provider/*` шаблони към всеки доставчик динамично | +| 🧠 **Мислен бюджет** | Преминаване, автоматичен, персонализиран и адаптивен режим за модели на разсъждение | +| 💬 **Системно бързо инжектиране** | Глобална системна подкана, приложена към всички заявки | +| 📄 **API за отговори** | Пълна поддръжка на OpenAI Responses API (`/v1/responses`) за Codex | + +### 🎵 Мултимодални API + +| Характеристика | Какво прави | +| -------------------------------- | ----------------------------------------------------------- | +| 🖼️ **Генериране на изображения** | `/v1/images/generations` — 4 доставчика, 9+ модела | +| 📐 **Вграждания** | `/v1/embeddings` — 6 доставчика, 9+ модела | +| 🎤 **Аудио транскрипция** | `/v1/audio/transcriptions` — Съвместим с Whisper | +| 🔊 **Текст към говор** | `/v1/audio/speech` — Синтез на аудио с множество доставчици | +| 🛡️ **Модерации** | `/v1/moderations` — Проверки за безопасност на съдържанието | +| 🔀 **Прекласиране** | `/v1/rerank` — Прекласиране на уместността на документа | + +### 🛡️ Устойчивост и сигурност + +| Характеристика | Какво прави | +| -------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| 🔌 **Прекъсвач** | Автоматично отваряне/затваряне за всеки доставчик с конфигурируеми прагове | +| 🛡️ **Anti-Thundering Herd** | Mutex + ограничение на скоростта на семафор за доставчици на API ключ | +| 🧠 **Семантичен кеш** | Двуслоен кеш (подпис + семантичен) намалява разходите и забавянето | +| ⚡ **Искане на идемпотентност** | 5s прозорец за дедупиране за дублирани заявки | +| 🔒 **TLS Fingerprint Spoofing** | Заобикаляне на TLS-базирано откриване на бот чрез wreq-js | +| 🌐 **IP филтриране** | Списък с разрешени/блокирани за контрол на достъпа до API | +| 📊 **Редактируеми ограничения на скоростта** | Конфигурируеми обороти в минута, минимална разлика и максимална едновременност на системно ниво | +| 🛡 **API Endpoint Protection** | Удостоверяване + блокиране на доставчик за крайната точка `/models` | +| 🔒 **Прокси видимост** | Цветно кодирани значки: 🟢 глобален, 🟡 доставчик, 🔵 за връзка с IP дисплей | +| 🌐 **3-ниво на прокси конфигурация** | Конфигуриране на прокси сървъри на глобално ниво, на ниво доставчик или на ниво връзка | + +### 📊 Наблюдаемост и анализ + +| Характеристика | Какво прави | +| ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| 📝 **Заявка за регистриране** | Режим на отстраняване на грешки с пълни журнали за заявки/отговори | +| 💾 **SQLite прокси регистрационни файлове** | Постоянните регистрационни файлове на прокси сървъра преживяват рестартиране на сървър | +| 📊 **Табло за управление на анализи** | Задвижва се от Recharts: статистически карти, диаграма за използване на модели, таблица на доставчик | +| 📈 **Проследяване на напредъка** | Включване на събития за прогрес на SSE за стрийминг | +| 🧪 **Оценки на LLM** | Тестване на златен сет с 4 стратегии за мач | +| 🔍 **Заявка за телеметрия** | p50/p95/p99 агрегиране на латентност + проследяване на X-Request-Id | +| 📋 **Табло за управление на регистрационни файлове** | Унифицирана страница с 4 раздела: регистрационни файлове на заявки, регистрационни файлове на прокси, регистрационни файлове за одит, конзола | +| 🖥️ **Console Log Viewer** | Визуализатор в стил терминал в реално време с филтър за ниво, търсене, автоматично превъртане | +| 📑 **Регистриране на базата на файлове** | Прихващачът на конзолата улавя целия изход в JSON лог файл с ротация | +| 🏥 **Здравно табло** | Работно време на системата, състояния на прекъсвачи, блокировки, статистика на кеша | +| 💰 **Проследяване на разходите** | Управление на бюджета + конфигурация на ценообразуване за модел | + +### ☁️ Внедряване и синхронизиране + +| Характеристика | Какво прави | +| ----------------------------------------- | ---------------------------------------------------------------------------------------- | +| 💾 **Синхронизиране в облак** | Синхронизирайте конфигурацията между устройства чрез Cloudflare Workers | +| 🌐 **Разполагане навсякъде** | Localhost, VPS, Docker, Cloudflare Workers | +| 🔑 **API Key Management** | Генериране, завъртане и обхват на API ключове за всеки доставчик | +| 🧙 **Съветник за присъединяване** | Насочвана настройка в 4 стъпки за потребители за първи път | +| 🔧 **CLI Tools Dashboard** | Конфигурирайте с едно кликване Claude, Codex, Cline, OpenClaw, Kilo, Antigravity | +| 🔄 **Архивиране на DB** | Автоматично архивиране, възстановяване, експортиране и импортиране за всички настройки | +| 🌐 **Интернационализация** | Пълен i18n с next-intl — поддръжка на английски + португалски (Бразилия) | +| 🌍 **Избор на език** | Икона на глобус в заглавката за превключване на език в реално време (🇺🇸/🇧🇷) | +| 📂 **Директория с персонализирани данни** | `DATA_DIR` env променлива за замяна на пътя за съхранение по подразбиране `~/.omniroute` | + +
+📖 Подробности за функцията + +### 🎯 Интелигентен 4-степенен резервен вариант + +Създавайте комбинации с автоматичен резервен вариант: + +``` +Combo: "my-coding-stack" + 1. cc/claude-opus-4-6 (your subscription) + 2. nvidia/llama-3.3-70b (free NVIDIA API) + 3. glm/glm-4.7 (cheap backup, $0.6/1M) + 4. if/kimi-k2-thinking (free fallback) + +→ Auto switches when quota runs out or errors occur +``` + +### 📊 Проследяване на квоти в реално време + +- Консумация на токени на доставчик +- Нулиране на обратното броене (5 часа, ежедневно, седмично) +- Оценка на разходите за платени нива +- Месечни отчети за разходите + +### 🔄 Превод на формат + +Безпроблемен превод между формати: + +- **OpenAI** ↔ **Клод** ↔ **Близнаци** ↔ **Отговори на OpenAI** +- Вашият CLI инструмент изпраща OpenAI формат → OmniRoute превежда → Доставчикът получава собствен формат +- Работи с всеки инструмент, който поддържа персонализирани крайни точки на OpenAI +- **Дезифициране на отговора** — Премахва нестандартните полета за стриктна съвместимост с OpenAI SDK +- **Нормализиране на ролята** — `developer` → `system` за не-OpenAI; `system` → `user` за GLM/ERNIE модели +- **Извличане на мислене на тагове** — `` блокове → `reasoning_content` за мислещи модели +- **Структуриран изход** — `json_schema` → `responseMimeType`/`responseSchema` на Gemini + +### 👥 Поддръжка за няколко акаунта + +- Добавете няколко акаунта на доставчик +- Автоматично кръгово или базирано на приоритет маршрутизиране +- Връщане към следващия акаунт, когато някой достигне квотата + +### 🔄 Автоматично опресняване на токени + +- OAuth токените се опресняват автоматично преди изтичане +- Не е необходимо ръчно повторно удостоверяване +- Безпроблемно изживяване при всички доставчици + +### 🎨 Персонализирани комбинации + +- Създавайте неограничени комбинации от модели +- 6 стратегии: първо попълване, кръгъл-робин, сила на два избора, произволна, най-малко използвана, оптимизирана по отношение на разходите +- Споделяйте комбинации между устройства с Cloud Sync + +### 🏥 Здравно табло + +- Състояние на системата (време на работа, версия, използване на паметта) +- Състояния на прекъсвача за всеки доставчик (затворен/отворен/полуотворен) +- Състояние на ограничение на скоростта и активни блокировки +- Статистика за кеша на подписите +- Телеметрия за забавяне (p50/p95/p99) + кеш за подкани +- Нулирайте здравословното състояние с едно щракване + +### 🔧 Площадка за преводачи + +OmniRoute включва мощна вградена игра за преводачи с **4 режима** за отстраняване на грешки, тестване и наблюдение на API преводи: + +| Режим | Описание | +| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **💻 Детска площадка** | Директен превод на формат — поставете всяко тяло на заявка за API и незабавно вижте как OmniRoute го превежда между формати на доставчик (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). Включва примерни шаблони и автоматично откриване на формати. | +| **💬 Тестер за чат** | Изпращайте реални заявки за чат чрез OmniRoute и вижте пълното пътуване: вашият вход, преведената заявка, отговорът на доставчика и преведеният отговор обратно. Безценен за валидиране на комбинирано маршрутизиране. | +| **🧪 Тестова стенда** | Режим на пакетно тестване — дефинирайте множество тестови случаи с различни входове и очаквани изходи, стартирайте ги всички наведнъж и сравнете резултатите между доставчици и модели. | +| **📱 Монитор на живо** | Мониторинг на заявки в реално време — наблюдавайте входящите заявки, докато преминават през OmniRoute, вижте преводите на формати, които се случват на живо, и незабавно идентифицирайте проблемите. | + +**Достъп:** Табло за управление → Преводач (странична лента) + +### 💾 Облачно синхронизиране + +- Синхронизиране на доставчици, комбинации и настройки на всички устройства +- Автоматична фонова синхронизация +- Сигурно криптирано съхранение + +
+ +--- + +## 📖 Ръководство за настройка + +
+💳 Доставчици на абонамент + +### Claude Code (Pro/Max) + +```bash +Dashboard → Providers → Connect Claude Code +→ OAuth login → Auto token refresh +→ 5-hour + weekly quota tracking + +Models: + cc/claude-opus-4-6 + cc/claude-sonnet-4-5-20250929 + cc/claude-haiku-4-5-20251001 +``` + +**Професионален съвет:** Използвайте Opus за сложни задачи, Sonnet за скорост. OmniRoute проследява квота за модел! + +### OpenAI Codex (Plus/Pro) + +```bash +Dashboard → Providers → Connect Codex +→ OAuth login (port 1455) +→ 5-hour + weekly reset + +Models: + cx/gpt-5.2-codex + cx/gpt-5.1-codex-max +``` + +### Gemini CLI (БЕЗПЛАТНО 180K/месец!) + +```bash +Dashboard → Providers → Connect Gemini CLI +→ Google OAuth +→ 180K completions/month + 1K/day + +Models: + gc/gemini-3-flash-preview + gc/gemini-2.5-pro +``` + +**Най-добра стойност:** Огромно безплатно ниво! Използвайте това преди платените нива. + +### Копилот на GitHub + +```bash +Dashboard → Providers → Connect GitHub +→ OAuth via GitHub +→ Monthly reset (1st of month) + +Models: + gh/gpt-5 + gh/claude-4.5-sonnet + gh/gemini-3-pro +``` + +
+ +
+🔑 API Key Providers + +### NVIDIA NIM (БЕЗПЛАТНИ 1000 кредита!) + +1. Регистрирайте се: [build.nvidia.com](https://build.nvidia.com) +2. Вземете безплатен API ключ (включени 1000 кредита за изводи) +3. Табло → Добавяне на доставчик → NVIDIA NIM: + - API ключ: `nvapi-your-key` + +**Модели:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct` и още 50+ + +**Професионален съвет:** OpenAI-съвместим API — работи безпроблемно с превода на формати на OmniRoute! + +### DeepSeek + +1. Регистрирайте се: [platform.deepseek.com](https://platform.deepseek.com) +2. Вземете API ключ +3. Табло → Добавяне на доставчик → DeepSeek + +**Модели:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder` + +### Groq (налично безплатно ниво!) + +1. Регистрирайте се: [console.groq.com](https://console.groq.com) +2. Вземете API ключ (включено безплатно ниво) +3. Табло → Добавяне на доставчик → Groq + +**Модели:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b` + +**Професионален съвет:** Изключително бърз извод — най-добър за кодиране в реално време! + +### OpenRouter (100+ модела) + +1. Регистрирайте се: [openrouter.ai](https://openrouter.ai) +2. Вземете API ключ +3. Табло → Добавяне на доставчик → OpenRouter + +**Модели:** Достъп до 100+ модела от всички основни доставчици чрез един API ключ. + +
+ +
+💰 Евтини доставчици (резервни) + +### GLM-4.7 (Ежедневно нулиране, $0,6/1 млн.) + +1. Регистрирайте се: [Zhipu AI](https://open.bigmodel.cn/) +2. Вземете API ключ от Coding Plan +3. Табло → Добавяне на API ключ: + - Доставчик: `glm` + - API ключ: `your-key` + +**Използване:** `glm/glm-4.7` + +**Професионален съвет:** Планът за кодиране предлага 3× квота на цена 1/7! Нулирайте всеки ден в 10:00 ч. + +### MiniMax M2.1 (5 часа нулиране, $0,20/1 млн.) + +1. Регистрирайте се: [MiniMax](https://www.minimax.io/) +2. Вземете API ключ +3. Табло → Добавяне на API ключ + +**Използване:** `minimax/MiniMax-M2.1` + +**Професионален съвет:** Най-евтината опция за дълъг контекст (1M токени)! + +### Kimi K2 ($9/месец фиксиран) + +1. Абонирайте се: [Moonshot AI](https://platform.moonshot.ai/) +2. Вземете API ключ +3. Табло → Добавяне на API ключ + +**Използване:** `kimi/kimi-latest` + +**Професионален съвет:** Фиксирани $9/месец за 10 милиона токена = $0,90/1 милион ефективна цена! + +
+ +
+🆓 БЕЗПЛАТНИ доставчици (Спешно архивиране) + +### iFlow (8 БЕЗПЛАТНИ модела) + +```bash +Dashboard → Connect iFlow +→ iFlow OAuth login +→ Unlimited usage + +Models: + if/kimi-k2-thinking + if/qwen3-coder-plus + if/glm-4.7 + if/minimax-m2 + if/deepseek-r1 +``` + +### Qwen (3 БЕЗПЛАТНИ модела) + +```bash +Dashboard → Connect Qwen +→ Device code authorization +→ Unlimited usage + +Models: + qw/qwen3-coder-plus + qw/qwen3-coder-flash +``` + +### Киро (Клод БЕЗПЛАТНО) + +```bash +Dashboard → Connect Kiro +→ AWS Builder ID or Google/GitHub +→ Unlimited usage + +Models: + kr/claude-sonnet-4.5 + kr/claude-haiku-4.5 +``` + +
+ +
+🎨 Създаване на комбинации + +### Пример 1: Увеличаване на абонамента → Евтино архивиране + +``` +Dashboard → Combos → Create New + +Name: premium-coding +Models: + 1. cc/claude-opus-4-6 (Subscription primary) + 2. glm/glm-4.7 (Cheap backup, $0.6/1M) + 3. minimax/MiniMax-M2.1 (Cheapest fallback, $0.20/1M) + +Use in CLI: premium-coding +``` + +### Пример 2: Само безплатно (нулева цена) + +``` +Name: free-combo +Models: + 1. gc/gemini-3-flash-preview (180K free/month) + 2. if/kimi-k2-thinking (unlimited) + 3. qw/qwen3-coder-plus (unlimited) + +Cost: $0 forever! +``` + +
+ +
+🔧 CLI интеграция + +### Курсор IDE + +``` +Settings → Models → Advanced: + OpenAI API Base URL: http://localhost:20128/v1 + OpenAI API Key: [from OmniRoute dashboard] + Model: cc/claude-opus-4-6 +``` + +### Клод Код + +Използвайте страницата **CLI Tools** в таблото за управление за конфигурация с едно кликване или редактирайте `~/.claude/settings.json` ръчно. + +### Codex CLI + +```bash +export OPENAI_BASE_URL="http://localhost:20128" +export OPENAI_API_KEY="your-omniroute-api-key" + +codex "your prompt" +``` + +### OpenClaw + +**Вариант 1 — Табло (препоръчително):** + +``` +Dashboard → CLI Tools → OpenClaw → Select Model → Apply +``` + +**Опция 2 — Ръчно:** Редактиране `~/.openclaw/openclaw.json`: + +```json +{ + "models": { + "providers": { + "omniroute": { + "baseUrl": "http://127.0.0.1:20128/v1", + "apiKey": "sk_omniroute", + "api": "openai-completions" + } + } + } +} +``` + +> **Забележка:** OpenClaw работи само с локален OmniRoute. Използвайте `127.0.0.1` вместо `localhost`, за да избегнете проблеми с разрешаването на IPv6. + +### Cline / Продължи / RooCode + +``` +Settings → API Configuration: + Provider: OpenAI Compatible + Base URL: http://localhost:20128/v1 + API Key: [from OmniRoute dashboard] + Model: if/kimi-k2-thinking +``` + +
+ +--- + +## 📊 Налични модели + +
+Вижте всички налични модели + +**Claude Code (`cc/`)** - Pro/Max: + +- `cc/claude-opus-4-6` +- `cc/claude-sonnet-4-5-20250929` +- `cc/claude-haiku-4-5-20251001` + +**Codex (`cx/`)** - Plus/Pro: + +- `cx/gpt-5.2-codex` +- `cx/gpt-5.1-codex-max` + +**Gemini CLI (`gc/`)** - БЕЗПЛАТНО: + +- `gc/gemini-3-flash-preview` +- `gc/gemini-2.5-pro` + +**GitHub Copilot (`gh/`)**: + +- `gh/gpt-5` +- `gh/claude-4.5-sonnet` + +**NVIDIA NIM (`nvidia/`)** - БЕЗПЛАТНИ кредити: + +- `nvidia/llama-3.3-70b-instruct` +- `nvidia/mistral-7b-instruct` +- още 50+ модела на [build.nvidia.com](https://build.nvidia.com) + +**GLM (`glm/`)** - $0,6/1 млн.: + +- `glm/glm-4.7` + +**MiniMax (`minimax/`)** - $0,2/1 млн.: + +- `minimax/MiniMax-M2.1` + +**iFlow (`if/`)** - БЕЗПЛАТНО: + +- `if/kimi-k2-thinking` +- `if/qwen3-coder-plus` +- `if/deepseek-r1` +- `if/glm-4.7` +- `if/minimax-m2` + +**Qwen (`qw/`)** - БЕЗПЛАТНО: + +- `qw/qwen3-coder-plus` +- `qw/qwen3-coder-flash` + +**Киро (`kr/`)** - БЕЗПЛАТНО: + +- `kr/claude-sonnet-4.5` +- `kr/claude-haiku-4.5` + +**OpenRouter (`or/`)** - 100+ модела: + +- `or/anthropic/claude-4-sonnet` +- `or/google/gemini-2.5-pro` +- Всеки модел от [openrouter.ai/models](https://openrouter.ai/models) + +
+ +--- + +## 🧪 Оценки (Evals) + +OmniRoute включва вградена рамка за оценка за тестване на качеството на отговора на LLM спрямо златен набор. Достъп до него чрез **Analytics → Evals** в таблото за управление. + +### Вграден златен комплект + +Предварително зареденият "OmniRoute Golden Set" съдържа 10 тестови случая, покриващи: + +- Поздрави, математика, география, генериране на код +- Съответствие с JSON формат, превод, маркдаун +- Отказ за безопасност (вредно съдържание), броене, булева логика + +### Стратегии за оценка + +| Стратегия | Описание | Пример | +| ---------- | ----------------------------------------------------------------------- | -------------------------------- | +| `exact` | Изходът трябва да съвпада точно | `"4"` | +| `contains` | Изходът трябва да съдържа подниз (без значение за малки и големи букви) | `"Paris"` | +| `regex` | Изходът трябва да съответства на модела на регулярен израз | `"1.*2.*3"` | +| `custom` | Персонализираната JS функция връща true/false | `(output) => output.length > 10` | + +--- + +## 🔐 OAuth em Servidor Remoto (Отдалечена настройка на OAuth) + + + +> **⚠️ ВАЖНО за ползване на OmniRoute em VPS/Docker/servidor remoto** + +### Ако OAuth на Antigravity / Gemini CLI не работи с отдалечени сървъри? + +Доставчиците на **Antigravity** и **Gemini CLI** използват **Google OAuth 2.0** за удостоверяване. Google изисква, че `redirect_uri` не използва fluxo OAuth като **exatamente**, когато URI адресите преди кадастрада не са в приложение на Google Cloud Console. + +Като удостоверение за OAuth не е OmniRoute estão cadastradas **apenas para `localhost`**. Ако имате достъп до OmniRoute в дистанционния сървър (напр.: `https://omniroute.meuservidor.com`), или Google rejeita a autenticação com: + +``` +Error 400: redirect_uri_mismatch +``` + +### Решение: Конфигурирайте собствените си права за удостоверяване на OAuth + +Изпишете точно **OAuth 2.0 Client ID** без Google Cloud Console чрез URI на вашия сървър. + +#### Passo a passo + +**1. Достъп до Google Cloud Console** + +Abra: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials) + +**2. Crie um novo OAuth 2.0 Client ID** + +- Кликнете върху **"+ Създаване на идентификационни данни"** → **"OAuth клиентски идентификатор"** +- Tipo de aplicativo: **"Уеб приложение"** +- Име: escolha qualquer име (напр.: `OmniRoute Remote`) + +**3. Adicione като оторизирани URI адреси за пренасочване** + +Без поле **„Оторизирани URI адреси за пренасочване“**, добавете: + +``` +https://seu-servidor.com/callback +``` + +> Замяна на `seu-servidor.com` домейн или IP на вашия сървър (включително необходим порт, напр.: `http://45.33.32.156:20128/callback`). + +**4. Salve e copie as credenciais** + +Например, Google показва **Клиентски идентификатор** и **Клиентска тайна**. + +**5. Конфигуриране като variáveis de ambiente** + +Няма `.env` (или нашите варианти на средата на Docker): + +```bash +# Para Antigravity: +ANTIGRAVITY_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret + +# Para Gemini CLI: +GEMINI_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +``` + +**6. Reinicie o OmniRoute** + +```bash +# Se usando npm: +npm run dev + +# Se usando Docker: +docker restart omniroute +``` + +**7. Tente conectar novamente** + +Табло → Доставчици → Антигравитация (или Gemini CLI) → OAuth + +Agora или Google пренасочва корекции за `https://seu-servidor.com/callback` и функционира автентичност. + +--- + +### Временно заобиколно решение (sem configurar credenciais próprias) + +Se não quiser criar credenciais próprias agora, ainda é possível usar o fluxo **manual de URL**: + +1. O OmniRoute премахва URL адрес за авторизация от Google +2. Ако не разрешите, пренасочването на Google е пренасочено към `localhost` (което не е отдалечено от сървъра) +3. **Копирайте пълния URL адрес** от страницата, която искате да прехвърлите в своя браузър (mesmo que a página não carregue) +4. Cole essa URL no campo que aparece no modal de conexão do OmniRoute +5. Щракнете върху **"Свързване"** + +> Това заобиколно решение функционира, ако кодът на авторизацията на URL е валиден независимо от пренасочването към пренасочване или не. + +--- + +## 🐛 Отстраняване на неизправности + +
+Щракнете, за да разширите ръководството за отстраняване на неизправности + +**„Езиковият модел не предостави съобщения“** + +- Квотата на доставчика е изчерпана → Проверете инструмента за проследяване на квотата на таблото за управление +- Решение: Използвайте комбо резервен вариант или преминете към по-евтино ниво + +**Ограничаване на скоростта** + +- Изчерпване на квотата за абонамент → Резервно връщане към GLM/MiniMax +- Добавяне на комбинация: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking` + +**OAuth токенът е изтекъл** + +- Автоматично опресняване от OmniRoute +- Ако проблемите продължават: Табло → Доставчик → Повторно свързване + +**Високи разходи** + +- Проверете статистическите данни за използването в Табло → Разходи +- Превключете основния модел към GLM/MiniMax +- Използвайте безплатно ниво (Gemini CLI, iFlow) за некритични задачи + +**Таблото се отваря на грешен порт** + +- Задайте `PORT=20128` и `NEXT_PUBLIC_BASE_URL=http://localhost:20128` + +**Грешки при синхронизиране в облак** + +- Потвърдете, че `BASE_URL` сочи към вашия работещ екземпляр +- Проверете `CLOUD_URL` точки към вашата очаквана крайна точка в облака +- Поддържайте стойностите на `NEXT_PUBLIC_*` в съответствие със стойностите от страната на сървъра + +**Първото влизане не работи** + +- Проверете `INITIAL_PASSWORD` в `.env` +- Ако не е зададена, резервната парола е `123456` + +**Няма регистрационни файлове за заявки** + +- Задайте `ENABLE_REQUEST_LOGS=true` в `.env` + +**Тестът за връзка показва „Невалидно“ за OpenAI-съвместими доставчици** + +- Много доставчици не излагат `/models` крайна точка +- OmniRoute v1.0.6+ включва резервно валидиране чрез завършвания на чат +- Уверете се, че основният URL адрес включва суфикс `/v1` + +
+ +--- + +## 🛠️ Tech Stack + +- **Време на изпълнение**: Node.js 18–22 LTS (⚠️ Node.js 24+ **не се поддържа** — родните двоични файлове `better-sqlite3` са несъвместими) +- **Език**: TypeScript 5.9 — **100% TypeScript** в `src/` и `open-sse/` (v1.0.6) +- **Framework**: Next.js 16 + React 19 + Tailwind CSS 4 +- **База данни**: LowDB (JSON) + SQLite (състояние на домейна + регистрационни файлове на прокси) +- **Поточно предаване**: Изпратени от сървъра събития (SSE) +- **Auth**: OAuth 2.0 (PKCE) + JWT + API ключове +- **Тестване**: Node.js тестов инструмент (368+ единични теста) +- **CI/CD**: Действия на GitHub (автоматично публикуване на npm + Docker Hub при пускане) +- **Уебсайт**: [omniroute.online](https://omniroute.online) +- **Пакет**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute) +- **Docker**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute) +- **Устойчивост**: прекъсвач на веригата, експоненциално отдръпване, анти-гръмотевично стадо, TLS спуфинг + +--- + +## 📖 Документация + +| Документ | Описание | +| -------------------------------------------- | ------------------------------------------------------- | +| [User Guide](docs/USER_GUIDE.md) | Доставчици, комбинации, CLI интеграция, внедряване | +| [API Reference](docs/API_REFERENCE.md) | Всички крайни точки с примери | +| [Troubleshooting](docs/TROUBLESHOOTING.md) | Често срещани проблеми и решения | +| [Architecture](docs/ARCHITECTURE.md) | Системна архитектура и вътрешност | +| [Contributing](CONTRIBUTING.md) | Настройка и насоки за разработка | +| [OpenAPI Spec](docs/openapi.yaml) | Спецификация на OpenAPI 3.0 | +| [Security Policy](SECURITY.md) | Отчитане на уязвимости и практики за сигурност | +| [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | Пълно ръководство: Настройка на VM + nginx + Cloudflare | +| [Features Gallery](docs/FEATURES.md) | Визуална обиколка на таблото с екранни снимки | + +### 📸 Визуализация на таблото за управление + +
+Щракнете, за да видите екранни снимки на таблото за управление + +| Страница | Екранна снимка | +| -------------------------- | ------------------------------------------------- | +| **Доставчици** | ![Providers](docs/screenshots/01-providers.png) | +| **Комбота** | ![Combos](docs/screenshots/02-combos.png) | +| **Анализ** | ![Analytics](docs/screenshots/03-analytics.png) | +| **Здраве** | ![Health](docs/screenshots/04-health.png) | +| **Преводач** | ![Translator](docs/screenshots/05-translator.png) | +| **Настройки** | ![Settings](docs/screenshots/06-settings.png) | +| **CLI инструменти** | ![CLI Tools](docs/screenshots/07-cli-tools.png) | +| **Дневници за използване** | ![Usage](docs/screenshots/08-usage.png) | +| **Крайна точка** | ![Endpoint](docs/screenshots/09-endpoint.png) | + +
+ +--- + +## 🗺️ Пътна карта + +OmniRoute има **планирани 210+ функции** в множество фази на разработка. Ето основните области: + +| Категория | Планирани функции | Акценти | +| ----------------------------------- | ----------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| 🧠 **Маршрутизиране и разузнаване** | 25+ | Маршрутизиране с най-ниска латентност, маршрутизиране на базата на маркери, предварителен полет на квота, избор на P2C акаунт | +| 🔒 **Сигурност и съответствие** | 20+ | SSRF укрепване, прикриване на идентификационни данни, ограничение на скоростта за крайна точка, обхват на ключ за управление | +| 📊 **Наблюдаемост** | 15+ | OpenTelemetry интеграция, мониторинг на квоти в реално време, проследяване на разходите за модел | +| 🔄 **Интеграции на доставчици** | 20+ | Регистър на динамичен модел, изчакване на доставчика, Codex за множество акаунти, анализ на квота на Copilot | +| ⚡ **Изпълнение** | 15+ | Слой с двоен кеш, кеш за подкани, кеш за отговор, поддържане на активността при поточно предаване, партиден API | +| 🌐 **Екосистема** | 10+ | WebSocket API, горещо презареждане на конфигурация, разпределено хранилище за конфигурация, търговски режим | + +### 🔜 Очаквайте скоро + +- 🔗 **OpenCode Integration** — Поддръжка на родния доставчик за IDE за кодиране OpenCode AI +- 🔗 **TRAE Integration** — Пълна поддръжка за рамката за разработка на TRAE AI +- 📦 **Batch API** — Асинхронна групова обработка за групови заявки +- 🎯 **Маршрутизиране на базата на етикети** — Маршрутизирайте заявки въз основа на персонализирани тагове и метаданни +- 💰 **Стратегия с най-ниска цена** — Автоматично изберете най-евтиния наличен доставчик + +> 📝 Пълните спецификации на функциите са налични в [**OMNI_TOKEN_147**](docs/new-features/) (217 подробни спецификации) + +--- + +## 📧 Поддръжка + +> 💬 **Присъединете се към нашата общност!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Получете помощ, споделете съвети и бъдете в течение. + +- **Уебсайт**: [omniroute.online](https://omniroute.online) +- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) +- **Проблеми**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) +- **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) +- **Оригинален проект**: [9router by decolua](https://github.com/decolua/9router) + +--- + +## 👥 Сътрудници + +[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) + +### Как да допринесете + +1. Разклонете хранилището +2. Създайте свой клон на функции (`git checkout -b feature/amazing-feature`) +3. Задайте вашите промени (`git commit -m 'Add amazing feature'`) +4. Натиснете до клона (`git push origin feature/amazing-feature`) +5. Отворете заявка за изтегляне + +Вижте [CONTRIBUTING.md](CONTRIBUTING.md) за подробни насоки. + +### Пускане на нова версия + +```bash +# Create a release — npm publish happens automatically +gh release create v1.0.6 --title "v1.0.6" --generate-notes +``` + +--- + +## 📊 Звездна история + + + + + + Star History Chart + + + +--- + +## 🙏 Благодарности + +Специални благодарности на **[9router](https://github.com/decolua/9router)** от **[decolua](https://github.com/decolua)** — оригиналният проект, който вдъхнови това разклонение. OmniRoute се основава на тази невероятна основа с допълнителни функции, мултимодални API и пълно пренаписване на TypeScript. + +Специални благодарности на **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — оригиналната реализация на Go, която вдъхнови този JavaScript порт. + +--- + +## 📄 Лиценз + +Лиценз на MIT – вижте [LICENSE](LICENSE) за подробности. + +--- + +--- + +## 🇧🇷 OmniRoute — Gateway de IA Gratuito + + + +### Nunca pare de codar. Roteamento inteligente para **modelos de IA GRATUITOS e de baixo custo** com резервен автоматичен. + +_Seu прокси универсален API — um крайна точка, 36+ доставчици, нулев престой._ + +### 🌐 Internacionalização (i18n) + +Таблото за управление на OmniRoute поддържа **múltiplos idiomas**. Актуално налични: + +| идиома | Código | Статус | +| ------------------------- | ------- | ------------ | +| 🇺🇸 английски | `en` | ✅ Завършено | +| 🇧🇷 португалски (Бразилия) | `pt-BR` | ✅ Завършено | + +**Параметр на трокар или идиома:** Кликнете без избор на идиома (🇺🇸 EN) без заглавка в таблото за управление → избор или избран идиома. + +**Para adicionar um new idioma:** + +1. Извикайте `src/i18n/messages/{codigo}.json` базирано на `en.json` +2. Добавете кода към `src/i18n/config.ts` → `LOCALES` и `LANGUAGES` +3. Reinicie или сървър + +### ⚡ Início Rápido + +```bash +# Instalar via npm +npx omniroute@latest + +# Ou rodar do código-fonte +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +### 🐳 Докер + +```bash +docker run -d --name omniroute -p 20128:20128 diegosouzapw/omniroute:latest +``` + +### 🔑 Funcionalidades Principais + +- **36+ доставчици на IA** — Claude, GPT, Gemini, Llama, Qwen, DeepSeek и други +- **Roteamento inteligente** — Резервни автоматични агенти +- **Tradução de formato** — OpenAI ↔ Claude ↔ Gemini automaticamente +- **Multi-conta** — Múltiplas contas por provedor com seleção inteligente +- **Cache semântico** — Reduz custos e latência +- **Автоматичен OAuth** — Автоматично обновяване на токени +- **Combos personalizados** — 6 estratégias de roteamento +- **Пълно табло** — Мониторинг, регистрационни файлове, анализи, конфигуриране +- **CLI инструменти** — Конфигуриране на Claude Code, Codex, Cursor, Cline com um clique +- **100% TypeScript** — Лимпо и тип код + +### 📖 Documentação + +| Документ | Описание | +| ----------------------------------------------- | --------------------------------------- | +| [Guia do Usuário](docs/USER_GUIDE.md) | Доставчици, комбинации, CLI, внедряване | +| [Referência da API](docs/API_REFERENCE.md) | Всички крайни точки с примери | +| [Solução de Problemas](docs/TROUBLESHOOTING.md) | Общи проблеми и решения | +| [Arquitetura](docs/ARCHITECTURE.md) | Архитектура и вътрешна система | +| [Contribuição](CONTRIBUTING.md) | Setup de desenvolvimento e guidelines | +| [Deploy em VM](docs/VM_DEPLOYMENT_GUIDE.md) | Пълна версия: VM + nginx + Cloudflare | + +### 📧 Подкрепете + +> 💬 **Entre para a comunidade!** [Grupo WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Двойни гуми, компартилхе дикас и актуализация на фик. + +- **Уебсайт**: [omniroute.online](https://omniroute.online) +- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) +- **Проблеми**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) + +--- + +
+ Създаден с ❤️ за разработчици, които кодират 24/7 +
+ omniroute.online +
diff --git a/README.da.md b/README.da.md new file mode 100644 index 0000000000..dacb42c987 --- /dev/null +++ b/README.da.md @@ -0,0 +1,1238 @@ +
+ OmniRoute Dashboard + + # 🚀 OmniRoute — Den gratis AI-gateway + +🌐 **[English](#-omniroute--the-free-ai-gateway)** | **[Português (BR)](#-omniroute--gateway-de-ia-gratuito)** + +### 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._ + +**Chatafslutninger • Indlejringer • Billedgenerering • Lyd • Genrangering • 100 % TypeScript** + +--- + +### 🤖 Gratis AI-udbyder til dine foretrukne kodningsagenter + +_Tilslut ethvert AI-drevet IDE- eller CLI-værktøj gennem OmniRoute - gratis API-gateway til ubegrænset kodning._ + + + + + + + + + + + + + + + + +
+ + OpenClaw
+ OpenClaw +

+ ⭐ 205K +
+ + NanoBot
+ NanoBot +

+ ⭐ 20.9K +
+ + PicoClaw
+ PicoClaw +

+ ⭐ 14.6K +
+ + ZeroClaw
+ ZeroClaw +

+ ⭐ 9.9K +
+ + IronClaw
+ IronClaw +

+ ⭐ 2.1K +
+ + OpenCode
+ OpenCode +

+ ⭐ 106K +
+ + Codex CLI
+ Codex CLI +

+ ⭐ 60.8K +
+ + Claude Code
+ Claude Code +

+ ⭐ 67.3K +
+ + Gemini CLI
+ Gemini CLI +

+ ⭐ 94.7K +
+ + Kilo Code
+ Kilo Code +

+ ⭐ 15.5K +
+ +📡 Alle agenter forbinder via http://localhost:20128/v1 eller http://cloud.omniroute.online/v1__OMNI_TOKEN_245, —limited one config and kvote + +--- + +[![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) +[![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) +[![License](https://img.shields.io/github/license/diegosouzapw/OmniRoute)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE) +[![Website](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) +[![WhatsApp](https://img.shields.io/badge/WhatsApp-Community-25D366?logo=whatsapp&logoColor=white)](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) + +
+ +--- + +## 🤔 Hvorfor OmniRoute? + +**Stop med at spilde penge og nå grænser:** + +- Abonnementskontingent udløber ubrugt hver måned +- Hastighedsgrænser stopper dig midtkodning +- Dyre API'er ($20-50/måned pr. udbyder) +- Manuel skift mellem udbydere + +**OmniRoute løser dette:** + +- ✅ **Maksimer abonnementer** - Spor kvote, brug hver bit før nulstilling +- ✅ **Automatisk fallback** - Abonnement → API-nøgle → Billig → Gratis, ingen nedetid +- ✅ **Multi-konto** - Round-robin mellem konti pr. udbyder +- ✅ **Universal** - Virker med Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, ethvert CLI-værktøj + +--- + +## 🔄 Sådan virker det + +``` +┌─────────────┐ +│ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) +│ Tool │ +└──────┬──────┘ + │ http://localhost:20128/v1 + ↓ +┌─────────────────────────────────────────┐ +│ OmniRoute (Smart Router) │ +│ • Format translation (OpenAI ↔ Claude) │ +│ • Quota tracking + Embeddings + Images │ +│ • Auto token refresh │ +└──────┬──────────────────────────────────┘ + │ + ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI + │ ↓ quota exhausted + ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc. + │ ↓ budget limit + ├─→ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M) + │ ↓ budget limit + └─→ [Tier 4: FREE] iFlow, Qwen, Kiro (unlimited) + +Result: Never stop coding, minimal cost +``` + +--- + +## ⚡ Hurtig start + +**1. Installer globalt:** + +```bash +npm install -g omniroute +omniroute +``` + +🎉 Dashboard åbner kl. `http://localhost:20128` + +| Kommando | Beskrivelse | +| ----------------------- | --------------------------------- | +| `omniroute` | Start server (standardport 20128) | +| `omniroute --port 3000` | Brug tilpasset port | +| `omniroute --no-open` | Åbn ikke browseren automatisk | +| `omniroute --help` | Vis hjælp | + +**2. Tilslut en GRATIS udbyder:** + +Dashboard → Udbydere → Connect **Claude Code** eller **Antigravity** → OAuth-login → Færdig! + +**3. Brug i dit CLI-værktøj:** + +``` +Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings: + Endpoint: http://localhost:20128/v1 + API Key: [copy from dashboard] + Model: if/kimi-k2-thinking +``` + +**Det var det!** Begynd at kode med GRATIS AI-modeller. + +**Alternativt — kør fra kilden:** + +```bash +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +--- + +## 🐳 Docker + +OmniRoute er tilgængelig som et offentligt Docker-billede på [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute). + +**Hurtigt løb:** + +```bash +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**Med miljøfil:** + +```bash +# Copy and edit .env first +cp .env.example .env + +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + --env-file .env \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**Brug af Docker Compose:** + +```bash +# Base profile (no CLI tools) +docker compose --profile base up -d + +# CLI profile (Claude Code, Codex, OpenClaw built-in) +docker compose --profile cli up -d +``` + +| Billede | Tag | Størrelse | Beskrivelse | +| ------------------------ | -------- | --------- | ------------------------- | +| `diegosouzapw/omniroute` | `latest` | ~250MB | Seneste stabile udgivelse | +| `diegosouzapw/omniroute` | `1.0.3` | ~250MB | Nuværende version | + +--- + +## 💰 Prissætning på et øjeblik + +| Tier | Udbyder | Omkostninger | Kvote nulstilling | Bedst til | +| ----------------- | ----------------- | --------------------------- | ------------------ | -------------------------- | +| **💳 ABONNEMENT** | Claude Code (Pro) | 20 USD/md. | 5 timer + ugentlig | Allerede abonneret | +| | Codex (Plus/Pro) | $20-200/md. | 5 timer + ugentlig | OpenAI-brugere | +| | Gemini CLI | **GRATIS** | 180K/md + 1K/dag | Alle sammen! | +| | GitHub Copilot | $10-19/md. | Månedlig | GitHub-brugere | +| **🔑 API NØGLE** | NVIDIA NIM | **GRATIS** (1000 kreditter) | Engangs | Gratis tier test | +| | DeepSeek | Betal pr. brug | Ingen | Bedste pris/kvalitet | +| | Groq | Gratis niveau + betalt | Sats begrænset | Ultrahurtig slutning | +| | xAI (Grok) | Betal pr. brug | Ingen | Grok modeller | +| | Mistral | Gratis niveau + betalt | Sats begrænset | Europæisk AI | +| | OpenRouter | Betal pr. brug | Ingen | 100+ modeller | +| **💰 BILLIG** | GLM-4.7 | 0,6 USD/1 mio. | Dagligt 10:00 | Budget backup | +| | MiniMax M2.1 | $0,2/1 mio. | 5-timers rullende | Billigste mulighed | +| | Kimi K2 | 9 USD/md. lejlighed | 10M tokens/md. | Forudsigelige omkostninger | +| **🆓 GRATIS** | iFlow | $0 | Ubegrænset | 8 modeller gratis | +| | Qwen | $0 | Ubegrænset | 3 modeller gratis | +| | Kiro | $0 | Ubegrænset | Claude gratis | + +**💡 Pro-tip:** Start med Gemini CLI (180K gratis/måned) + iFlow (ubegrænset gratis) combo = $0 omkostninger! + +--- + +## 🎯 Use Cases + +### Case 1: "Jeg har Claude Pro-abonnement" + +**Problem:** Kvoten udløber ubrugt, satsgrænser under tung kodning + +``` +Combo: "maximize-claude" + 1. cc/claude-opus-4-6 (use subscription fully) + 2. glm/glm-4.7 (cheap backup when quota out) + 3. if/kimi-k2-thinking (free emergency fallback) + +Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total +vs. $20 + hitting limits = frustration +``` + +### Case 2: "Jeg vil have nul omkostninger" + +**Problem:** Har ikke råd til abonnementer, har brug for pålidelig AI-kodning + +``` +Combo: "free-forever" + 1. gc/gemini-3-flash (180K free/month) + 2. if/kimi-k2-thinking (unlimited free) + 3. qw/qwen3-coder-plus (unlimited free) + +Monthly cost: $0 +Quality: Production-ready models +``` + +### Case 3: "Jeg har brug for 24/7 kodning, ingen afbrydelser" + +**Problem:** Deadlines, har ikke råd til nedetid + +``` +Combo: "always-on" + 1. cc/claude-opus-4-6 (best quality) + 2. cx/gpt-5.2-codex (second subscription) + 3. glm/glm-4.7 (cheap, resets daily) + 4. minimax/MiniMax-M2.1 (cheapest, 5h reset) + 5. if/kimi-k2-thinking (free unlimited) + +Result: 5 layers of fallback = zero downtime +``` + +### Case 4: "Jeg vil have GRATIS AI i OpenClaw" + +**Problem:** Har brug for AI-assistent i beskedapps, helt gratis + +``` +Combo: "openclaw-free" + 1. if/glm-4.7 (unlimited free) + 2. if/minimax-m2.1 (unlimited free) + 3. if/kimi-k2-thinking (unlimited free) + +Monthly cost: $0 +Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal... +``` + +--- + +## 💡 Nøglefunktioner + +### 🧠 Core Routing & Intelligence + +| Funktion | Hvad det gør | +| ---------------------------------- | -------------------------------------------------------------------------------------- | +| 🎯 **Smart 4-lags fallback** | Auto-rute: Abonnement → API-nøgle → Billig → Gratis | +| 📊 **Kvotesporing i realtid** | Live token count + nulstil nedtælling pr. udbyder | +| 🔄 **Formatoversættelse** | OpenAI ↔ Claude ↔ Gemini ↔ Markør ↔ Kiro sømløs + respons sanitisering | +| 👥 **Multi-Account Support** | Flere konti pr. udbyder med intelligent valg | +| 🔄 **Automatisk token-opdatering** | OAuth-tokens opdateres automatisk med genforsøg | +| 🎨 **Tilpassede kombinationer** | 6 strategier: fill-first, round-robin, p2c, random, mindst brugt, omkostningsoptimeret | +| 🧩 **Tilpassede modeller** | Tilføj ethvert model-id til enhver udbyder | +| 🌐 **Wildcard-router** | Rut `provider/*` mønstre til enhver udbyder dynamisk | +| 🧠 **Tænkende budget** | Passthrough, auto, brugerdefinerede og adaptive tilstande til ræsonnerende modeller | +| 💬 **System Prompt Injection** | Global systemprompt anvendt på tværs af alle anmodninger | +| 📄 **Responses API** | Fuld OpenAI Responses API (`/v1/responses`) understøttelse af Codex | + +### 🎵 Multi-Modal API'er + +| Funktion | Hvad det gør | +| ------------------------ | -------------------------------------------------- | +| 🖼️ **Billedgenerering** | `/v1/images/generations` — 4 udbydere, 9+ modeller | +| 📐 **Indlejringer** | `/v1/embeddings` — 6 udbydere, 9+ modeller | +| 🎤 **Lydtransskription** | `/v1/audio/transcriptions` — Whisper-kompatibel | +| 🔊 **Tekst-til-tale** | `/v1/audio/speech` — Multi-udbyder lydsyntese | +| 🛡️ **Moderationer** | `/v1/moderations` — Indholdssikkerhedstjek | +| 🔀 **Omrangering** | `/v1/rerank` — Omrangering af dokumentrelevans | + +### 🛡️ Modstandsdygtighed og sikkerhed + +| Funktion | Hvad det gør | +| -------------------------------- | ------------------------------------------------------------------------------ | +| 🔌 **Circuit Breaker** | Automatisk åbning/lukning pr. udbyder med konfigurerbare tærskler | +| 🛡️ **Anti-tordenbesætning** | Mutex + semafor-hastighedsgrænse for API-nøgleudbydere | +| 🧠 **Semantisk cache** | To-lags cache (signatur + semantisk) reducerer omkostninger og ventetid | +| ⚡ **Anmod om idempotens** | 5s dedup-vindue for duplikerede anmodninger | +| 🔒 **TLS Fingerprint Spoofing** | Omgå TLS-baseret botdetektion via wreq-js | +| 🌐 **IP-filtrering** | Tilladelsesliste/blokeringsliste til API-adgangskontrol | +| 📊 **Redigerbare satsgrænser** | Konfigurerbar RPM, min. gap og maks. samtidighed på systemniveau | +| 🛡 **API-endepunktsbeskyttelse** | Auth gating + udbyderblokering for `/models` slutpunktet | +| 🔒 **Proxysynlighed** | Farvekodede badges: 🟢 global, 🟡 udbyder, 🔵 per forbindelse med IP-skærm | +| 🌐 **3-Level Proxy Config** | Konfigurer proxyer på globalt niveau, pr. udbyder eller pr. forbindelsesniveau | + +### 📊 Observerbarhed og analyse + +| Funktion | Hvad det gør | +| --------------------------- | ------------------------------------------------------------------------------------- | +| 📝 **Anmod om logning** | Fejlretningstilstand med fuld anmodnings-/svarlogs | +| 💾 **SQLite Proxy Logs** | Vedvarende proxy-logfiler overlever genstart af server | +| 📊 **Analytics Dashboard** | Recharts-drevet: statkort, modelbrugsdiagram, udbydertabel | +| 📈 **Fremskridtssporing** | Opt-in SSE-fremskridtsbegivenheder til streaming | +| 🧪 **LLM-evalueringer** | Gyldne sæt test med 4 kampstrategier | +| 🔍 **Anmod om telemetri** | p50/p95/p99 latenstidsaggregering + X-Request-Id-sporing | +| 📋 **Log Dashboard** | Samlet side med 4 faner: Anmodningslogfiler, Proxylogfiler, Revisionslogfiler, Konsol | +| 🖥️ **Konsol Log Viewer** | Real-time terminal-stil fremviser med niveau filter, søgning, auto-scroll | +| 📑 **Filbaseret logning** | Konsolinterceptor fanger alt output til JSON-logfil med rotation | +| 🏥 **Sundhedskontrolpanel** | Systemets oppetid, strømafbrydertilstande, lockouts, cachestatistik | +| 💰 **Omkostningssporing** | Budgetstyring + priskonfiguration pr. model | + +### ☁️ Implementering og synkronisering + +| Funktion | Hvad det gør | +| ---------------------------- | ------------------------------------------------------------------------ | +| 💾 **Cloud Sync** | Synkroniser konfiguration på tværs af enheder via Cloudflare Workers | +| 🌐 **Deploy hvor som helst** | Localhost, VPS, Docker, Cloudflare Workers | +| 🔑 **API Key Management** | Generer, roter og omfang API-nøgler pr. udbyder | +| 🧙 **Onboarding Wizard** | 4-trins guidet opsætning for førstegangsbrugere | +| 🔧 **CLI Tools Dashboard** | Et-klik konfigurer Claude, Codex, Cline, OpenClaw, Kilo, Antigravity | +| 🔄 **DB-sikkerhedskopier** | Automatisk backup, gendannelse, eksport og import for alle indstillinger | +| 🌐 **Internationalisering** | Fuld i18n med next-intl — engelsk + portugisisk (Brasilien) support | +| 🌍 **Sprogvælger** | Globusikon i overskriften til sprogskift i realtid (🇺🇸/🇧🇷) | +| 📂 **Tilpasset datakatalog** | `DATA_DIR` env var for at tilsidesætte standard `~/.omniroute` lagersti | + +
+📖 Funktionsdetaljer + +### 🎯 Smart 4-Tier Fallback + +Opret kombinationer med automatisk fallback: + +``` +Combo: "my-coding-stack" + 1. cc/claude-opus-4-6 (your subscription) + 2. nvidia/llama-3.3-70b (free NVIDIA API) + 3. glm/glm-4.7 (cheap backup, $0.6/1M) + 4. if/kimi-k2-thinking (free fallback) + +→ Auto switches when quota runs out or errors occur +``` + +### 📊 Kvotesporing i realtid + +- Tokenforbrug pr. udbyder +- Nulstil nedtælling (5 timer, dagligt, ugentligt) +- Omkostningsestimat for betalte niveauer +- Månedlige udgiftsrapporter + +### 🔄 Formatoversættelse + +Problemfri oversættelse mellem formater: + +- **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **OpenAI-svar** +- Dit CLI-værktøj sender OpenAI-format → OmniRoute oversætter → Udbyder modtager oprindeligt format +- Fungerer med ethvert værktøj, der understøtter brugerdefinerede OpenAI-endepunkter +- **Responssanering** — Fjerner ikke-standardfelter for streng OpenAI SDK-kompatibilitet +- **Rollenormalisering** — `developer` → `system` for ikke-OpenAI; `system` → `user` til GLM/ERNIE-modeller +- **Tænk tag-udtrækning** — `` blokke → `reasoning_content` til tænkende modeller +- **Struktureret output** — `json_schema` → Gemini's `responseMimeType`/`responseSchema` + +### 👥 Support til flere konti + +- Tilføj flere konti pr. udbyder +- Auto round-robin eller prioritetsbaseret routing +- Fallback til næste konto, når man rammer kvoten + +### 🔄 Automatisk token-opdatering + +- OAuth-tokens opdateres automatisk før udløb +- Ingen manuel gengodkendelse nødvendig +- Problemfri oplevelse på tværs af alle udbydere + +### 🎨 Brugerdefinerede kombinationer + +- Opret ubegrænsede modelkombinationer +- 6 strategier: fill-first, round-robin, power-of-to-choices, tilfældig, mindst brugt, omkostningsoptimeret +- Del kombinationer på tværs af enheder med Cloud Sync + +### 🏥 Health Dashboard + +- Systemstatus (oppetid, version, hukommelsesforbrug) +- Strømafbrydertilstande pr. udbyder (lukket/åbent/halvt åbent) +- Takstgrænsestatus og aktive lockouts +- Signatur cache statistik +- Latency-telemetri (p50/p95/p99) + prompt-cache +- Nulstil sundhedsstatus med et enkelt klik + +### 🔧 Oversætterlegeplads + +OmniRoute inkluderer en kraftfuld indbygget oversætterlegeplads med **4 tilstande** til fejlretning, test og overvågning af API-oversættelser: + +| Tilstand | Beskrivelse | +| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| **💻 Legeplads** | Direkte formatoversættelse — indsæt enhver API-anmodningstekst og se øjeblikkeligt, hvordan OmniRoute oversætter det mellem udbyderformater (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). Indeholder eksempelskabeloner og automatisk genkendelse af formater. | +| **💬 Chattester** | Send rigtige chatanmodninger gennem OmniRoute og se den fulde rundrejse: dit input, den oversatte anmodning, udbyderens svar og det oversatte svar tilbage. Uvurderlig til validering af combo routing. | +| **🧪 Test bænk** | Batch-testtilstand – definer flere testcases med forskellige input og forventede output, kør dem alle på én gang, og sammenlign resultater på tværs af udbydere og modeller. | +| **📱 Live Monitor** | Overvågning af anmodninger i realtid — se indgående anmodninger, mens de flyder gennem OmniRoute, se formatoversættelser, der foregår live, og identificer problemer med det samme. | + +**Adgang:** Dashboard → Oversætter (sidebjælke) + +### 💾 Cloud Sync + +- Synkroniser udbydere, kombinationer og indstillinger på tværs af enheder +- Automatisk baggrundssynkronisering +- Sikker krypteret opbevaring + +
+ +--- + +## 📖 Opsætningsvejledning + +
+💳 Abonnementsudbydere + +### Claude Code (Pro/Max) + +```bash +Dashboard → Providers → Connect Claude Code +→ OAuth login → Auto token refresh +→ 5-hour + weekly quota tracking + +Models: + cc/claude-opus-4-6 + cc/claude-sonnet-4-5-20250929 + cc/claude-haiku-4-5-20251001 +``` + +**Prof tip:** Brug Opus til komplekse opgaver, Sonnet for hurtighed. OmniRoute sporer kvote pr. model! + +### OpenAI Codex (Plus/Pro) + +```bash +Dashboard → Providers → Connect Codex +→ OAuth login (port 1455) +→ 5-hour + weekly reset + +Models: + cx/gpt-5.2-codex + cx/gpt-5.1-codex-max +``` + +### Gemini CLI (GRATIS 180K/måned!) + +```bash +Dashboard → Providers → Connect Gemini CLI +→ Google OAuth +→ 180K completions/month + 1K/day + +Models: + gc/gemini-3-flash-preview + gc/gemini-2.5-pro +``` + +**Bedste værdi:** Kæmpe gratis niveau! Brug dette før betalte niveauer. + +### GitHub Copilot + +```bash +Dashboard → Providers → Connect GitHub +→ OAuth via GitHub +→ Monthly reset (1st of month) + +Models: + gh/gpt-5 + gh/claude-4.5-sonnet + gh/gemini-3-pro +``` + +
+ +
+🔑 API-nøgleudbydere + +### NVIDIA NIM (GRATIS 1000 kreditter!) + +1. Tilmeld dig: [build.nvidia.com](https://build.nvidia.com) +2. Få gratis API-nøgle (1000 slutningskreditter inkluderet) +3. Dashboard → Tilføj udbyder → NVIDIA NIM: + - API-nøgle: `nvapi-your-key` + +**Modeller:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct` og mere end 50 + +**Prof tip:** OpenAI-kompatibel API — fungerer problemfrit med OmniRoutes formatoversættelse! + +### DeepSeek + +1. Tilmeld dig: [platform.deepseek.com](https://platform.deepseek.com) +2. Hent API-nøgle +3. Dashboard → Tilføj udbyder → DeepSeek + +**Modeller:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder` + +### Groq (gratis niveau tilgængelig!) + +1. Tilmeld dig: [console.groq.com](https://console.groq.com) +2. Få API-nøgle (gratis niveau inkluderet) +3. Dashboard → Tilføj udbyder → Groq + +**Modeller:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b` + +**Prof tip:** Ultrahurtig slutning — bedst til realtidskodning! + +### OpenRouter (100+ modeller) + +1. Tilmeld dig: [openrouter.ai](https://openrouter.ai) +2. Hent API-nøgle +3. Dashboard → Tilføj udbyder → OpenRouter + +**Modeller:** Få adgang til mere end 100 modeller fra alle større udbydere via en enkelt API-nøgle. + +
+ +
+💰 Billige udbydere (backup) + +### GLM-4.7 (Daglig nulstilling, $0,6/1 mio.) + +1. Tilmeld dig: [Zhipu AI](https://open.bigmodel.cn/) +2. Hent API-nøgle fra Coding Plan +3. Dashboard → Tilføj API-nøgle: + - Udbyder: `glm` + - API-nøgle: `your-key` + +**Brug:** `glm/glm-4.7` + +**Pro-tip:** Coding Plan tilbyder 3× kvote til 1/7 pris! Nulstil dagligt 10:00. + +### MiniMax M2.1 (5 timers nulstilling, $0,20/1 mio.) + +1. Tilmeld dig: [MiniMax](https://www.minimax.io/) +2. Hent API-nøgle +3. Dashboard → Tilføj API-nøgle + +**Brug:** `minimax/MiniMax-M2.1` + +**Prof tip:** Billigste mulighed for lang sammenhæng (1M tokens)! + +### Kimi K2 ($9/måned lejlighed) + +1. Abonner: [Moonshot AI](https://platform.moonshot.ai/) +2. Hent API-nøgle +3. Dashboard → Tilføj API-nøgle + +**Brug:** `kimi/kimi-latest` + +**Prof tip:** Fast $9/måned for 10M tokens = $0,90/1M effektive omkostninger! + +
+ +
+🆓 GRATIS udbydere (nødbackup) + +### iFlow (8 GRATIS modeller) + +```bash +Dashboard → Connect iFlow +→ iFlow OAuth login +→ Unlimited usage + +Models: + if/kimi-k2-thinking + if/qwen3-coder-plus + if/glm-4.7 + if/minimax-m2 + if/deepseek-r1 +``` + +### Qwen (3 GRATIS modeller) + +```bash +Dashboard → Connect Qwen +→ Device code authorization +→ Unlimited usage + +Models: + qw/qwen3-coder-plus + qw/qwen3-coder-flash +``` + +### Kiro (Claude GRATIS) + +```bash +Dashboard → Connect Kiro +→ AWS Builder ID or Google/GitHub +→ Unlimited usage + +Models: + kr/claude-sonnet-4.5 + kr/claude-haiku-4.5 +``` + +
+ +
+🎨 Opret kombinationer + +### Eksempel 1: Maksimer abonnement → Billig backup + +``` +Dashboard → Combos → Create New + +Name: premium-coding +Models: + 1. cc/claude-opus-4-6 (Subscription primary) + 2. glm/glm-4.7 (Cheap backup, $0.6/1M) + 3. minimax/MiniMax-M2.1 (Cheapest fallback, $0.20/1M) + +Use in CLI: premium-coding +``` + +### Eksempel 2: Kun gratis (nul omkostninger) + +``` +Name: free-combo +Models: + 1. gc/gemini-3-flash-preview (180K free/month) + 2. if/kimi-k2-thinking (unlimited) + 3. qw/qwen3-coder-plus (unlimited) + +Cost: $0 forever! +``` + +
+ +
+🔧 CLI-integration + +### Markør IDE + +``` +Settings → Models → Advanced: + OpenAI API Base URL: http://localhost:20128/v1 + OpenAI API Key: [from OmniRoute dashboard] + Model: cc/claude-opus-4-6 +``` + +### Claude Code + +Brug siden **CLI Tools** i dashboardet til konfiguration med et enkelt klik, eller rediger `~/.claude/settings.json` manuelt. + +### Codex CLI + +```bash +export OPENAI_BASE_URL="http://localhost:20128" +export OPENAI_API_KEY="your-omniroute-api-key" + +codex "your prompt" +``` + +### OpenClaw + +**Mulighed 1 — Dashboard (anbefalet):** + +``` +Dashboard → CLI Tools → OpenClaw → Select Model → Apply +``` + +**Mulighed 2 — Manuel:** Rediger `~/.openclaw/openclaw.json`: + +```json +{ + "models": { + "providers": { + "omniroute": { + "baseUrl": "http://127.0.0.1:20128/v1", + "apiKey": "sk_omniroute", + "api": "openai-completions" + } + } + } +} +``` + +> **Bemærk:** OpenClaw fungerer kun med lokale OmniRoute. Brug `127.0.0.1` i stedet for `localhost` for at undgå problemer med IPv6-opløsning. + +### Cline / Fortsæt / RooCode + +``` +Settings → API Configuration: + Provider: OpenAI Compatible + Base URL: http://localhost:20128/v1 + API Key: [from OmniRoute dashboard] + Model: if/kimi-k2-thinking +``` + +
+ +--- + +## 📊 Tilgængelige modeller + +
+Se alle tilgængelige modeller + +**Claude-kode (`cc/`)** - Pro/Max: + +- `cc/claude-opus-4-6` +- `cc/claude-sonnet-4-5-20250929` +- `cc/claude-haiku-4-5-20251001` + +**Codex (`cx/`)** - Plus/Pro: + +- `cx/gpt-5.2-codex` +- `cx/gpt-5.1-codex-max` + +**Gemini CLI (`gc/`)** - GRATIS: + +- `gc/gemini-3-flash-preview` +- `gc/gemini-2.5-pro` + +**GitHub Copilot (`gh/`)**: + +- `gh/gpt-5` +- `gh/claude-4.5-sonnet` + +**NVIDIA NIM (`nvidia/`)** - GRATIS kreditter: + +- `nvidia/llama-3.3-70b-instruct` +- `nvidia/mistral-7b-instruct` +- 50+ flere modeller på [build.nvidia.com](https://build.nvidia.com) + +**GLM (`glm/`)** - 0,6 USD/1 mio. + +- `glm/glm-4.7` + +**MiniMax (`minimax/`)** - 0,2 USD/1 mio. + +- `minimax/MiniMax-M2.1` + +**iFlow (`if/`)** - GRATIS: + +- `if/kimi-k2-thinking` +- `if/qwen3-coder-plus` +- `if/deepseek-r1` +- `if/glm-4.7` +- `if/minimax-m2` + +**Qwen (`qw/`)** - GRATIS: + +- `qw/qwen3-coder-plus` +- `qw/qwen3-coder-flash` + +**Kiro (`kr/`)** - GRATIS: + +- `kr/claude-sonnet-4.5` +- `kr/claude-haiku-4.5` + +**OpenRouter (`or/`)** - 100+ modeller: + +- `or/anthropic/claude-4-sonnet` +- `or/google/gemini-2.5-pro` +- Enhver model fra [openrouter.ai/models](https://openrouter.ai/models) + +
+ +--- + +## 🧪 Evalueringer (evalueringer) + +OmniRoute inkluderer en indbygget evalueringsramme til at teste LLM-svarkvaliteten mod et gyldent sæt. Få adgang til det via **Analytics → Evals** i dashboardet. + +### Indbygget gyldent sæt + +Det forudindlæste "OmniRoute Golden Set" indeholder 10 testcases, der dækker: + +- Hilsen, matematik, geografi, kodegenerering +- JSON format compliance, oversættelse, markdown +- Sikkerhedsafvisning (skadeligt indhold), optælling, boolsk logik + +### Evalueringsstrategier + +| Strategi | Beskrivelse | Eksempel | +| ---------- | ----------------------------------------------------------------------- | -------------------------------- | +| `exact` | Output skal matche nøjagtigt | `"4"` | +| `contains` | Output skal indeholde understreng (uafhængig af store og små bogstaver) | `"Paris"` | +| `regex` | Output skal matche regex-mønster | `"1.*2.*3"` | +| `custom` | Brugerdefineret JS-funktion returnerer sand/falsk | `(output) => output.length > 10` | + +--- + +## 🔐 OAuth em Servidor Remoto (Remote OAuth Setup) + + + +> **⚠️ VIGTIGT til brugere af OmniRoute med VPS/Docker/server-fjernbetjening** + +### Kan du bruge Antigravity / Gemini CLI til at udføre fjernbetjeninger? + +Os testedores **Antigravity** og **Gemini CLI** usam **Google OAuth 2.0** for autenticação. O Google exige que a `redirect_uri` usada no fluxo OAuth seja **exatamente** uma das URIs pré-cadastradas no Google Cloud Console do aplicativo. + +Som credenciais OAuth embutidas no OmniRoute estão cadastradas **apenas para `localhost`**. Quando você acessa o OmniRoute em um servidor remoto (ex: `https://omniroute.meuservidor.com`), o Google afviser en autenticação com: + +``` +Error 400: redirect_uri_mismatch +``` + +### Løsning: Konfigurer OAuth, der er godkendt + +Você precisa criar um **OAuth 2.0 Client ID** ingen Google Cloud Console med en URI, der udfører denne service. + +#### Passo a passo + +**1. Adgang til Google Cloud Console** + +Abra: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials) + +**2. Crie um novo OAuth 2.0 Client ID** + +- Klik på dem **"+ Opret legitimationsoplysninger"** → **"OAuth-klient-id"** +- Tipo de aplicativo: **"Webapplikation"** +- Navn: escolha qualquer nome (eks.: `OmniRoute Remote`) + +**3. Adicione som autoriseret omdirigerings-URI** + +Ingen campo **"Autoriseret omdirigerings-URI'er"**, adicione: + +``` +https://seu-servidor.com/callback +``` + +> Substitua `seu-servidor.com` pelo domínio ou IP do seu servidor (inclua a porta se necessário, ex: `http://45.33.32.156:20128/callback`). + +**4. Salve e copy as credenciais** + +Após criar, o Google mostrará o **Client ID** e o **Client Secret**. + +**5. Konfigurer som variáveis de ambiente** + +No seu `.env` (ou nas variáveis de ambiente do Docker): + +```bash +# Para Antigravity: +ANTIGRAVITY_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret + +# Para Gemini CLI: +GEMINI_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +``` + +**6. Reinicie o OmniRoute** + +```bash +# Se usando npm: +npm run dev + +# Se usando Docker: +docker restart omniroute +``` + +**7. Tente conectar novamente** + +Dashboard → Udbydere → Antigravity (ou Gemini CLI) → OAuth + +Agora o Google redirecionará corretamente para `https://seu-servidor.com/callback` og autenticação funcionará. + +--- + +### Løsning midlertidigt (som konfigureret credenciais próprias) + +Se não quiser criar credenciais próprias agora, ainda é possível usar o fluxo **manual de URL**: + +1. O OmniRoute abrirá en URL de autorização til Google +2. Após você autorizar, o Google tentará redirecionar para `localhost` (que falha no servidor remoto) +3. **Kopier en URL komplet** da barra de endereço do sin browser (mesmo que a página não carregue) +4. Cole essa URL no campo que aparece no modal de conexão do OmniRoute +5. Klik på **"Forbind"** + +> Este workaround funciona porque or código de autorização na URL é válido independente do redirect ter carregado or não. + +--- + +## 🐛 Fejlfinding + +
+Klik for at udvide fejlfindingsvejledning + +**"Sprogmodellen leverede ikke beskeder"** + +- Udbyderkvote opbrugt → Tjek dashboardkvotesporing +- Løsning: Brug combo fallback eller skift til et billigere niveau + +**Satsbegrænsende** + +- Abonnementskontingent ude → Fallback til GLM/MiniMax +- Tilføj kombination: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking` + +**OAuth-token er udløbet** + +- Automatisk genopfrisket af OmniRoute +- Hvis problemerne fortsætter: Dashboard → Udbyder → Genopret forbindelse + +**Høje omkostninger** + +- Tjek brugsstatistik i Dashboard → Omkostninger +- Skift primær model til GLM/MiniMax +- Brug gratis niveau (Gemini CLI, iFlow) til ikke-kritiske opgaver + +**Dashboard åbner på forkert port** + +- Sæt `PORT=20128` og `NEXT_PUBLIC_BASE_URL=http://localhost:20128` + +**Skysynkroniseringsfejl** + +- Bekræft `BASE_URL` peger på din løbeforekomst +- Bekræft `CLOUD_URL` point til dit forventede cloud-endepunkt +- Hold `NEXT_PUBLIC_*` værdier på linje med værdier på serversiden + +**Første login virker ikke** + +- Tjek `INITIAL_PASSWORD` i `.env` +- Hvis den ikke er angivet, er reserveadgangskoden `123456` + +**Ingen anmodningslogfiler** + +- Indstil `ENABLE_REQUEST_LOGS=true` i `.env` + +**Forbindelsestest viser "Ugyldig" for OpenAI-kompatible udbydere** + +- Mange udbydere eksponerer ikke et `/models` slutpunkt +- OmniRoute v1.0.6+ inkluderer fallback-validering via chatafslutninger +- Sørg for, at basis-URL'en inkluderer suffikset `/v1` + +
+ +--- + +## 🛠️ Tech Stack + +- **Runtime**: Node.js 18–22 LTS (⚠️ Node.js 24+ er **ikke understøttet** — `better-sqlite3` native binære filer er inkompatible) +- **Sprog**: TypeScript 5.9 — **100 % TypeScript** på tværs af `src/` og `open-sse/` (v1.0.6) +- **Framework**: Next.js 16 + React 19 + Tailwind CSS 4 +- **Database**: LowDB (JSON) + SQLite (domænetilstand + proxylogfiler) +- **Streaming**: Server-sendte hændelser (SSE) +- **Auth**: OAuth 2.0 (PKCE) + JWT + API-nøgler +- **Test**: Node.js testløber (368+ enhedstest) +- **CI/CD**: GitHub-handlinger (automatisk npm-udgivelse + Docker Hub ved udgivelse) +- **Websted**: [omniroute.online](https://omniroute.online) +- **Pakke**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute) +- **Docker**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute) +- **Resiliens**: Circuit breaker, eksponentiel backoff, anti-tordenbesætning, TLS spoofing + +--- + +## 📖 Dokumentation + +| Dokument | Beskrivelse | +| -------------------------------------------- | -------------------------------------------------------- | +| [User Guide](docs/USER_GUIDE.md) | Udbydere, kombinationer, CLI-integration, implementering | +| [API Reference](docs/API_REFERENCE.md) | Alle endepunkter med eksempler | +| [Troubleshooting](docs/TROUBLESHOOTING.md) | Almindelige problemer og løsninger | +| [Architecture](docs/ARCHITECTURE.md) | Systemarkitektur og indre | +| [Contributing](CONTRIBUTING.md) | Udviklingsopsætning og retningslinjer | +| [OpenAPI Spec](docs/openapi.yaml) | OpenAPI 3.0-specifikation | +| [Security Policy](SECURITY.md) | Sårbarhedsrapportering og sikkerhedspraksis | +| [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | Komplet guide: VM + nginx + Cloudflare opsætning | +| [Features Gallery](docs/FEATURES.md) | Visuel dashboard-rundvisning med skærmbilleder | + +### 📸 Dashboard Preview + +
+Klik for at se skærmbilleder af dashboard + +| Side | Skærmbillede | +| ----------------- | ------------------------------------------------- | +| **Udbydere** | ![Providers](docs/screenshots/01-providers.png) | +| **Komboer** | ![Combos](docs/screenshots/02-combos.png) | +| **Analyse** | ![Analytics](docs/screenshots/03-analytics.png) | +| **Sundhed** | ![Health](docs/screenshots/04-health.png) | +| **Oversætter** | ![Translator](docs/screenshots/05-translator.png) | +| **Indstillinger** | ![Settings](docs/screenshots/06-settings.png) | +| **CLI-værktøjer** | ![CLI Tools](docs/screenshots/07-cli-tools.png) | +| **Brugslogfiler** | ![Usage](docs/screenshots/08-usage.png) | +| **Endpunkt** | ![Endpoint](docs/screenshots/09-endpoint.png) | + +
+ +--- + +## 🗺️ Køreplan + +OmniRoute har **210+ funktioner planlagt** på tværs af flere udviklingsfaser. Her er nøgleområderne: + +| Kategori | Planlagte funktioner | Højdepunkter | +| -------------------------------- | -------------------- | ---------------------------------------------------------------------------------------------------------- | +| 🧠 **Routing & intelligens** | 25+ | Routing med laveste latens, tag-baseret routing, kvote preflight, valg af P2C-konto | +| 🔒 **Sikkerhed og overholdelse** | 20+ | SSRF-hærdning, tilsløring af legitimationsoplysninger, hastighedsgrænse pr. slutpunkt, styringsnøgleomfang | +| 📊 **Observabilitet** | 15+ | OpenTelemetry-integration, kvoteovervågning i realtid, omkostningssporing pr. model | +| 🔄 **Udbyderintegrationer** | 20+ | Dynamisk modelregistrering, udbydernedkøling, multi-konto Codex, Copilot-kvoteparsing | +| ⚡ **Ydeevne** | 15+ | Dobbelt cachelag, promptcache, svarcache, streaming keepalive, batch API | +| 🌐 **Økosystem** | 10+ | WebSocket API, config hot-reload, distribueret config butik, kommerciel tilstand | + +### 🔜 Kommer snart + +- 🔗 **OpenCode-integration** — Native udbyderunderstøttelse af OpenCode AI-kodnings-IDE +- 🔗 **TRAE-integration** — Fuld understøttelse af TRAE AI-udviklingsrammen +- 📦 **Batch API** — Asynkron batchbehandling til masseanmodninger +- 🎯 **Tag-baseret Routing** — Ruteanmodninger baseret på tilpassede tags og metadata +- 💰 **Laveste omkostningsstrategi** — Vælg automatisk den billigste tilgængelige udbyder + +> 📝 Fuld funktionsspecifikationer tilgængelige i [**OMNI_TOKEN_147**](docs/new-features/) (217 detaljerede specifikationer) + +--- + +## 📧 Support + +> 💬 **Tilmeld dig vores fællesskab!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Få hjælp, del tips, og hold dig opdateret. + +- **Websted**: [omniroute.online](https://omniroute.online) +- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) +- **Problemer**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) +- **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) +- **Originalt projekt**: [9router by decolua](https://github.com/decolua/9router) + +--- + +## 👥 Bidragydere + +[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) + +### Sådan bidrager du + +1. Fork depotet +2. Opret din funktionsgren (`git checkout -b feature/amazing-feature`) +3. Bekræft dine ændringer (`git commit -m 'Add amazing feature'`) +4. Skub til grenen (`git push origin feature/amazing-feature`) +5. Åbn en pull-anmodning + +Se [CONTRIBUTING.md](CONTRIBUTING.md) for detaljerede retningslinjer. + +### Frigiver en ny version + +```bash +# Create a release — npm publish happens automatically +gh release create v1.0.6 --title "v1.0.6" --generate-notes +``` + +--- + +## 📊 Stjernehistorie + + + + + + Star History Chart + + + +--- + +## 🙏 Tak + +Særlig tak til **[9router](https://github.com/decolua/9router)** af **[decolua](https://github.com/decolua)** — det originale projekt, der inspirerede denne gaffel. OmniRoute bygger på det utrolige fundament med yderligere funktioner, multimodale API'er og en fuld TypeScript-omskrivning. + +Særlig tak til **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — den originale Go-implementering, der inspirerede denne JavaScript-port. + +--- + +## 📄 Licens + +MIT-licens - se [LICENSE](LICENSE) for detaljer. + +--- + +--- + +## 🇧🇷 OmniRoute — Gateway de IA Gratis + + + +### Nunca pare de codar. Roteamento inteligente para **modelos de IA GRATUITOS e de baixo custo** com fallback automático. + +_Seu proxy universal de API — et slutpunkt, 36+ tests, nul nedetid._ + +### 🌐 Internacionalização (i18n) + +O dashboard til OmniRoute understøtter **multiplos idiomas**. Atualmente disponível em: + +| Idioma | Kode | Status | +| --------------------- | ------- | ---------- | +| 🇺🇸 Engelsk | `en` | ✅ Komplet | +| 🇧🇷 Português (Brasil) | `pt-BR` | ✅ Komplet | + +**Para trocar o idioma:** Click no selector de idioma (🇺🇸 EN) no header do dashboard → selection o idioma desejado. + +**Sådan tilføjes et nyt formsprog:** + +1. Crie `src/i18n/messages/{codigo}.json` baseado em `en.json` +2. Adicione o código em `src/i18n/config.ts` → `LOCALES` og `LANGUAGES` +3. Reinicie o servidor + +### ⚡ Início Rápido + +```bash +# Instalar via npm +npx omniroute@latest + +# Ou rodar do código-fonte +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +### 🐳 Docker + +```bash +docker run -d --name omniroute -p 20128:20128 diegosouzapw/omniroute:latest +``` + +### 🔑 Funcionalidades Principais + +- **36+ provedores de IA** — Claude, GPT, Gemini, Llama, Qwen, DeepSeek, e mais +- **Roteamento inteligente** — Fallback automático entre provedores +- **Tradução de formato** — OpenAI ↔ Claude ↔ Gemini automaticamente +- **Multi-conta** — Múltiplas contas por provedor com seleção inteligente +- **Cache semântico** — Reduz custos e latência +- **OAuth automático** — Tokens renovam automaticamente +- **Combos personalizados** — 6 estratégias de roteamento +- **Dashboard komplet** — Overvågning, logfiler, analyser, konfigurationer +- **CLI Tools** — Konfigurer Claude Code, Codex, Cursor, Cline com um clique +- **100% TypeScript** — Código limpo e tipado + +### 📖 Dokumentation + +| Dokument | Beskrivelse | +| ----------------------------------------------- | ---------------------------------------------- | +| [Guia do Usuário](docs/USER_GUIDE.md) | Provedores, combos, CLI, implementering | +| [Referência da API](docs/API_REFERENCE.md) | Todos os endepunkter com eksempler | +| [Solução de Problemas](docs/TROUBLESHOOTING.md) | Problemas comuns e soluções | +| [Arquitetura](docs/ARCHITECTURE.md) | Arquitetura e internos do systema | +| [Contribuição](CONTRIBUTING.md) | Opsætning af desenvolvimento og retningslinjer | +| [Deploy em VM](docs/VM_DEPLOYMENT_GUIDE.md) | Komplet: VM + nginx + Cloudflare | + +### 📧 Støtte + +> 💬 **Entre para a comunidade!** [Grupo WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Træk til, kompartilhe dicas e fique atualizado. + +- **Websted**: [omniroute.online](https://omniroute.online) +- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) +- **Problemer**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) + +--- + +
+ Bygget med ❤️ for udviklere, der koder 24/7 +
+ omniroute.online +
diff --git a/README.de.md b/README.de.md index d3b5166fac..5236e8ca56 100644 --- a/README.de.md +++ b/README.de.md @@ -104,7 +104,7 @@ _Verbinde jedes KI-gesteuerte IDE- oder CLI-Tool über OmniRoute — kostenloses [🌐 Website](https://omniroute.online) • [🚀 Schnellstart](#-schnellstart) • [💡 Funktionen](#-hauptfunktionen) • [📖 Doku](#-dokumentation) • [💰 Preise](#-preisübersicht) -🌐 **Verfügbar in:** [English](README.md) | [Português](README.pt-BR.md) | [Español](README.es.md) | [Русский](README.ru.md) | [中文](README.zh-CN.md) | [Deutsch](README.de.md) | [Français](README.fr.md) | [Italiano](README.it.md) +🌐 **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) diff --git a/README.es.md b/README.es.md index 072f81d3d3..c8c95bd5c3 100644 --- a/README.es.md +++ b/README.es.md @@ -104,7 +104,7 @@ _Conecta cualquier IDE o herramienta CLI con IA a través de OmniRoute — gatew [🌐 Website](https://omniroute.online) • [🚀 Inicio Rápido](#-inicio-rápido) • [💡 Características](#-características-principales) • [📖 Docs](#-documentación) • [💰 Precios](#-precios-resumidos) -🌐 **Disponible en:** [English](README.md) | [Português](README.pt-BR.md) | [Español](README.es.md) | [Русский](README.ru.md) | [中文](README.zh-CN.md) | [Deutsch](README.de.md) | [Français](README.fr.md) | [Italiano](README.it.md) +🌐 **Disponible en:** 🇺🇸 [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) diff --git a/README.fi.md b/README.fi.md new file mode 100644 index 0000000000..2420e7f72e --- /dev/null +++ b/README.fi.md @@ -0,0 +1,1238 @@ +
+ OmniRoute Dashboard + + # 🚀 OmniRoute — ilmainen tekoälyyhdyskäytävä + +🌐 **[English](#-omniroute--the-free-ai-gateway)** | **[Português (BR)](#-omniroute--gateway-de-ia-gratuito)** + +### Älä koskaan lopeta koodaamista. Älykäs reititys **ILMAisiin ja edullisiin tekoälymalleihin** automaattisella varalla. + +_Universaali API-välityspalvelin – yksi päätepiste, yli 36 palveluntarjoajaa, nolla seisokkia._ + +**Pikaviestien loppuun saattaminen • upotukset • kuvien luominen • ääni • uudelleensijoitus • 100 % TypeScript** + +--- + +### 🤖 Ilmainen AI Provider suosikkikoodaajillesi + +_Yhdistä mikä tahansa tekoälyllä toimiva IDE- tai CLI-työkalu OmniRouten kautta – ilmainen API-yhdyskäytävä rajoittamattomaan koodaukseen._ + + + + + + + + + + + + + + + + +
+ + OpenClaw
+ OpenClaw +

+ ⭐ 205K +
+ + NanoBot
+ NanoBot +

+ ⭐ 20.9K +
+ + PicoClaw
+ PicoClaw +

+ ⭐ 14.6K +
+ + ZeroClaw
+ ZeroClaw +

+ ⭐ 9.9K +
+ + IronClaw
+ IronClaw +

+ ⭐ 2.1K +
+ + OpenCode
+ OpenCode +

+ ⭐ 106K +
+ + Codex CLI
+ Codex CLI +

+ ⭐ 60.8K +
+ + Claude Code
+ Claude Code +

+ ⭐ 67.3K +
+ + Gemini CLI
+ Gemini CLI +

+ ⭐ 94.7K +
+ + Kilo Code
+ Kilo Code +

+ ⭐ 15.5K +
+ +📡 Kaikki agentit muodostavat yhteyden kautta http://localhost:20128/v1 tai http://cloud.omniroute_EN_2NI4/v_1_TO_OM. konfiguraatio, rajattomat mallit ja kiintiö + +--- + +[![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) +[![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) +[![License](https://img.shields.io/github/license/diegosouzapw/OmniRoute)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE) +[![Website](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) +[![WhatsApp](https://img.shields.io/badge/WhatsApp-Community-25D366?logo=whatsapp&logoColor=white)](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) + +
+ +--- + +## 🤔 Miksi OmniRoute? + +**Lopeta rahan tuhlaaminen ja rajojen ylittäminen:** + +- Tilauskiintiö vanhenee käyttämättä joka kuukausi +- Korjausrajoitukset estävät sinua kesken koodaamisen +- kalliita sovellusliittymiä (20-50 $/kk per tarjoaja) +- Manuaalinen vaihtaminen palveluntarjoajien välillä + +**OmniRoute ratkaisee tämän:** + +- ✅ **Maksimoi tilaukset** - Seuraa kiintiötä, käytä jokainen bitti ennen nollausta +- ✅ **Automaattinen palautus** - Tilaus → API-avain → Halpa → Ilmainen, nolla seisonta-aikaa +- ✅ **Moni tili** - Pyöreä haku tilien välillä per palveluntarjoaja +- ✅ **Universaali** - Toimii Claude Coden, Codexin, Gemini CLI:n, Cursorin, Clinen, OpenClawin ja minkä tahansa CLI-työkalun kanssa + +--- + +## 🔄 Näin se toimii + +``` +┌─────────────┐ +│ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) +│ Tool │ +└──────┬──────┘ + │ http://localhost:20128/v1 + ↓ +┌─────────────────────────────────────────┐ +│ OmniRoute (Smart Router) │ +│ • Format translation (OpenAI ↔ Claude) │ +│ • Quota tracking + Embeddings + Images │ +│ • Auto token refresh │ +└──────┬──────────────────────────────────┘ + │ + ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI + │ ↓ quota exhausted + ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc. + │ ↓ budget limit + ├─→ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M) + │ ↓ budget limit + └─→ [Tier 4: FREE] iFlow, Qwen, Kiro (unlimited) + +Result: Never stop coding, minimal cost +``` + +--- + +## ⚡ Pika-aloitus + +**1. Asenna maailmanlaajuisesti:** + +```bash +npm install -g omniroute +omniroute +``` + +🎉 Hallintapaneeli avautuu klo `http://localhost:20128` + +| Komento | Kuvaus | +| ----------------------- | --------------------------------------- | +| `omniroute` | Käynnistä palvelin (oletusportti 20128) | +| `omniroute --port 3000` | Käytä mukautettua porttia | +| `omniroute --no-open` | Älä avaa selainta automaattisesti | +| `omniroute --help` | Näytä ohje | + +**2. Yhdistä ILMAINEN palveluntarjoaja:** + +Kojelauta → Palveluntarjoajat → Yhdistä **Claude Code** tai **Antigravity** → OAuth-kirjautuminen → Valmis! + +**3. Käytä CLI-työkalussasi:** + +``` +Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings: + Endpoint: http://localhost:20128/v1 + API Key: [copy from dashboard] + Model: if/kimi-k2-thinking +``` + +**Siinä se!** Aloita koodaus ILMAISTEN AI-malleilla. + +**Vaihtoehto – suorita lähteestä:** + +```bash +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +--- + +## 🐳 Docker + +OmniRoute on saatavilla julkisena Docker-kuvana osoitteessa [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute). + +**Pikaajo:** + +```bash +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**Ympäristötiedostolla:** + +```bash +# Copy and edit .env first +cp .env.example .env + +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + --env-file .env \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**Docker Composen käyttäminen:** + +```bash +# Base profile (no CLI tools) +docker compose --profile base up -d + +# CLI profile (Claude Code, Codex, OpenClaw built-in) +docker compose --profile cli up -d +``` + +| Kuva | Tag | Koko | Kuvaus | +| ------------------------ | -------- | ------- | -------------------- | +| `diegosouzapw/omniroute` | `latest` | ~250 Mt | Uusin vakaa julkaisu | +| `diegosouzapw/omniroute` | `1.0.3` | ~250 Mt | Nykyinen versio | + +--- + +## 💰 Hinnoittelu yhdellä silmäyksellä + +| Taso | Palveluntarjoaja | Kustannukset | Kiintiön nollaus | Paras | +| ---------------- | ----------------- | ------------------------------ | ---------------------- | -------------------------- | +| **💳 TILAUS** | Claude Code (Pro) | 20 dollaria/kk | 5h + viikoittain | jo tilattu | +| | Codex (Plus/Pro) | 20-200 $/kk | 5h + viikoittain | OpenAI-käyttäjät | +| | Gemini CLI | **ILMAINEN** | 180 tk/kk + 1 tk/päivä | Kaikki! | +| | GitHub Copilot | 10-19 $/kk | Kuukausittain | GitHub-käyttäjät | +| **🔑 API-AVAIN** | NVIDIA NIM | **ILMAINEN** (1000 krediittiä) | Kertaluonteinen | Ilmainen tasotestaus | +| | DeepSeek | Maksu per käyttö | Ei yhtään | Paras hinta/laatu | +| | Groq | Ilmainen taso + maksettu | Hinta rajoitettu | Erittäin nopea johtopäätös | +| | xAI (Grok) | Maksu per käyttö | Ei yhtään | Grok mallit | +| | Mistral | Ilmainen taso + maksettu | Hinta rajoitettu | Eurooppalainen tekoäly | +| | OpenRouter | Maksu per käyttö | Ei yhtään | 100+ mallia | +| **💰 EDULLISET** | GLM-4.7 | 0,6 $/1 milj. | Päivittäin klo 10 | Budjetin varmuuskopio | +| | MiniMax M2.1 | 0,2 $/1 milj. | 5 tunnin rullaus | Halvin vaihtoehto | +| | Kimi K2 | 9 dollaria/kk asunto | 10 milj. rahakkeita/kk | Ennustettavat kustannukset | +| **🆓 ILMAINEN** | iFlow | 0 dollaria | Rajoittamaton | 8 mallia ilmaiseksi | +| | Qwen | 0 dollaria | Rajoittamaton | 3 mallia ilmaiseksi | +| | Kiro | 0 dollaria | Rajoittamaton | Claude ilmaiseksi | + +**💡 Pro-vinkki:** Aloita Gemini CLI:llä (180 000 ilmaista kuukaudessa) + iFlow (rajoittamaton ilmainen) -yhdistelmä = 0 dollarin hinta! + +--- + +## 🎯 Käyttökotelot + +### Tapaus 1: "Minulla on Claude Pro -tilaus" + +**Ongelma:** Kiintiö vanhenee käyttämättä, nopeusrajoitukset raskaan koodauksen aikana + +``` +Combo: "maximize-claude" + 1. cc/claude-opus-4-6 (use subscription fully) + 2. glm/glm-4.7 (cheap backup when quota out) + 3. if/kimi-k2-thinking (free emergency fallback) + +Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total +vs. $20 + hitting limits = frustration +``` + +### Tapaus 2: "Haluan ilman kustannuksia" + +**Ongelma:** Ei ole varaa tilauksiin, tarvitaan luotettavaa tekoälykoodausta + +``` +Combo: "free-forever" + 1. gc/gemini-3-flash (180K free/month) + 2. if/kimi-k2-thinking (unlimited free) + 3. qw/qwen3-coder-plus (unlimited free) + +Monthly cost: $0 +Quality: Production-ready models +``` + +### Tapaus 3: "Tarvitsen 24/7-koodausta, ei keskeytyksiä" + +**Ongelma:** Määräajat, seisokkeihin ei ole varaa + +``` +Combo: "always-on" + 1. cc/claude-opus-4-6 (best quality) + 2. cx/gpt-5.2-codex (second subscription) + 3. glm/glm-4.7 (cheap, resets daily) + 4. minimax/MiniMax-M2.1 (cheapest, 5h reset) + 5. if/kimi-k2-thinking (free unlimited) + +Result: 5 layers of fallback = zero downtime +``` + +### Tapaus 4: "Haluan ILMAISTA tekoälyä OpenClawissa" + +**Ongelma:** Tarvitset AI-avustajan viestisovelluksissa, täysin ilmainen + +``` +Combo: "openclaw-free" + 1. if/glm-4.7 (unlimited free) + 2. if/minimax-m2.1 (unlimited free) + 3. if/kimi-k2-thinking (unlimited free) + +Monthly cost: $0 +Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal... +``` + +--- + +## 💡 Tärkeimmät ominaisuudet + +### 🧠 Ydinreititys ja älykkyys + +| Ominaisuus | Mitä se tekee | +| ------------------------------------- | --------------------------------------------------------------------------------------------- | +| 🎯 **Smart 4-Tier Fallback** | Automaattinen reitti: Tilaus → API-avain → Halpa → Ilmainen | +| 📊 **Reaaliaikainen kiintiöseuranta** | Live-tunnusten määrä + nollaa lähtölaskenta palveluntarjoajaa kohti | +| 🔄 **Käännösmuoto** | OpenAI ↔ Claude ↔ Kaksoset ↔ Kursori ↔ Kiro saumaton + vastaus desinfiointi | +| 👥 **Useiden tilien tuki** | Useita tilejä per palveluntarjoaja älykkäällä valinnalla | +| 🔄 **Automaattinen Token Refresh** | OAuth-tunnukset päivittyvät automaattisesti yrittämällä uudelleen | +| 🎨 **Muokatut yhdistelmät** | 6 strategiaa: fill-first, round-robin, p2c, satunnainen, vähiten käytetty, kustannusoptimoitu | +| 🧩 **Räätälöidyt mallit** | Lisää mikä tahansa mallitunnus mille tahansa toimittajalle | +| 🌐 **Wildcard-reititin** | Reititä `provider/*` mallit mille tahansa palveluntarjoajalle dynaamisesti | +| 🧠 **Ajatteleva budjetti** | Läpivienti-, automaatti-, mukautetut ja mukautuvat tilat päättelymalleille | +| 💬 **Järjestelmän pikaruiskutus** | Maailmanlaajuinen järjestelmäkehote käytössä kaikissa pyynnöissä | +| 📄 **Responses API** | Täysi OpenAI Responses API (`/v1/responses`) tuki Codexille | + +### 🎵 Multimodaaliset sovellusliittymät + +| Ominaisuus | Mitä se tekee | +| ------------------------- | --------------------------------------------------------- | +| 🖼️ **Kuvan luominen** | `/v1/images/generations` — 4 toimittajaa, 9+ mallia | +| 📐 **Upotukset** | `/v1/embeddings` — 6 toimittajaa, 9+ mallia | +| 🎤 **Äänitranskriptio** | `/v1/audio/transcriptions` — Kuiskausyhteensopiva | +| 🔊 **Tekstistä puheeksi** | `/v1/audio/speech` — Usean palveluntarjoajan äänisynteesi | +| 🛡️ **Moderaatiot** | `/v1/moderations` — Sisällön turvallisuustarkistukset | +| 🔀 **Uudelleenjärjestys** | `/v1/rerank` — Asiakirjan osuvuuden uudelleensijoitus | + +### 🛡️ Joustavuus ja turvallisuus + +| Ominaisuus | Mitä se tekee | +| ----------------------------------------- | ------------------------------------------------------------------------------------------------ | +| 🔌 **Katkaisija** | Automaattinen avaaminen/sulkeminen palveluntarjoajakohtaisesti konfiguroitavilla kynnysarvoilla | +| 🛡️ **Ukkosen vastainen lauma** | Mutex + semaforin nopeusrajoitus API-avainten tarjoajille | +| 🧠 **Semanttinen välimuisti** | Kaksitasoinen välimuisti (allekirjoitus + semanttinen) vähentää kustannuksia ja viivettä | +| ⚡ **Pyydä idempotenssia** | 5s dedup-ikkuna päällekkäisille pyynnöille | +| 🔒 **TLS-sormenjälkien huijaus** | Ohita TLS-pohjainen bot-tunnistus wreq-js:n avulla | +| 🌐 **IP-suodatus** | API-käyttöoikeuksien hallinnan sallittu-/estoluettelo | +| 📊 **Muokattavat hintarajat** | Konfiguroitava kierrosluku, minimiväli ja suurin samanaikainen järjestelmätasolla | +| 🛡 **API Endpoint Protection** | Todennusportin + tarjoajan esto `/models`-päätepisteelle | +| 🔒 **Välityspalvelimen näkyvyys** | Värikoodatut merkit: 🟢 maailmanlaajuinen, 🟡 tarjoaja, 🔵 yhteyskohtainen IP-näytöllä | +| 🌐 **3-tason välityspalvelimen määritys** | Määritä välityspalvelimet maailmanlaajuisesti, palveluntarjoajakohtaisesti tai yhteyskohtaisesti | + +### 📊 Havaittavuus ja analytiikka + +| Ominaisuus | Mitä se tekee | +| ------------------------------------- | ----------------------------------------------------------------------------------------------------- | +| 📝 **Pyydä kirjaamista** | Vianetsintätila täydellisillä pyyntö-/vastauslokeilla | +| 💾 **SQLite-välityspalvelimen lokit** | Pysyvät välityspalvelimen lokit selviävät palvelimen uudelleenkäynnistyksistä | +| 📊 **Analytics Dashboard** | Recharts-powered: tilastokortit, mallin käyttökaavio, toimittajataulukko | +| 📈 **Edistyksen seuranta** | Ota SSE:n edistymistapahtumat käyttöön suoratoistoa varten | +| 🧪 **LLM-arvioinnit** | Kultaisen setin testaus 4 ottelustrategialla | +| 🔍 **Pyydä telemetriaa** | p50/p95/p99 latenssiaggregointi + X-Request-Id-jäljitys | +| 📋 **Lokien hallintapaneeli** | Yhdistetty 4-välilehden sivu: pyyntölokit, välityspalvelimen lokit, tarkastuslokit, konsoli | +| 🖥️ **Console Log Viewer** | Reaaliaikainen pääte-tyylinen katseluohjelma tasosuodattimella, haulla, automaattisella vierityksellä | +| 📑 **Tiedostopohjainen kirjaus** | Konsolin sieppaaja kaappaa kaiken lähdön JSON-lokitiedostoon pyörittämällä | +| 🏥 **Terveyden hallintapaneeli** | Järjestelmän käytettävyys, katkaisijoiden tilat, lukitukset, välimuistitilastot | +| 💰 **Kustannusseuranta** | Budjetin hallinta + mallikohtainen hinnoittelu | + +### ☁️ Käyttöönotto ja synkronointi + +| Ominaisuus | Mitä se tekee | +| ----------------------------------- | -------------------------------------------------------------------------------- | +| 💾 **Cloud Sync** | Synkronoi asetukset laitteiden välillä Cloudflare Workersin kautta | +| 🌐 **Ota käyttöön missä tahansa** | Localhost, VPS, Docker, Cloudflare Workers | +| 🔑 **API-avainten hallinta** | Luo, kierrä ja laajenna API-avaimia tarjoajakohtaisesti | +| 🧙 **Ohjattu käyttöönottotoiminto** | 4-vaiheinen ohjattu asennus ensikertalaisille | +| 🔧 **CLI Tools Dashboard** | Määritä yhdellä napsautuksella Claude, Codex, Cline, OpenClaw, Kilo, Antigravity | +| 🔄 **DB-varmuuskopiot** | Automaattinen varmuuskopiointi, palautus, vienti ja tuonti kaikille asetuksille | +| 🌐 **Kansainvälistyminen** | Täysi i18n next-intl:llä — Englanti + portugali (Brasilia) tuki | +| 🌍 **Kielenvalitsin** | Maapallokuvake otsikossa reaaliaikaista kielenvaihtoa varten (🇺🇸/🇧🇷) | +| 📂 **Muokattu tietohakemisto** | `DATA_DIR` env var ohittaa oletusarvoisen `~/.omniroute`-tallennuspolun | + +
+📖 Ominaisuuden tiedot + +### 🎯 Älykäs 4-tasoinen varavaihtoehto + +Luo komboja automaattisella varalla: + +``` +Combo: "my-coding-stack" + 1. cc/claude-opus-4-6 (your subscription) + 2. nvidia/llama-3.3-70b (free NVIDIA API) + 3. glm/glm-4.7 (cheap backup, $0.6/1M) + 4. if/kimi-k2-thinking (free fallback) + +→ Auto switches when quota runs out or errors occur +``` + +### 📊 Reaaliaikainen kiintiöseuranta + +- Token-kulutus palveluntarjoajaa kohti +- Nollaa lähtölaskenta (5 tuntia, päivittäin, viikoittain) +- Kustannusarvio maksetuille tasoille +- Kuukausittaiset kuluraportit + +### 🔄 Muotoile käännös + +Saumaton käännös muotojen välillä: + +- **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **OpenAI-vastaukset** +- CLI-työkalusi lähettää OpenAI-muodon → OmniRoute kääntää → Palveluntarjoaja vastaanottaa alkuperäisen muodon +- Toimii minkä tahansa työkalun kanssa, joka tukee mukautettuja OpenAI-päätepisteitä +- **Vastauksen desinfiointi** - Poistaa standardista poikkeavat kentät tiukan OpenAI SDK -yhteensopivuuden varmistamiseksi +- **Roolin normalisointi** — `developer` → `system` ei-OpenAI:lle; `system` → `user` GLM/ERNIE-malleille +- **Ajattele tunnisteen purkaminen** — `` lohkot → `reasoning_content` ajattelumalleille +- **Strukturoitu tulos** — `json_schema` → Geminin `responseMimeType`/`responseSchema` + +### 👥 Usean tilin tuki + +- Lisää useita tilejä palveluntarjoajaa kohti +- Automaattinen round-robin tai prioriteettipohjainen reititys +- Takaisin seuraavalle tilille, kun kiintiö saavutetaan + +### 🔄 Tokenin automaattinen päivitys + +- OAuth-tunnukset päivittyvät automaattisesti ennen vanhenemista +- Manuaalista uudelleentodennusta ei tarvita +- Saumaton kokemus kaikilta palveluntarjoajilta + +### 🎨 Mukautetut yhdistelmät + +- Luo rajattomasti malliyhdistelmiä +- 6 strategiaa: täytä ensin, round-robin, kahden valinnan teho, satunnainen, vähiten käytetty, kustannusoptimoitu +- Jaa komboja laitteiden välillä Cloud Sync -sovelluksella + +### 🏥 Health Dashboard + +- Järjestelmän tila (käyttöaika, versio, muistin käyttö) +- Katkaisijoiden tilat palveluntarjoajan mukaan (suljettu/auki/puoliauki) +- Hintarajoituksen tila ja aktiiviset lukitukset +- Allekirjoitusvälimuistin tilastot +- Latenssi-telemetria (p50/p95/p99) + välimuisti +- Palauta terveydentila yhdellä napsautuksella + +### 🔧 Kääntäjän leikkikenttä + +OmniRoute sisältää tehokkaan sisäänrakennetun Translator Playgroundin, jossa on **4 tilaa** virheenkorjausta, testausta ja API-käännösten seurantaa varten: + +| Tila | Kuvaus | +| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **💻 Leikkikenttä** | Suoramuotoinen käännös — liitä mikä tahansa API-pyynnön runko ja katso heti, kuinka OmniRoute kääntää sen toimittajamuotojen välillä (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). Sisältää esimerkkimalleja ja muotojen automaattisen tunnistuksen. | +| **💬 Chat Tester** | Lähetä todellisia chat-pyyntöjä OmniRouten kautta ja katso koko meno-paluu: syötteesi, käännetty pyyntö, palveluntarjoajan vastaus ja käännetty vastaus takaisin. Korvaamaton yhdistelmäreitityksen vahvistamisessa. | +| **🧪 Testipenkki** | Erätestaustila — määritä useita testitapauksia eri tuloilla ja odotettavissa olevilla lähdöillä, suorita ne kaikki kerralla ja vertaile tuloksia eri toimittajien ja mallien välillä. | +| **📱 Live Monitor** | Reaaliaikainen pyyntöjen seuranta – seuraa saapuvia pyyntöjä niiden kulkeessa OmniRouten kautta, katso muotokäännökset reaaliajassa ja tunnista ongelmat välittömästi. | + +**Käyttö:** Kojelauta → Kääntäjä (sivupalkki) + +### 💾 Cloud Sync + +- Synkronoi palveluntarjoajat, yhdistelmät ja asetukset eri laitteiden välillä +- Automaattinen taustasynkronointi +- Suojattu salattu tallennustila + +
+ +--- + +## 📖 Asennusopas + +
+💳 Tilauksen tarjoajat + +### Claude Code (Pro/Max) + +```bash +Dashboard → Providers → Connect Claude Code +→ OAuth login → Auto token refresh +→ 5-hour + weekly quota tracking + +Models: + cc/claude-opus-4-6 + cc/claude-sonnet-4-5-20250929 + cc/claude-haiku-4-5-20251001 +``` + +**Provinkki:** Käytä Opusta monimutkaisiin tehtäviin ja Sonnetia nopeutta varten. OmniRoute jäljityskiintiö mallia kohden! + +### OpenAI Codex (Plus/Pro) + +```bash +Dashboard → Providers → Connect Codex +→ OAuth login (port 1455) +→ 5-hour + weekly reset + +Models: + cx/gpt-5.2-codex + cx/gpt-5.1-codex-max +``` + +### Gemini CLI (ILMAINEN 180 000/kk!) + +```bash +Dashboard → Providers → Connect Gemini CLI +→ Google OAuth +→ 180K completions/month + 1K/day + +Models: + gc/gemini-3-flash-preview + gc/gemini-2.5-pro +``` + +**Paras hinta-laatusuhde:** Valtava ilmainen taso! Käytä tätä ennen maksettuja tasoja. + +### GitHub Copilot + +```bash +Dashboard → Providers → Connect GitHub +→ OAuth via GitHub +→ Monthly reset (1st of month) + +Models: + gh/gpt-5 + gh/claude-4.5-sonnet + gh/gemini-3-pro +``` + +
+ +
+🔑 API-avaintoimittajat + +### NVIDIA NIM (ILMAINEN 1000 krediittiä!) + +1. Rekisteröidy: [build.nvidia.com](https://build.nvidia.com) +2. Hanki ilmainen API-avain (sisältää 1000 johtopäätöskrediittiä) +3. Kojelauta → Lisää toimittaja → NVIDIA NIM: + - API-avain: `nvapi-your-key` + +**Mallit:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct` ja yli 50 muuta + +**Provinkki:** OpenAI-yhteensopiva API – toimii saumattomasti OmniRouten muotokäännöksen kanssa! + +### DeepSeek + +1. Rekisteröidy: [platform.deepseek.com](https://platform.deepseek.com) +2. Hanki API-avain +3. Dashboard → Add Provider → DeepSeek + +**Mallit:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder` + +### Groq (ilmainen taso saatavilla!) + +1. Rekisteröidy: [console.groq.com](https://console.groq.com) +2. Hanki API-avain (ilmainen taso mukana) +3. Dashboard → Add Provider → Groq + +**Mallit:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b` + +**Provinkki:** Erittäin nopea päättely – paras reaaliaikaiseen koodaukseen! + +### OpenRouter (100+ mallia) + +1. Rekisteröidy: [openrouter.ai](https://openrouter.ai) +2. Hanki API-avain +3. Dashboard → Add Provider → OpenRouter + +**Mallit:** Käytä yli 100 mallia kaikilta tärkeimmiltä palveluntarjoajilta yhdellä API-avaimella. + +
+ +
+💰 Halvat palveluntarjoajat (Varmuuskopio) + +### GLM-4.7 (Päivittäinen nollaus, 0,6 $/1 milj.) + +1. Rekisteröidy: [Zhipu AI](https://open.bigmodel.cn/) +2. Hanki API-avain Coding Planista +3. Hallintapaneeli → Lisää API-avain: + - Palveluntarjoaja: `glm` + - API-avain: `your-key` + +**Käytä:** `glm/glm-4.7` + +**Provinkki:** Koodaussuunnitelma tarjoaa 3-kertaisen kiintiön 1/7 hinnalla! Nollaa päivittäin klo 10.00. + +### MiniMax M2.1 (5 h nollaus, 0,20 $/1 milj.) + +1. Rekisteröidy: [MiniMax](https://www.minimax.io/) +2. Hanki API-avain +3. Kojelauta → Lisää API-avain + +**Käytä:** `minimax/MiniMax-M2.1` + +**Ammattilaisen vinkki:** Halvin vaihtoehto pitkälle kontekstille (1 milj. merkkiä)! + +### Kimi K2 (9 dollaria/kk asunto) + +1. Tilaa: [Moonshot AI](https://platform.moonshot.ai/) +2. Hanki API-avain +3. Kojelauta → Lisää API-avain + +**Käytä:** `kimi/kimi-latest` + +**Ammattilaisen vinkki:** Kiinteä 9 dollaria kuukaudessa 10 miljoonalle tokenille = 0,90 dollaria / 1 miljoona todellista hintaa! + +
+ +
+🆓 ILMAISIA palveluntarjoajia (hätävarmuuskopio) + +### iFlow (8 ILMAISTA mallia) + +```bash +Dashboard → Connect iFlow +→ iFlow OAuth login +→ Unlimited usage + +Models: + if/kimi-k2-thinking + if/qwen3-coder-plus + if/glm-4.7 + if/minimax-m2 + if/deepseek-r1 +``` + +### Qwen (3 ILMAISTA mallia) + +```bash +Dashboard → Connect Qwen +→ Device code authorization +→ Unlimited usage + +Models: + qw/qwen3-coder-plus + qw/qwen3-coder-flash +``` + +### Kiro (Claude ILMAINEN) + +```bash +Dashboard → Connect Kiro +→ AWS Builder ID or Google/GitHub +→ Unlimited usage + +Models: + kr/claude-sonnet-4.5 + kr/claude-haiku-4.5 +``` + +
+ +
+🎨 Luo komboja + +### Esimerkki 1: Maksimoi tilaus → Halpa varmuuskopio + +``` +Dashboard → Combos → Create New + +Name: premium-coding +Models: + 1. cc/claude-opus-4-6 (Subscription primary) + 2. glm/glm-4.7 (Cheap backup, $0.6/1M) + 3. minimax/MiniMax-M2.1 (Cheapest fallback, $0.20/1M) + +Use in CLI: premium-coding +``` + +### Esimerkki 2: Vain ilmainen (nollahinta) + +``` +Name: free-combo +Models: + 1. gc/gemini-3-flash-preview (180K free/month) + 2. if/kimi-k2-thinking (unlimited) + 3. qw/qwen3-coder-plus (unlimited) + +Cost: $0 forever! +``` + +
+ +
+🔧 CLI-integrointi + +### Kohdistimen IDE + +``` +Settings → Models → Advanced: + OpenAI API Base URL: http://localhost:20128/v1 + OpenAI API Key: [from OmniRoute dashboard] + Model: cc/claude-opus-4-6 +``` + +### Claude Code + +Käytä kojelaudan **CLI Tools** -sivua määrittääksesi yhdellä napsautuksella tai muokkaa `~/.claude/settings.json` manuaalisesti. + +### Codex CLI + +```bash +export OPENAI_BASE_URL="http://localhost:20128" +export OPENAI_API_KEY="your-omniroute-api-key" + +codex "your prompt" +``` + +### OpenClaw + +**Vaihtoehto 1 – hallintapaneeli (suositus):** + +``` +Dashboard → CLI Tools → OpenClaw → Select Model → Apply +``` + +**Vaihtoehto 2 – Manuaalinen:** Muokkaa `~/.openclaw/openclaw.json`: + +```json +{ + "models": { + "providers": { + "omniroute": { + "baseUrl": "http://127.0.0.1:20128/v1", + "apiKey": "sk_omniroute", + "api": "openai-completions" + } + } + } +} +``` + +> **Huomaa:** OpenClaw toimii vain paikallisen OmniRouten kanssa. Käytä `127.0.0.1` `localhost` sijaan IPv6-resoluutioongelmien välttämiseksi. + +### Cline / Continue / RooCode + +``` +Settings → API Configuration: + Provider: OpenAI Compatible + Base URL: http://localhost:20128/v1 + API Key: [from OmniRoute dashboard] + Model: if/kimi-k2-thinking +``` + +
+ +--- + +## 📊 Saatavilla olevat mallit + +
+Näytä kaikki saatavilla olevat mallit + +**Claude Code (`cc/`)** - Pro/Max: + +- `cc/claude-opus-4-6` +- `cc/claude-sonnet-4-5-20250929` +- `cc/claude-haiku-4-5-20251001` + +**Koodi (`cx/`)** - Plus/Pro: + +- `cx/gpt-5.2-codex` +- `cx/gpt-5.1-codex-max` + +**Gemini CLI (`gc/`)** - ILMAINEN: + +- `gc/gemini-3-flash-preview` +- `gc/gemini-2.5-pro` + +**GitHub Copilot (`gh/`)**: + +- `gh/gpt-5` +- `gh/claude-4.5-sonnet` + +**NVIDIA NIM (`nvidia/`)** - ILMAISIA krediittejä: + +- `nvidia/llama-3.3-70b-instruct` +- `nvidia/mistral-7b-instruct` +- Yli 50 mallia [build.nvidia.com](https://build.nvidia.com) + +**GLM (`glm/`)** - 0,6 $/1 milj.: + +- `glm/glm-4.7` + +**MiniMax (`minimax/`)** - 0,2 $/1 milj. + +- `minimax/MiniMax-M2.1` + +**iFlow (`if/`)** - ILMAINEN: + +- `if/kimi-k2-thinking` +- `if/qwen3-coder-plus` +- `if/deepseek-r1` +- `if/glm-4.7` +- `if/minimax-m2` + +**Qwen (`qw/`)** - ILMAINEN: + +- `qw/qwen3-coder-plus` +- `qw/qwen3-coder-flash` + +**Kiro (`kr/`)** - ILMAINEN: + +- `kr/claude-sonnet-4.5` +- `kr/claude-haiku-4.5` + +**OpenRouter (`or/`)** - 100+ mallia: + +- `or/anthropic/claude-4-sonnet` +- `or/google/gemini-2.5-pro` +- Mikä tahansa malli alkaen [openrouter.ai/models](https://openrouter.ai/models) + +
+ +--- + +## 🧪 Arvioinnit (Evals) + +OmniRoute sisältää sisäänrakennetun arviointikehyksen, jolla testataan LLM-vastauksen laatua kultaiseen joukkoon verrattuna. Käytä sitä kojelaudan **Analytics → Evals** kautta. + +### Sisäänrakennettu kultainen setti + +Esiladattu "OmniRoute Golden Set" sisältää 10 testitapausta, jotka kattavat: + +- Tervehdys, matematiikka, maantiede, koodin luominen +- JSON-muodon noudattaminen, käännös, merkintä +- Turvallisuuskielto (haitallinen sisältö), laskenta, boolen logiikka + +### Arviointistrategiat + +| Strategia | Kuvaus | Esimerkki | +| ---------- | ------------------------------------------------------------------------ | -------------------------------- | +| `exact` | Tulosten on vastattava tarkasti | `"4"` | +| `contains` | Tulosteen tulee sisältää alimerkkijono (kirjainkoolla ei ole merkitystä) | `"Paris"` | +| `regex` | Tulostuksen on vastattava regex-mallia | `"1.*2.*3"` | +| `custom` | Mukautettu JS-funktio palauttaa true/false | `(output) => output.length > 10` | + +--- + +## 🔐 OAuth em Servidor Remoto (OAuth-etäasetus) + + + +> **⚠️ TÄRKEÄÄ käyttäjille com OmniRoute em VPS/Docker/servidor Remoto** + +### Onko OAuth do Antigravity / Gemini CLI falha em servidores Remotos? + +Os provedores **Antigravity** ja **Gemini CLI** usam **Google OAuth 2.0** para autenticação. O Google exige que a `redirect_uri` usada no fluxo OAuth seja **exatamente** uma das URIs pre-cadastradas no Google Cloud Console do aplicativo. + +As credenciais OAuth embutidas no OmniRoute estão cadastradas **apenas para `localhost`**. Quando você acessa o OmniRoute em um servidor Remoto (esim. `https://omniroute.meuservidor.com`), o Google rejeita a autenticação com: + +``` +Error 400: redirect_uri_mismatch +``` + +### Ratkaisu: Määritä suas próprias credenciais OAuth + +Você precisa criar um **OAuth 2.0 Client ID** ei Google Cloud Console com URI do seu servidor. + +#### Passo a passo + +**1. Acesse tai Google Cloud Console** + +Abra: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials) + +**2. Crie um novo OAuth 2.0 -asiakastunnus** + +- Klikkaa em **"+ Luo kirjautumistiedot"** → **"OAuth-asiakastunnus"** +- Tipo de aplicativo: **"Web-sovellus"** +- Nimi: escolha qualquer nome (esim.: `OmniRoute Remote`) + +**3. Adicione valtuutettuina uudelleenohjaus-URI:ina** + +No campo **"Authorized redirect URIs"**, lisäys: + +``` +https://seu-servidor.com/callback +``` + +> Korvaa `seu-servidor.com` pelo dominio tai IP do seu servidor (mukaan lukien porta se necessário, esim. `http://45.33.32.156:20128/callback`). + +**4. Tallenna kopio valtuutuksena** + +Após criar, o Google mostrará o **Client ID** e o **Client Secret**. + +**5. Määritä variáveis de ambiente** + +Ei seu `.env` (ou nas variáveis de ambiente do Docker): + +```bash +# Para Antigravity: +ANTIGRAVITY_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret + +# Para Gemini CLI: +GEMINI_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +``` + +**6. Reinicie o OmniRoute** + +```bash +# Se usando npm: +npm run dev + +# Se usando Docker: +docker restart omniroute +``` + +**7. Tente conectar novamente** + +Dashboard → Providers → Antigravity (ou Gemini CLI) → OAuth + +Agora o Google redirecionará corretamente para `https://seu-servidor.com/callback` e a autenticação funcionará. + +--- + +### Workaround temporário (sem configurar credenciais próprias) + +Se não quiser criar credenciais próprias agora, ainda é possível usar o fluxo **manual de URL**: + +1. OmniRoute lähettää Googlen lupa-osoitteen +2. Após você autorizar, o Google tentará redirecionar para `localhost` (que falha no servidor Remoto) +3. **Kopioi URL-osoite täydellinen** da barra de endereço do seu selaimessa (mesmo que a página não carregue) +4. Cole essa URL no campo que aparece no modal de conexão do OmniRoute +5. Klikkaa em **"Yhdistä"** + +> Este workaround funciona porque o código de autorização na URL é válido independente do redirect ter carregado ou não. + +--- + +## 🐛 Vianetsintä + +
+Laajenna vianetsintäopas napsauttamalla + +**"Kielimalli ei antanut viestejä"** + +- Palveluntarjoajan kiintiö käytetty loppuun → Tarkista kojelaudan kiintiön seuranta +- Ratkaisu: Käytä yhdistelmävaraa tai vaihda halvempaan tasoon + +**hintarajoitus** + +- Tilauskiintiö loppu → Varaa GLM/MiniMaxiin +- Lisää yhdistelmä: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking` + +**OAuth-tunnus vanhentunut** + +- OmniRoute päivittää automaattisesti +- Jos ongelmat jatkuvat: Kojelauta → Palveluntarjoaja → Yhdistä uudelleen + +**Korkeat kustannukset** + +- Tarkista käyttötilastot kohdassa Dashboard → Costs +- Vaihda ensisijaiseksi malliksi GLM/MiniMax +- Käytä ilmaista tasoa (Gemini CLI, iFlow) ei-kriittisiin tehtäviin + +**Kojelauta avautuu väärään porttiin** + +- Aseta `PORT=20128` ja `NEXT_PUBLIC_BASE_URL=http://localhost:20128` + +**Pilvisynkronointivirheet** + +- Vahvista `BASE_URL` pistettä käynnissä olevaan esiintymääsi +- Vahvista `CLOUD_URL` pistettä odotettuun pilvipäätepisteeseen +- Pidä `NEXT_PUBLIC_*`-arvot kohdakkain palvelinpuolen arvojen kanssa + +**Ensimmäinen kirjautuminen ei toimi** + +- Tarkista `INITIAL_PASSWORD` kohteessa `.env` +- Jos ei ole asetettu, varasalasana on `123456` + +**Ei pyyntölokeja** + +- Aseta `ENABLE_REQUEST_LOGS=true` kohteeseen `.env` + +**Yhteystesti näyttää "Virheellinen" OpenAI-yhteensopiville palveluntarjoajille** + +- Monet palveluntarjoajat eivät paljasta `/models`-päätepistettä +- OmniRoute v1.0.6+ sisältää varatarkistuksen chatin loppuunsaattamisen kautta +- Varmista, että perus-URL sisältää `/v1`-liitteen + +
+ +--- + +## 🛠️ Tech Stack + +- **Suoritusaika**: Node.js 18–22 LTS (⚠️ Node.js 24+ -versiota **ei tueta** — `better-sqlite3` alkuperäiset binaarit eivät ole yhteensopivia) +- **Kieli**: TypeScript 5.9 — **100 % TypeScript** `src/` ja `open-sse/` (v1.0.6) välillä +- **Framework**: Next.js 16 + React 19 + Tailwind CSS 4 +- **Tietokanta**: LowDB (JSON) + SQLite (verkkotunnuksen tila + välityspalvelimen lokit) +- **Striimaus**: Palvelimen lähettämät tapahtumat (SSE) +- **Auth**: OAuth 2.0 (PKCE) + JWT + API-avaimet +- **Testaus**: Node.js-testausohjelma (368+ yksikkötestiä) +- **CI/CD**: GitHub Actions (automaattinen npm-julkaisu + Docker Hub julkaisussa) +- **Verkkosivusto**: [omniroute.online](https://omniroute.online) +- **Paketti**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute) +- **Dokkeri**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute) +- **Kestävyys**: Katkaisija, eksponentiaalinen backoff, ukkosen esto, TLS-huijaus + +--- + +## 📖 Dokumentaatio + +| Asiakirja | Kuvaus | +| -------------------------------------------- | ------------------------------------------------------------- | +| [User Guide](docs/USER_GUIDE.md) | Palveluntarjoajat, yhdistelmät, CLI-integrointi, käyttöönotto | +| [API Reference](docs/API_REFERENCE.md) | Kaikki päätepisteet esimerkeineen | +| [Troubleshooting](docs/TROUBLESHOOTING.md) | Yleisiä ongelmia ja ratkaisuja | +| [Architecture](docs/ARCHITECTURE.md) | Järjestelmäarkkitehtuuri ja sisäosat | +| [Contributing](CONTRIBUTING.md) | Kehittämisjärjestelyt ja -ohjeet | +| [OpenAPI Spec](docs/openapi.yaml) | OpenAPI 3.0 -spesifikaatio | +| [Security Policy](SECURITY.md) | Haavoittuvuusraportointi ja tietoturvakäytännöt | +| [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | Täydellinen opas: VM + nginx + Cloudflare-asennus | +| [Features Gallery](docs/FEATURES.md) | Visuaalinen kojelautakierros kuvakaappauksilla | + +### 📸 Kojelaudan esikatselu + +
+Klikkaa nähdäksesi hallintapaneelin kuvakaappaukset + +| Sivu | Kuvakaappaus | +| ---------------- | ------------------------------------------------- | +| **Palvelut** | ![Providers](docs/screenshots/01-providers.png) | +| **Yhdistelmät** | ![Combos](docs/screenshots/02-combos.png) | +| **Analytics** | ![Analytics](docs/screenshots/03-analytics.png) | +| **Terveys** | ![Health](docs/screenshots/04-health.png) | +| **Kääntäjä** | ![Translator](docs/screenshots/05-translator.png) | +| **Asetukset** | ![Settings](docs/screenshots/06-settings.png) | +| **CLI-työkalut** | ![CLI Tools](docs/screenshots/07-cli-tools.png) | +| **Käyttölokit** | ![Usage](docs/screenshots/08-usage.png) | +| **Päätepiste** | ![Endpoint](docs/screenshots/09-endpoint.png) | + +
+ +--- + +## 🗺️ Etenemissuunnitelma + +OmniRoutella on **210+ suunniteltua ominaisuutta** useissa kehitysvaiheissa. Tässä ovat tärkeimmät alueet: + +| Luokka | Suunnitellut ominaisuudet | Kohokohdat | +| ------------------------------------------- | ------------------------- | ---------------------------------------------------------------------------------------------------------- | +| 🧠 **Routing & Intelligence** | 25+ | Pienimmän viiveen reititys, tunnistepohjainen reititys, kiintiön esitarkastus, P2C-tilin valinta | +| 🔒 **Turvallisuus ja vaatimustenmukaisuus** | 20+ | SSRF-karkaisu, valtuustietojen peittäminen, päätepistekohtainen nopeusraja, hallintaavaimen laajuus | +| 📊 **Havaittavuus** | 15+ | OpenTelemetry-integraatio, reaaliaikainen kiintiöiden seuranta, kustannusseuranta mallikohtaisesti | +| 🔄 **Tarjoajien integraatiot** | 20+ | Dynaaminen mallirekisteri, palveluntarjoajan jäähtyminen, usean tilin Codex, Copilot-kiintiön jäsentäminen | +| ⚡ **Suorituskyky** | 15+ | Kaksoisvälimuistikerros, kehotevälimuisti, vastausvälimuisti, suoratoiston ylläpitäminen, erä-API | +| 🌐 **Ekosysteemi** | 10+ | WebSocket API, konfiguroinnin hot-reload, hajautettu konfiguraatiosäilö, kaupallinen tila | + +### 🔜 Tulossa pian + +- 🔗 **OpenCode Integration** - Natiivitoimittajan tuki OpenCode AI -koodaus-IDE:lle +- 🔗 **TRAE-integraatio** — Täysi tuki TRAE AI -kehityskehykselle +- 📦 **Eräsovellusliittymä** — Asynkroninen eräkäsittely joukkopyyntöille +- 🎯 **Tagipohjainen reititys** - Reittipyynnöt mukautettujen tunnisteiden ja metatietojen perusteella +- 💰 **Alhaisimman kustannustason strategia** - Valitse automaattisesti halvin saatavilla oleva palveluntarjoaja + +> 📝 Täydelliset ominaisuudet saatavilla osoitteessa [**OMNI_TOKEN_147**](docs/new-features/) (217 yksityiskohtaista spesifikaatiota) + +--- + +## 📧 Tuki + +> 💬 **Liity yhteisöömme!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Hanki apua, jaa vinkkejä ja pysy ajan tasalla. + +- **Verkkosivusto**: [omniroute.online](https://omniroute.online) +- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) +- **Ongelmia**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) +- **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) +- **Alkuperäinen projekti**: [9router by decolua](https://github.com/decolua/9router) + +--- + +## 👥 Avustajat + +[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) + +### Kuinka osallistua + +1. Haarukka arkisto +2. Luo ominaisuushaara (`git checkout -b feature/amazing-feature`) +3. Vahvista muutokset (`git commit -m 'Add amazing feature'`) +4. Työnnä haaraan (`git push origin feature/amazing-feature`) +5. Avaa vetopyyntö + +Katso tarkemmat ohjeet kohdasta [CONTRIBUTING.md](CONTRIBUTING.md). + +### Uuden version julkaisu + +```bash +# Create a release — npm publish happens automatically +gh release create v1.0.6 --title "v1.0.6" --generate-notes +``` + +--- + +## 📊 Tähtihistoria + + + + + + Star History Chart + + + +--- + +## 🙏 Kiitokset + +Erityinen kiitos **[9router](https://github.com/decolua/9router)**, **[decolua](https://github.com/decolua)** - alkuperäinen projekti, joka inspiroi tätä haarukkaa. OmniRoute rakentaa tälle uskomattomalle perustalle lisäominaisuuksia, multimodaalisia API-liittymiä ja täydellistä TypeScript-uudelleenkirjoitusta. + +Erityinen kiitos **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** - alkuperäiselle Go-toteutukselle, joka inspiroi tätä JavaScript-porttia. + +--- + +## 📄 Lisenssi + +MIT-lisenssi – katso lisätietoja osoitteesta [LICENSE](LICENSE). + +--- + +--- + +## 🇧🇷 OmniRoute — Gateway de IA Gratuito + + + +### Nunca pare de codar. Roteamento inteligente para **mallit de IA GRATUITOS e de baixo custo** com backback automático. + +_Seu välityspalvelin universaali de API — um päätepiste, 36+ valmistajaa, nolla seisokkeja._ + +### 🌐 Internacionalização (i18n) + +OmniRoute-kojelauta tukee **múltiplos idiomas**. Atualmente disponível em: + +| Idioma | Código | Tila | +| ----------------------- | ------- | -------------- | +| 🇺🇸 englanti | `en` | ✅ Täydellinen | +| 🇧🇷 Português (Brasilia) | `pt-BR` | ✅ Täydellinen | + +**Para trocar o idioma:** Clique no seletor de idioma (🇺🇸 FI) no header do dashboard → selecione o idioma desejado. + +**Para adicionar um novo idioma:** + +1. Itke `src/i18n/messages/{codigo}.json` baseado em `en.json` +2. Adicione o código em `src/i18n/config.ts` → `LOCALES` ja `LANGUAGES` +3. Reinicie o servidor + +### ⚡ Início Rápido + +```bash +# Instalar via npm +npx omniroute@latest + +# Ou rodar do código-fonte +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +### 🐳 Docker + +```bash +docker run -d --name omniroute -p 20128:20128 diegosouzapw/omniroute:latest +``` + +### 🔑 Funcionalidades Principais + +- **36+ IA:n tuottajaa** – Claude, GPT, Gemini, Llama, Qwen, DeepSeek, e mais +- **Roteamento inteligente** — Varastoautomatico entre provedores +- **Tradução de formato** — OpenAI ↔ Claude ↔ Gemini automaticamente +- **Multi-conta** — Múltiplas contas por provedor com seleção inteligente +- **Cache semântico** - Reduz custos e latência +- **OAuth automático** — Tokens renovam automaticamente +- **Yhdistelmät personoidut** - 6 estratégias de roteamento +- **Dashboard Completo** - Monitoramento, lokit, analyysit, konfiguraatiot +- **CLI-työkalut** — Määritä Claude Code, Codex, Cursor, Cline com um clique +- **100 % TypeScript** - Código limpo e tipado + +### 📖 Documentação + +| Documento | Kuvaus | +| ----------------------------------------------- | ------------------------------------------- | +| [Guia do Usuário](docs/USER_GUIDE.md) | Provedorit, yhdistelmät, CLI, käyttöönotto | +| [Referência da API](docs/API_REFERENCE.md) | Todos os päätepisteet com exemplos | +| [Solução de Problemas](docs/TROUBLESHOOTING.md) | Problemas comuns e soluções | +| [Arquitetura](docs/ARCHITECTURE.md) | Arquitetura e internos do system | +| [Contribuição](CONTRIBUTING.md) | Desenvolvimento e -ohjeiden asennus | +| [Deploy em VM](docs/VM_DEPLOYMENT_GUIDE.md) | Täydellinen versio: VM + nginx + Cloudflare | + +### 📧 Tuki + +> 💬 **Entre para a comunidade!** [Grupo WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Tire dúvidas, compartilhe dicas e fique atualizado. + +- **Verkkosivusto**: [omniroute.online](https://omniroute.online) +- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) +- **Ongelmia**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) + +--- + +
+ Rakennettu ❤️-kehittäjille, jotka koodaavat 24/7 +
+ omniroute.online +
diff --git a/README.fr.md b/README.fr.md index 1f90edcc24..caa9f55872 100644 --- a/README.fr.md +++ b/README.fr.md @@ -104,7 +104,7 @@ _Connectez n'importe quel IDE ou outil CLI alimenté par l'IA via OmniRoute — [🌐 Site web](https://omniroute.online) • [🚀 Démarrage rapide](#-démarrage-rapide) • [💡 Fonctionnalités](#-fonctionnalités-principales) • [📖 Docs](#-documentation) • [💰 Tarifs](#-aperçu-des-tarifs) -🌐 **Disponible en :** [English](README.md) | [Português](README.pt-BR.md) | [Español](README.es.md) | [Русский](README.ru.md) | [中文](README.zh-CN.md) | [Deutsch](README.de.md) | [Français](README.fr.md) | [Italiano](README.it.md) +🌐 **Disponible en :** 🇺🇸 [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) diff --git a/README.he.md b/README.he.md new file mode 100644 index 0000000000..82bd2f692e --- /dev/null +++ b/README.he.md @@ -0,0 +1,1238 @@ +
+ OmniRoute Dashboard + + # 🚀 OmniRoute — שער הבינה המלאכותית החינמית + +🌐 **[English](#-omniroute--the-free-ai-gateway)** | **[Português (BR)](#-omniroute--gateway-de-ia-gratuito)** + +### לעולם אל תפסיק לקוד. ניתוב חכם לדגמי בינה מלאכותית **בחינם ובעלות נמוכה** עם חזרה אוטומטית. + +_שרת ה-API האוניברסלי שלך - נקודת קצה אחת, 36+ ספקים, אפס זמן השבתה._ + +**השלמות צ'אט • הטמעות • יצירת תמונות • אודיו • דירוג מחדש • 100% TypeScript** + +--- + +### 🤖 ספק AI בחינם עבור סוכני הקידוד המועדפים עליך + +_חבר כל כלי IDE או CLI המופעל על ידי AI דרך OmniRoute - שער API בחינם לקידוד בלתי מוגבל._ + + + + + + + + + + + + + + + + +
+ + OpenClaw
+ OpenClaw +

+ ⭐ 205K +
+ + NanoBot
+ NanoBot +

+ ⭐ 20.9K +
+ + PicoClaw
+ PicoClaw +

+ ⭐ 14.6K +
+ + ZeroClaw
+ ZeroClaw +

+ ⭐ 9.9K +
+ + IronClaw
+ IronClaw +

+ ⭐ 2.1K +
+ + OpenCode
+ OpenCode +

+ ⭐ 106K +
+ + Codex CLI
+ Codex CLI +

+ ⭐ 60.8K +
+ + Claude Code
+ Claude Code +

+ ⭐ 67.3K +
+ + Gemini CLI
+ Gemini CLI +

+ ⭐ 94.7K +
+ + Kilo Code
+ Kilo Code +

+ ⭐ 15.5K +
+ +📡 כל הסוכנים מתחברים דרך http://localhost:20128/v1 או http://cloud.omniroute.online/v1__OMNI_TOKEN_245, —limited one config מכסה + +--- + +[![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) +[![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) +[![License](https://img.shields.io/github/license/diegosouzapw/OmniRoute)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE) +[![Website](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) +[![WhatsApp](https://img.shields.io/badge/WhatsApp-Community-25D366?logo=whatsapp&logoColor=white)](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) + +
+ +--- + +## 🤔 למה OmniRoute? + +**הפסיקו לבזבז כסף ולהגיע לגבולות:** + +- מכסת המנויים מסתיימת ללא שימוש בכל חודש +- מגבלות קצב עוצרות אותך בקידוד באמצע +- ממשקי API יקרים ($20-50 לחודש לכל ספק) +- מעבר ידני בין ספקים + +**OmniRoute פותר את זה:** + +- ✅ **מקסם מנויים** - עקוב אחר מכסת, השתמש בכל סיביות לפני האיפוס +- ✅ **החזר אוטומטי** - מנוי → מפתח API → זול → חינם, אפס זמן השבתה +- ✅ **ריבוי חשבונות** - סיבוב בין חשבונות לכל ספק +- ✅ **אוניברסלי** - עובד עם קלוד קוד, Codex, Gemini CLI, Cursor, Cline, OpenClaw, כל כלי CLI + +--- + +## 🔄 איך זה עובד + +``` +┌─────────────┐ +│ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) +│ Tool │ +└──────┬──────┘ + │ http://localhost:20128/v1 + ↓ +┌─────────────────────────────────────────┐ +│ OmniRoute (Smart Router) │ +│ • Format translation (OpenAI ↔ Claude) │ +│ • Quota tracking + Embeddings + Images │ +│ • Auto token refresh │ +└──────┬──────────────────────────────────┘ + │ + ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI + │ ↓ quota exhausted + ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc. + │ ↓ budget limit + ├─→ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M) + │ ↓ budget limit + └─→ [Tier 4: FREE] iFlow, Qwen, Kiro (unlimited) + +Result: Never stop coding, minimal cost +``` + +--- + +## ⚡ התחלה מהירה + +**1. התקן ברחבי העולם:** + +```bash +npm install -g omniroute +omniroute +``` + +🎉 לוח המחוונים נפתח ב-`http://localhost:20128` + +| פקודה | תיאור | +| ----------------------- | --------------------------------- | +| `omniroute` | התחל שרת (יציאת ברירת מחדל 20128) | +| `omniroute --port 3000` | השתמש ביציאה מותאמת אישית | +| `omniroute --no-open` | אל תפתח אוטומטית את הדפדפן | +| `omniroute --help` | הצג עזרה | + +**2. חבר ספק חינמי:** + +לוח מחוונים ← ספקים ← התחבר **קוד קלוד** או **אנטי כבידה** ← התחברות OAuth ← בוצע! + +**3. השתמש בכלי ה-CLI שלך:** + +``` +Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings: + Endpoint: http://localhost:20128/v1 + API Key: [copy from dashboard] + Model: if/kimi-k2-thinking +``` + +**זהו זה!** התחל לקודד עם דגמי AI בחינם. + +**אלטרנטיבה - הפעל מהמקור:** + +```bash +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +--- + +## 🐳 דוקר + +OmniRoute זמין כתמונת Docker ציבורית ב-[Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute). + +**ריצה מהירה:** + +```bash +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**עם קובץ סביבה:** + +```bash +# Copy and edit .env first +cp .env.example .env + +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + --env-file .env \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**שימוש ב-Docker Compose:** + +```bash +# Base profile (no CLI tools) +docker compose --profile base up -d + +# CLI profile (Claude Code, Codex, OpenClaw built-in) +docker compose --profile cli up -d +``` + +| תמונה | תג | גודל | תיאור | +| ------------------------ | -------- | ------ | ---------------------- | +| `diegosouzapw/omniroute` | `latest` | ~250MB | המהדורה היציבה האחרונה | +| `diegosouzapw/omniroute` | `1.0.3` | ~250MB | גרסה נוכחית | + +--- + +## 💰 תמחור במבט חטוף + +| שכבה | ספק | עלות | איפוס מכסה | הטוב ביותר עבור | +| --------------- | ---------------- | ----------------------- | ------------------------ | ------------------------ | +| **💳 מנוי** | קלוד קוד (פרו) | 20 דולר לחודש | 5 שעות + שבועי | כבר נרשמת | +| | קודקס (פלוס/פרו) | $20-200 לחודש | 5 שעות + שבועי | משתמשי OpenAI | +| | Gemini CLI | **חינם** | 180K/Mo + 1K/יום | כֹּל אֶחָד! | +| | GitHub Copilot | $10-19 לחודש | חודשי | משתמשי GitHub | +| **🔑 מפתח API** | NVIDIA NIM | **חינם** (1000 קרדיטים) | חד פעמי | בדיקת שכבות חינם | +| | DeepSeek | תשלום לפי שימוש | אין | המחיר/איכות הטובים ביותר | +| | גרוק | שכבה חינם + בתשלום | תעריף מוגבל | הסקה מהירה במיוחד | +| | xAI (Grok) | תשלום לפי שימוש | אין | דגמי גרוק | +| | מיסטרל | שכבה חינם + בתשלום | תעריף מוגבל | AI אירופאי | +| | OpenRouter | תשלום לפי שימוש | אין | 100+ דגמים | +| **💰 זול** | GLM-4.7 | $0.6/1 מיליון | כל יום 10:00 | גיבוי תקציבי | +| | MiniMax M2.1 | $0.2/1 מיליון | גלגול של 5 שעות | האפשרות הזולה ביותר | +| | קימי K2 | 9 $ לחודש דירה | 10 מיליון אסימונים לחודש | עלות צפויה | +| **🆓 חינם** | iFlow | $0 | ללא הגבלה | 8 דגמים חינם | +| | קוון | $0 | ללא הגבלה | 3 דגמים חינם | +| | קירו | $0 | ללא הגבלה | קלוד חופשי | + +**💡 טיפ מקצועי:** התחל עם Gemini CLI (180K חינם/חודש) + שילוב של iFlow (ללא הגבלה בחינם) = עלות של $0! + +--- + +## 🎯 מקרי שימוש + +### מקרה 1: "יש לי מנוי לקלוד פרו" + +**בעיה:** תוקף המכסה פג ללא שימוש, מגבלות תעריף במהלך קידוד כבד + +``` +Combo: "maximize-claude" + 1. cc/claude-opus-4-6 (use subscription fully) + 2. glm/glm-4.7 (cheap backup when quota out) + 3. if/kimi-k2-thinking (free emergency fallback) + +Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total +vs. $20 + hitting limits = frustration +``` + +### מקרה 2: "אני רוצה עלות אפס" + +**בעיה:** לא יכול להרשות לעצמו מנויים, צריך קידוד AI אמין + +``` +Combo: "free-forever" + 1. gc/gemini-3-flash (180K free/month) + 2. if/kimi-k2-thinking (unlimited free) + 3. qw/qwen3-coder-plus (unlimited free) + +Monthly cost: $0 +Quality: Production-ready models +``` + +### מקרה 3: "אני צריך קידוד 24/7, ללא הפרעות" + +**בעיה:** מועדים, לא יכול להרשות לעצמו זמן השבתה + +``` +Combo: "always-on" + 1. cc/claude-opus-4-6 (best quality) + 2. cx/gpt-5.2-codex (second subscription) + 3. glm/glm-4.7 (cheap, resets daily) + 4. minimax/MiniMax-M2.1 (cheapest, 5h reset) + 5. if/kimi-k2-thinking (free unlimited) + +Result: 5 layers of fallback = zero downtime +``` + +### מקרה 4: "אני רוצה AI בחינם ב-OpenClaw" + +**בעיה:** צריך עוזר בינה מלאכותית באפליקציות הודעות, בחינם לחלוטין + +``` +Combo: "openclaw-free" + 1. if/glm-4.7 (unlimited free) + 2. if/minimax-m2.1 (unlimited free) + 3. if/kimi-k2-thinking (unlimited free) + +Monthly cost: $0 +Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal... +``` + +--- + +## 💡 תכונות עיקריות + +### 🧠 ניתוב ליבה ומודיעין + +| תכונה | מה זה עושה | +| ---------------------------- | -------------------------------------------------------------------------------- | +| 🎯 **Smart 4-tier Fallback** | מסלול אוטומטי: מנוי → מפתח API → זול → חינם | +| 📊 **מעקב מכסות בזמן אמת** | ספירת אסימונים חיה + איפוס ספירה לאחור לכל ספק | +| 🔄 **תרגום פורמט** | OpenAI ↔ קלוד ↔ תאומים ↔ סמן ↔ Kiro חלקה + חיטוי תגובה | +| 👥 **תמיכה בריבוי חשבונות** | מספר חשבונות לכל ספק עם בחירה חכמה | +| 🔄 **רענון אסימון אוטומטי** | אסימוני OAuth מתרעננים אוטומטית עם ניסיון חוזר | +| 🎨 **שילובים מותאמים אישית** | 6 אסטרטגיות: מילוי ראשון, עגול רובין, p2c, אקראי, פחות בשימוש, אופטימיזציה לעלות | +| 🧩 **דגמים מותאמים אישית** | הוסף כל מזהה דגם לכל ספק | +| 🌐 **נתב תווים כלליים** ​​ | נתב דפוסי `provider/*` לכל ספק באופן דינמי | +| 🧠 **תקציב חשיבה** | מצבי מעבר, אוטומטי, מותאמים אישית והתאמה למודלים של חשיבה | +| 💬 **הזרקת מערכת מיידית** | הודעת מערכת גלובלית הוחלה בכל הבקשות | +| 📄 **Responses API** | תמיכה מלאה של OpenAI Responses API (`/v1/responses`) עבור Codex | + +### 🎵 ממשקי API רב-מודאליים + +| תכונה | מה זה עושה | +| ------------------- | --------------------------------------------- | +| 🖼️ **יצירת תמונות** | `/v1/images/generations` — 4 ספקים, 9+ דגמים | +| 📐 **הטבעות** | `/v1/embeddings` — 6 ספקים, 9+ דגמים | +| 🎤 **תמלול אודיו** | `/v1/audio/transcriptions` — תואם לחישה | +| 🔊 **טקסט לדיבור** | `/v1/audio/speech` — סינתזת אודיו מרובה ספקים | +| 🛡️ **מנחים** | `/v1/moderations` — בדיקות בטיחות תוכן | +| 🔀 **דירוג מחדש** | `/v1/rerank` — דירוג מחדש של רלוונטיות המסמך | + +### 🛡️ חוסן וביטחון + +| תכונה | מה זה עושה | +| ------------------------------------ | -------------------------------------------------------------- | +| 🔌 **מפסק מעגלים** | פתיחה/סגירה אוטומטית לכל ספק עם ערכי סף הניתנים להגדרה | +| 🛡️ **עדר נגד רעמים** | Mutex + מגבלת קצב סמפור עבור ספקי מפתח API | +| 🧠 **מטמון סמנטי** | מטמון דו-שכבתי (חתימה + סמנטי) מפחית את העלות והשהייה | +| ⚡ **בקש אימפוטנציה** | חלון ביטול 5s עבור בקשות כפולות | +| 🔒 **זיוף טביעות אצבע TLS** | עוקף זיהוי בוט מבוסס TLS באמצעות wreq-js | +| 🌐 **סינון IP** | רשימת הרשאות/רשימת חסימות עבור בקרת גישה ל-API | +| 📊 **מגבלות תעריפים הניתנות לעריכה** | RPM ניתן להגדרה, פער מינימלי ומקסימום במקביל ברמת המערכת | +| 🛡 **הגנת נקודת קצה API** | Auth gating + חסימת ספק עבור נקודת הקצה `/models` | +| 🔒 **נראות פרוקסי** | תגים מקודדים בצבע: 🟢 גלובלי, 🟡 ספק, 🔵 לכל חיבור עם תצוגת IP | +| 🌐 **תצורת פרוקסי בשלוש רמות** | הגדר פרוקסי ברמה גלובלית, לכל ספק או לכל חיבור | + +### 📊 יכולת תצפית וניתוח + +| תכונה | מה זה עושה | +| ------------------------------- | ---------------------------------------------------------------------- | +| 📝 **בקש רישום** | מצב ניפוי באגים עם יומני בקשות/תגובות מלאים | +| 💾 **יומני פרוקסי של SQLite** | יומני פרוקסי מתמשכים שורדים אתחול מחדש של השרת | +| 📊 **לוח המחוונים של אנליטיקס** | מופעל מחדש ב-Recharts: כרטיסי סטטיסטיקה, טבלת שימוש במודל, טבלת ספקים | +| 📈 **מעקב התקדמות** | הצטרפות לאירועי התקדמות SSE לסטרימינג | +| 🧪 **LM Evaluations** | בדיקת סט זהב עם 4 אסטרטגיות התאמה | +| 🔍 **בקש טלמטריה** | צבירת זמן אחזור p50/p95/p99 + מעקב אחר X-Request-Id | +| 📋 **לוח מחוונים יומני** | עמוד מאוחד בן 4 לשוניות: יומני בקשות, יומני פרוקסי, יומני ביקורת, מסוף | +| 🖥️ **מציג יומן מסוף** | מציג בסגנון טרמינל בזמן אמת עם מסנן רמות, חיפוש, גלילה אוטומטית | +| 📑 **רישום מבוסס קבצים** | מיירט מסוף לוכד את כל הפלט לקובץ יומן JSON עם סיבוב | +| 🏥 **לוח מחוונים לבריאות** | זמן פעילות מערכת, מצבי מפסק זרם, נעילות, סטטיסטיקות מטמון | +| 💰 **מעקב עלויות** | ניהול תקציב + תצורת תמחור לפי דגם | + +### ☁️ פריסה וסנכרון + +| תכונה | מה זה עושה | +| ---------------------------------- | --------------------------------------------------------------------- | +| 💾 **סנכרון ענן** | סנכרון תצורה בין מכשירים באמצעות Cloudflare Workers | +| 🌐 **פרוס בכל מקום** | Localhost, VPS, Docker, Cloudflare Workers | +| 🔑 **ניהול מפתחות API** | צור, סובב והיקף מפתחות API לכל ספק | +| 🧙 **אשף העלייה למטוס** | הגדרה מודרכת בת 4 שלבים למשתמשים חדשים | +| 🔧 **לוח המחוונים של כלי CLI** | הגדר בלחיצה אחת את Claude, Codex, Cline, OpenClaw, Kilo, Antigravity | +| 🔄 **גיבויים של DB** | גיבוי, שחזור, ייצוא וייבוא ​​אוטומטי עבור כל ההגדרות | +| 🌐 **בינלאומיות** | i18n מלא עם next-intl — תמיכה באנגלית + פורטוגזית (ברזיל) | +| 🌍 **בורר שפה** | סמל גלובוס בכותרת למעבר שפה בזמן אמת (🇺🇸/🇧🇷) | +| 📂 **ספריית נתונים מותאמים אישית** | `DATA_DIR` env var כדי לעקוף את ברירת המחדל `~/.omniroute` נתיב אחסון | + +
+📖 פרטי תכונה + +### 🎯 4 שכבות סתירה חכמה + +צור שילובים עם נפילה אוטומטית: + +``` +Combo: "my-coding-stack" + 1. cc/claude-opus-4-6 (your subscription) + 2. nvidia/llama-3.3-70b (free NVIDIA API) + 3. glm/glm-4.7 (cheap backup, $0.6/1M) + 4. if/kimi-k2-thinking (free fallback) + +→ Auto switches when quota runs out or errors occur +``` + +### 📊 מעקב מכסות בזמן אמת + +- צריכת אסימונים לכל ספק +- אפס ספירה לאחור (5 שעות, יומי, שבועי) +- הערכת עלויות עבור שכבות בתשלום +- דוחות הוצאות חודשיים + +### 🔄 תרגום פורמט + +תרגום חלק בין פורמטים: + +- **OpenAI** ↔ **קלוד** ↔ **תאומים** ↔ **תגובות OpenAI** +- כלי ה-CLI שלך שולח פורמט OpenAI → OmniRoute מתרגם → הספק מקבל פורמט מקורי +- עובד עם כל כלי התומך בנקודות קצה מותאמות אישית של OpenAI +- **חיטוי תגובה** - מסיר שדות לא סטנדרטיים לצורך תאימות קפדנית של OpenAI SDK +- **נורמליזציה של תפקידים** — `developer` → `system` עבור לא-OpenAI; `system` → `user` עבור דגמי GLM/ERNIE +- **חילוץ תג חשיבה** — `` בלוקים → `reasoning_content` למודלים חושבים +- **פלט מובנה** — `json_schema` → `responseMimeType`/`responseSchema` של Gemini + +### 👥 תמיכה בריבוי חשבונות + +- הוסף מספר חשבונות לכל ספק +- ניתוב סבב אוטומטי או מבוסס עדיפות +- חזרה לחשבון הבא כאשר אחד מגיע למכסה + +### 🔄 רענון אסימון אוטומטי + +- אסימוני OAuth מתרעננים אוטומטית לפני פקיעת התוקף +- אין צורך באימות מחדש ידני +- חוויה חלקה בכל הספקים + +### 🎨 שילובים מותאמים אישית + +- צור שילובי דגמים ללא הגבלה +- 6 אסטרטגיות: מילוי ראשון, עגול, כוח משתי בחירות, אקראי, פחות בשימוש, אופטימיזציית עלות +- שתף שילובים בין מכשירים עם Cloud Sync + +### 🏥 לוח מחוונים לבריאות + +- מצב מערכת (זמן פעילות, גרסה, שימוש בזיכרון) +- מצבי מפסק לכל ספק (סגור/פתוח/חצי פתוח) +- מצב מגבלת תעריף ונעילה אקטיבית +- סטטיסטיקת מטמון חתימה +- טלמטריית אחזור (p50/p95/p99) + מטמון פקודות +- אפס מצב בריאותי בלחיצה אחת + +### 🔧 מגרש משחקים למתרגמים + +OmniRoute כולל מגרש משחקי מתרגמים מובנה רב עוצמה עם **4 מצבים** לניפוי באגים, בדיקה וניטור תרגומי API: + +| מצב | תיאור | +| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **💻 מגרש משחקים** | תרגום פורמט ישיר - הדבק כל גוף בקשת API וראה באופן מיידי כיצד OmniRoute מתרגם אותו בין פורמטים של ספקים (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). כולל תבניות לדוגמה וזיהוי אוטומטי של פורמטים. | +| **💬 בודק צ'אט** | שלח בקשות צ'אט אמיתיות דרך OmniRoute וראה את המסלול המלא הלוך ושוב: הקלט שלך, הבקשה המתורגמת, תגובת הספק והתגובה המתורגמת חזרה. לא יסולא בפז עבור אימות ניתוב משולב. | +| **🧪 ספסל מבחן** | מצב בדיקת אצווה - הגדירו מקרי בדיקה מרובים עם תשומות ותפוקות צפויות שונות, הפעל את כולם בבת אחת והשווה תוצאות בין ספקים ודגמים. | +| **📱 צג חי** | ניטור בקשות בזמן אמת - צפה בבקשות נכנסות כשהן זורמות דרך OmniRoute, ראה תרגומי פורמטים המתרחשים בשידור חי וזיהוי בעיות באופן מיידי. | + +**גישה:** לוח מחוונים ← מתרגם (סרגל צד) + +### 💾 סנכרון ענן + +- סנכרון ספקים, שילובים והגדרות בין מכשירים +- סנכרון רקע אוטומטי +- אחסון מוצפן מאובטח + +
+ +--- + +## 📖 מדריך התקנה + +
+💳 ספקי מנויים + +### קוד קלוד (פרו/מקס) + +```bash +Dashboard → Providers → Connect Claude Code +→ OAuth login → Auto token refresh +→ 5-hour + weekly quota tracking + +Models: + cc/claude-opus-4-6 + cc/claude-sonnet-4-5-20250929 + cc/claude-haiku-4-5-20251001 +``` + +**טיפ מקצוען:** השתמש ב-Opus למשימות מורכבות, בסונט למהירות. OmniRoute עוקב אחר מכסה לכל דגם! + +### OpenAI Codex (פלוס/פרו) + +```bash +Dashboard → Providers → Connect Codex +→ OAuth login (port 1455) +→ 5-hour + weekly reset + +Models: + cx/gpt-5.2-codex + cx/gpt-5.1-codex-max +``` + +### Gemini CLI (180K בחינם לחודש!) + +```bash +Dashboard → Providers → Connect Gemini CLI +→ Google OAuth +→ 180K completions/month + 1K/day + +Models: + gc/gemini-3-flash-preview + gc/gemini-2.5-pro +``` + +**הערך הטוב ביותר:** שכבת חינם ענקית! השתמש בזה לפני שכבות בתשלום. + +### GitHub Copilot + +```bash +Dashboard → Providers → Connect GitHub +→ OAuth via GitHub +→ Monthly reset (1st of month) + +Models: + gh/gpt-5 + gh/claude-4.5-sonnet + gh/gemini-3-pro +``` + +
+ +
+🔑 ספקי מפתח API + +### NVIDIA NIM (1000 קרדיטים בחינם!) + +1. הירשם: [build.nvidia.com](https://build.nvidia.com) +2. קבל מפתח API בחינם (כולל 1000 קרדיטים להסקה) +3. לוח מחוונים ← הוסף ספק ← NVIDIA NIM: + - מפתח API: `nvapi-your-key` + +**דגמים:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct` ועוד 50+ + +**טיפ מקצועי:** API תואם OpenAI - עובד בצורה חלקה עם תרגום הפורמט של OmniRoute! + +### DeepSeek + +1. הירשם: [platform.deepseek.com](https://platform.deepseek.com) +2. קבל מפתח API +3. לוח מחוונים ← הוסף ספק ← DeepSeek + +**דגמים:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder` + +### Groq (רמה חינם זמינה!) + +1. הירשם: [console.groq.com](https://console.groq.com) +2. קבל מפתח API (כלול שכבת חינם) +3. לוח מחוונים ← הוסף ספק ← Groq + +**דגמים:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b` + +**טיפ מקצועי:** הסקה מהירה במיוחד - הטוב ביותר לקידוד בזמן אמת! + +### OpenRouter (100+ דגמים) + +1. הירשם: [openrouter.ai](https://openrouter.ai) +2. קבל מפתח API +3. לוח מחוונים ← הוסף ספק ← OpenRouter + +**דגמים:** גישה ל-100+ דגמים מכל הספקים הגדולים באמצעות מפתח API יחיד. + +
+ +
+💰 ספקים זולים (גיבוי) + +### GLM-4.7 (איפוס יומי, $0.6/1 מיליון) + +1. הירשם: [Zhipu AI](https://open.bigmodel.cn/) +2. קבל מפתח API מ-Coding Plan +3. לוח מחוונים ← הוסף מפתח API: + - ספק: `glm` + - מפתח API: `your-key` + +**השתמש:** `glm/glm-4.7` + +**טיפ למקצוענים:** תוכנית קידוד מציעה מכסה של 3× בעלות של 1/7! איפוס כל יום 10:00 בבוקר. + +### MiniMax M2.1 (איפוס של 5 שעות, $0.20/1 מיליון דולר) + +1. הירשם: [MiniMax](https://www.minimax.io/) +2. קבל מפתח API +3. לוח מחוונים ← הוסף מפתח API + +**השתמש:** `minimax/MiniMax-M2.1` + +**טיפ מקצועי:** האפשרות הזולה ביותר להקשר ארוך (1 מיליון אסימונים)! + +### Kimi K2 (דירה של $9 לחודש) + +1. הירשם: [Moonshot AI](https://platform.moonshot.ai/) +2. קבל מפתח API +3. לוח מחוונים ← הוסף מפתח API + +**השתמש:** `kimi/kimi-latest` + +**טיפ מקצועי:** 9$ קבוע לחודש עבור 10 מיליון אסימונים = 0.90$/1 מיליון עלות אפקטיבית! + +
+ +
+🆓 ספקים בחינם (גיבוי חירום) + +### iFlow (8 דגמים בחינם) + +```bash +Dashboard → Connect iFlow +→ iFlow OAuth login +→ Unlimited usage + +Models: + if/kimi-k2-thinking + if/qwen3-coder-plus + if/glm-4.7 + if/minimax-m2 + if/deepseek-r1 +``` + +### Qwen (3 דגמים בחינם) + +```bash +Dashboard → Connect Qwen +→ Device code authorization +→ Unlimited usage + +Models: + qw/qwen3-coder-plus + qw/qwen3-coder-flash +``` + +### קירו (קלוד בחינם) + +```bash +Dashboard → Connect Kiro +→ AWS Builder ID or Google/GitHub +→ Unlimited usage + +Models: + kr/claude-sonnet-4.5 + kr/claude-haiku-4.5 +``` + +
+ +
+🎨 צור שילובים + +### דוגמה 1: הגדלת מנוי ← גיבוי זול + +``` +Dashboard → Combos → Create New + +Name: premium-coding +Models: + 1. cc/claude-opus-4-6 (Subscription primary) + 2. glm/glm-4.7 (Cheap backup, $0.6/1M) + 3. minimax/MiniMax-M2.1 (Cheapest fallback, $0.20/1M) + +Use in CLI: premium-coding +``` + +### דוגמה 2: חינם בלבד (עלות אפס) + +``` +Name: free-combo +Models: + 1. gc/gemini-3-flash-preview (180K free/month) + 2. if/kimi-k2-thinking (unlimited) + 3. qw/qwen3-coder-plus (unlimited) + +Cost: $0 forever! +``` + +
+ +
+🔧 שילוב CLI + +### סמן IDE + +``` +Settings → Models → Advanced: + OpenAI API Base URL: http://localhost:20128/v1 + OpenAI API Key: [from OmniRoute dashboard] + Model: cc/claude-opus-4-6 +``` + +### קלוד קוד + +השתמש בדף **כלי CLI** בלוח המחוונים עבור תצורה בלחיצה אחת, או ערוך את `~/.claude/settings.json` באופן ידני. + +### Codex CLI + +```bash +export OPENAI_BASE_URL="http://localhost:20128" +export OPENAI_API_KEY="your-omniroute-api-key" + +codex "your prompt" +``` + +### OpenClaw + +**אפשרות 1 - לוח מחוונים (מומלץ):** + +``` +Dashboard → CLI Tools → OpenClaw → Select Model → Apply +``` + +**אפשרות 2 — ידני:** ערוך `~/.openclaw/openclaw.json`: + +```json +{ + "models": { + "providers": { + "omniroute": { + "baseUrl": "http://127.0.0.1:20128/v1", + "apiKey": "sk_omniroute", + "api": "openai-completions" + } + } + } +} +``` + +> **הערה:** OpenClaw עובד רק עם OmniRoute מקומי. השתמש ב-`127.0.0.1` במקום ב-`localhost` כדי להימנע מבעיות ברזולוציה של IPv6. + +### Cline / Continue / RooCode + +``` +Settings → API Configuration: + Provider: OpenAI Compatible + Base URL: http://localhost:20128/v1 + API Key: [from OmniRoute dashboard] + Model: if/kimi-k2-thinking +``` + +
+ +--- + +## 📊 דגמים זמינים + +
+הצג את כל הדגמים הזמינים + +**קוד קלוד (`cc/`)** - פרו/מקסימום: + +- `cc/claude-opus-4-6` +- `cc/claude-sonnet-4-5-20250929` +- `cc/claude-haiku-4-5-20251001` + +**קודקס (`cx/`)** - פלוס/יתרונות: + +- `cx/gpt-5.2-codex` +- `cx/gpt-5.1-codex-max` + +**Gemini CLI (`gc/`)** - בחינם: + +- `gc/gemini-3-flash-preview` +- `gc/gemini-2.5-pro` + +**GitHub Copilot (`gh/`)**: + +- `gh/gpt-5` +- `gh/claude-4.5-sonnet` + +**NVIDIA NIM (`nvidia/`)** - זיכויים בחינם: + +- `nvidia/llama-3.3-70b-instruct` +- `nvidia/mistral-7b-instruct` +- 50+ דגמים נוספים ב-[build.nvidia.com](https://build.nvidia.com) + +**GLM (`glm/`)** - $0.6/1 מיליון: + +- `glm/glm-4.7` + +**MiniMax (`minimax/`)** - $0.2/1 מיליון: + +- `minimax/MiniMax-M2.1` + +**iFlow (`if/`)** - בחינם: + +- `if/kimi-k2-thinking` +- `if/qwen3-coder-plus` +- `if/deepseek-r1` +- `if/glm-4.7` +- `if/minimax-m2` + +**Qwen (`qw/`)** - בחינם: + +- `qw/qwen3-coder-plus` +- `qw/qwen3-coder-flash` + +**Kiro (`kr/`)** - בחינם: + +- `kr/claude-sonnet-4.5` +- `kr/claude-haiku-4.5` + +**OpenRouter (`or/`)** - 100+ דגמים: + +- `or/anthropic/claude-4-sonnet` +- `or/google/gemini-2.5-pro` +- כל דגם מ-[openrouter.ai/models](https://openrouter.ai/models) + +
+ +--- + +## 🧪 הערכות (הערכות) + +OmniRoute כולל מסגרת הערכה מובנית לבדיקת איכות תגובת LLM מול סט מוזהב. גש אליו דרך **Analytics → Evals** בלוח המחוונים. + +### סט מוזהב מובנה + +ה-"OmniRoute Golden Set" הנטען מראש מכיל 10 מקרי בדיקה המכסים: + +- ברכות, מתמטיקה, גיאוגרפיה, יצירת קוד +- תאימות לפורמט JSON, תרגום, סימון +- סירוב בטיחותי (תוכן מזיק), ספירה, היגיון בוליאני + +### אסטרטגיות הערכה + +| אסטרטגיה | תיאור | דוגמה | +| ---------- | ------------------------------------------ | -------------------------------- | +| `exact` | הפלט חייב להתאים בדיוק | `"4"` | +| `contains` | הפלט חייב להכיל תת מחרוזת (לא תלוי רישיות) | `"Paris"` | +| `regex` | הפלט חייב להתאים לדפוס הרקס | `"1.*2.*3"` | +| `custom` | פונקציית JS מותאמת מחזירה true/false | `(output) => output.length > 10` | + +--- + +## 🔐 OAuth em Servidor Remoto (הגדרת OAuth מרחוק) + + + +> **⚠️ חשוב עבור שימוש ב-OmniRoute עם מרחוק VPS/Docker/שרת** + +### האם אפשר לעשות אנטי כבידה / CLI מזל תאומים על שירותים מרוחקים? + +שימוש ב-**Antigravity** ו-**Gemini CLI** בשימוש ב-**Google OAuth 2.0** עבור אוטנטיקה. O Google exige que a `redirect_uri` usada no fluxo OAuth seja **exatamente** uma das URIs pré-cadastradas no Google Cloud Console do aplicativo. + +As credenciais OAuth embutidas no OmniRoute estão cadastradas **apenas para `localhost`**. Quando você acessa o OmniRoute em um servidor remoto (לדוגמה: `https://omniroute.meuservidor.com`), o Google rejeita a autenticação com: + +``` +Error 400: redirect_uri_mismatch +``` + +### פתרון: הגדר את התצורה של OAuth + +קרא בדיוק את **OAuth 2.0 Client ID** ללא Google Cloud Console com a URI do seu service. + +#### פסו אפס + +**1. גישה ל-Google Cloud Console** + +אברה: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials) + +**2. Crie um novo OAuth 2.0 מזהה לקוח** + +- לחץ על **"+ צור אישורים"** → **"זיהוי לקוח OAuth"** +- טיפו דה אפליקטיבי: **"יישום אינטרנט"** +- שם: escolha qualquer nome (לדוגמה: `OmniRoute Remote`) + +**3. Adicone ככתובות URI מורשות להפניה מחדש** + +אין קמפו **"כתובות URI מורשות להפניה מחדש"**, adicione: + +``` +https://seu-servidor.com/callback +``` + +> Substitua `seu-servidor.com` pelo domínio או IP do seu servidor (כולל א porta se necessário, למשל: `http://45.33.32.156:20128/callback`). + +**4. שמור את העותק כ-credenciais** + +אפóס קריאר, o Google mostrará o **זיהוי לקוח** או **סוד לקוח**. + +**5. הגדר כ-variáveis de ambiente** + +No seu `.env` (ou nas variáveis de ambiente do Docker): + +```bash +# Para Antigravity: +ANTIGRAVITY_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret + +# Para Gemini CLI: +GEMINI_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +``` + +**6. Reinicie o OmniRoute** + +```bash +# Se usando npm: +npm run dev + +# Se usando Docker: +docker restart omniroute +``` + +**7. Tente conectar novamente** + +לוח מחוונים ← ספקים ← אנטי כבידה (או Gemini CLI) ← OAuth + +Agora o Google redirecionará corretamente para `https://seu-servidor.com/callback` e autenticação funcionará. + +--- + +### זמני פתרון לעקיפת הבעיה + +Se não quiser criar credenciais próprias agora, ainda é possível usar o fluxo **manual de URL**: + +1. O OmniRoute abrirá a URL de autorização do Google +2. Após você autorizar, o Google tentará redirecionar para `localhost` (que falha no servidor remoto) +3. **העתק כתובת URL מלאה** da barra de endereço do seu דפדפן (mesmo que a página não carregue) +4. Cole essa URL no campo que aparece no modal de conexão do OmniRoute +5. לחץ על **"התחבר"** + +> פתרון עקיפת הבעיה או קוד אוטומטי של כתובת ה-URL או עצמאית להפנות את החשבון או לא. + +--- + +## 🐛 פתרון בעיות + +
+לחץ כדי להרחיב את המדריך לפתרון בעיות + +**"מודל השפה לא סיפק הודעות"** + +- מיצתה מכסת הספק ← בדוק את עוקב המכסות של לוח המחוונים +- פתרון: השתמש ב-combo fallback או עבור לשכבה זולה יותר + +**הגבלת תעריפים** + +- מכסת מנויים נגמרת ← Fallback ל-GLM/MiniMax +- הוסף שילוב: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking` + +**פג תוקפו של אסימון OAuth** + +- רענון אוטומטי על ידי OmniRoute +- אם הבעיות נמשכות: לוח מחוונים ← ספק ← התחבר מחדש + +**עלויות גבוהות** + +- בדוק סטטיסטיקת שימוש בלוח המחוונים ← עלויות +- החלף את הדגם הראשי ל-GLM/MiniMax +- השתמש בשכבה חינמית (Gemini CLI, iFlow) עבור משימות לא קריטיות + +**לוח המחוונים נפתח ביציאה שגויה** + +- הגדר `PORT=20128` ו`NEXT_PUBLIC_BASE_URL=http://localhost:20128` + +**שגיאות סנכרון בענן** + +- אמת `BASE_URL` נקודות למופע הריצה שלך +- אמת `CLOUD_URL` נקודות לנקודת הקצה הצפויה שלך בענן +- שמור על ערכי `NEXT_PUBLIC_*` מיושרים עם ערכי צד השרת + +**הכניסה הראשונה לא עובדת** + +- בדוק את `INITIAL_PASSWORD` ב-`.env` +- אם לא מוגדרת, סיסמת החלפה היא `123456` + +**ללא יומני בקשות** + +- הגדר `ENABLE_REQUEST_LOGS=true` ב-`.env` + +**בדיקת חיבור מראה "לא חוקי" עבור ספקים תואמי OpenAI** + +- ספקים רבים אינם חושפים נקודת קצה `/models` +- OmniRoute v1.0.6+ כולל אימות חוזר באמצעות השלמת צ'אט +- ודא שכתובת האתר הבסיסית כוללת את הסיומת `/v1` + +
+ +--- + +## 🛠️ Tech Stack + +- **זמן ריצה**: Node.js 18–22 LTS (⚠️ Node.js 24+ **לא נתמך** - `better-sqlite3` קבצים בינאריים מקוריים אינם תואמים) +- **שפה**: TypeScript 5.9 — **100% TypeScript** על פני `src/` ו`open-sse/` (v1.0.6) +- **מסגרת**: Next.js 16 + React 19 + Tailwind CSS 4 +- **מסד נתונים**: LowDB (JSON) + SQLite (מצב תחום + יומני proxy) +- **סטרימינג**: אירועים שנשלחו על ידי שרת (SSE) +- **אישור**: OAuth 2.0 (PKCE) + JWT + מפתחות API +- **בדיקות**: רץ מבחן Node.js (בדיקות 368+ יחידות) +- **CI/CD**: פעולות GitHub (פרסום אוטומטי של npm + Docker Hub בשחרור) +- **אתר**: [omniroute.online](https://omniroute.online) +- **חבילה**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute) +- **דוקר**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute) +- **חוסן**: מפסק מעגלים, גיבוי אקספוננציאלי, עדר נגד רעמים, זיוף TLS + +--- + +## 📖 תיעוד + +| מסמך | תיאור | +| -------------------------------------------- | ----------------------------------------- | +| [User Guide](docs/USER_GUIDE.md) | ספקים, שילובים, שילוב CLI, פריסה | +| [API Reference](docs/API_REFERENCE.md) | כל נקודות הקצה עם דוגמאות | +| [Troubleshooting](docs/TROUBLESHOOTING.md) | בעיות ופתרונות נפוצים | +| [Architecture](docs/ARCHITECTURE.md) | ארכיטקטורת מערכת ופנים | +| [Contributing](CONTRIBUTING.md) | מערך פיתוח והנחיות | +| [OpenAPI Spec](docs/openapi.yaml) | מפרט OpenAPI 3.0 | +| [Security Policy](SECURITY.md) | דיווח על פגיעות ונהלי אבטחה | +| [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | מדריך שלם: הגדרות VM + nginx + Cloudflare | +| [Features Gallery](docs/FEATURES.md) | סיור חזותי בלוח המחוונים עם צילומי מסך | + +### 📸 תצוגה מקדימה של לוח המחוונים + +
+לחץ כדי לראות צילומי מסך של לוח המחוונים + +| עמוד | צילום מסך | +| --------------- | ------------------------------------------------- | +| **ספקים** | ![Providers](docs/screenshots/01-providers.png) | +| **שילובים** | ![Combos](docs/screenshots/02-combos.png) | +| **אנליטיקה** | ![Analytics](docs/screenshots/03-analytics.png) | +| **בריאות** | ![Health](docs/screenshots/04-health.png) | +| **מתרגם** | ![Translator](docs/screenshots/05-translator.png) | +| **הגדרות** | ![Settings](docs/screenshots/06-settings.png) | +| **כלי CLI** | ![CLI Tools](docs/screenshots/07-cli-tools.png) | +| **יומני שימוש** | ![Usage](docs/screenshots/08-usage.png) | +| **נקודת קצה** | ![Endpoint](docs/screenshots/09-endpoint.png) | + +
+ +--- + +## 🗺️ מפת דרכים + +ל-OmniRoute יש **210+ תכונות מתוכננות** לאורך שלבי פיתוח מרובים. להלן תחומי המפתח: + +| קטגוריה | תכונות מתוכננות | הבהרה | +| --------------------- | --------------- | ---------------------------------------------------------------------------------------- | +| 🧠 **ניתוב ומודיעין** | 25+ | ניתוב עם זמן האחזור הנמוך ביותר, ניתוב מבוסס תגים, בדיקה מוקדמת של מכסה, בחירת חשבון P2C | +| 🔒 **אבטחה ותאימות** | 20+ | הקשחת SSRF, הסוואה של אישורים, הגבלת קצב לכל נקודת קצה, היקף מפתח ניהול | +| 📊 **צפיות** | 15+ | אינטגרציה של OpenTelemetry, ניטור מכסות בזמן אמת, מעקב עלויות לכל דגם | +| 🔄 **שילובי ספקים** | 20+ | רישום מודלים דינמיים, צינון ספקים, Codex מרובה חשבונות, ניתוח מכסת Copilot | +| ⚡ **ביצועים** | 15+ | שכבת מטמון כפולה, מטמון הנחיה, מטמון תגובה, סטרימינג Keepalive, API אצווה | +| 🌐 **מערכת אקולוגית** | 10+ | WebSocket API, טעינה חוזרת של תצורה, חנות תצורה מבוזרת, מצב מסחרי | + +### 🔜 בקרוב + +- 🔗 **שילוב OpenCode** - תמיכה בספק מקורי עבור IDE קידוד AI של OpenCode +- 🔗 **TRAE Integration** — תמיכה מלאה במסגרת הפיתוח של TRAE AI +- 📦 **אצווה API** - עיבוד אצווה אסינכרוני עבור בקשות בכמות גדולה +- 🎯 **ניתוב מבוסס תגים** — בקשות ניתוב המבוססות על תגים ומטא נתונים מותאמים אישית +- 💰 **אסטרטגיית העלות הנמוכה ביותר** — בחר אוטומטית את הספק הזמין הזול ביותר + +> 📝 מפרטי תכונה מלאים זמינים ב-[**OMNI_TOKEN_147**](docs/new-features/) (217 מפרטים מפורטים) + +--- + +## 📧 תמיכה + +> 💬 **הצטרפו לקהילה שלנו!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — קבל עזרה, שתף טיפים והישאר מעודכן. + +- **אתר**: [omniroute.online](https://omniroute.online) +- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) +- **בעיות**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) +- **וואטסאפ**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) +- **פרויקט מקורי**: [9router by decolua](https://github.com/decolua/9router) + +--- + +## 👥 תורמים + +[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) + +### כיצד לתרום + +1. מזלג את המאגר +2. צור את ענף התכונה שלך (`git checkout -b feature/amazing-feature`) +3. בצע את השינויים שלך (`git commit -m 'Add amazing feature'`) +4. דחף לסניף (`git push origin feature/amazing-feature`) +5. פתחו בקשת משיכה + +ראה [CONTRIBUTING.md](CONTRIBUTING.md) להנחיות מפורטות. + +### שחרור גרסה חדשה + +```bash +# Create a release — npm publish happens automatically +gh release create v1.0.6 --title "v1.0.6" --generate-notes +``` + +--- + +## 📊 היסטוריית כוכבים + + + + + + Star History Chart + + + +--- + +## 🙏 תודות + +תודה מיוחדת ל**[9router](https://github.com/decolua/9router)** מאת **[decolua](https://github.com/decolua)** - הפרויקט המקורי שהיווה השראה למזלג הזה. OmniRoute בונה על הבסיס המדהים הזה עם תכונות נוספות, ממשקי API רב-מודאליים ושכתוב מלא של TypeScript. + +תודה מיוחדת ל**[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** - היישום המקורי של Go שימש השראה ליציאת JavaScript הזו. + +--- + +## 📄 רישיון + +רישיון MIT - ראה [LICENSE](LICENSE) לפרטים. + +--- + +--- + +## 🇧🇷 OmniRoute — Gateway de IA Gratuito + + + +### Nunca pare de codar. Roteamento intelligente עבור **מודלים של IA GRATUITOS e de baixo custo** com fallback automático. + +_Seu proxy universal de API - נקודת קצה, 36+ בדיקות, אפס השבתה._ + +### 🌐 Internacionalização (i18n) + +O לוח המחוונים של OmniRoute תומך ב-**רב ביטויים**. ניתנת הספק: + +| אידיומה | קודיגו | סטטוס | +| -------------------- | ------- | ---------- | +| 🇺🇸 אנגלית | `en` | ✅ קומפלטו | +| 🇧🇷 פורטוגזית (ברזיל) | `pt-BR` | ✅ קומפלטו | + +**למקרה של ביטוי:** לחץ על לא בחירה בשפה (🇺🇸 EN) ללא כותרת ללוח המחוונים ← בחירה בצורת ביטוי. + +**לפרטים נוספים:** + +1. Crie `src/i18n/messages/{codigo}.json` baseado em `en.json` +2. Adicone o código em `src/i18n/config.ts` → `LOCALES` e `LANGUAGES` +3. Reinicie o servidor + +### ⚡ Início Rápido + +```bash +# Instalar via npm +npx omniroute@latest + +# Ou rodar do código-fonte +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +### 🐳 דוקר + +```bash +docker run -d --name omniroute -p 20128:20128 diegosouzapw/omniroute:latest +``` + +### 🔑 Funcionalidades Principais + +- **36+ provedores de IA** - קלוד, GPT, Gemini, Llama, Qwen, DeepSeek, e mais +- **Roteamento inteligente** - Fallback automático entre provedores +- **Tradução de formato** — OpenAI ↔ קלוד ↔ Gemini automaticamente +- **מולטי-קונטא** - Múltiplas contas por provedor com seleção intelligente +- **Cache semântico** — Reduz custos e latência +- **OAuth automático** — אסימונים renovam automaticamente +- **Combos personalizados** - 6 estratégias de roteamento +- **לוח המחוונים המלא** - מעקב, יומנים, ניתוחים, הגדרות +- **כלי CLI** - הגדר את קוד קלוד, Codex, Cursor, Cline com um clique +- **100% TypeScript** — קוד רגיל + +### 📖 תיעוד + +| דוקומנטו | תיאור | +| ----------------------------------------------- | ---------------------------------- | +| [Guia do Usuário](docs/USER_GUIDE.md) | פרובדורים, שילובים, CLI, פריסה | +| [Referência da API](docs/API_REFERENCE.md) | Todos OS נקודות קצה com exemplos | +| [Solução de Problemas](docs/TROUBLESHOOTING.md) | Problemas comuns e soluções | +| [Arquitetura](docs/ARCHITECTURE.md) | Arquitetura e internos do sistema | +| [Contribuição](CONTRIBUTING.md) | התקנה של הנחיות והנחיות | +| [Deploy em VM](docs/VM_DEPLOYMENT_GUIDE.md) | גיאה מלאה: VM + nginx + Cloudflare | + +### 📧 תמיכה + +> 💬 **Entre para a comunidade!** [Grupo WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Tire dúvidas, compartilhe dicas e fique atualizado. + +- **אתר**: [omniroute.online](https://omniroute.online) +- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) +- **בעיות**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) + +--- + +
+ נבנה עם ❤️ למפתחים שמקודדים 24/7 +
+ omniroute.online +
diff --git a/README.hu.md b/README.hu.md new file mode 100644 index 0000000000..b359093d9e --- /dev/null +++ b/README.hu.md @@ -0,0 +1,1238 @@ +
+ OmniRoute Dashboard + + # 🚀 OmniRoute – Az ingyenes mesterséges intelligencia átjáró + +🌐 **[English](#-omniroute--the-free-ai-gateway)** | **[Português (BR)](#-omniroute--gateway-de-ia-gratuito)** + +### Soha ne hagyd abba a kódolást. Intelligens útválasztás **INGYENES és alacsony költségű mesterséges intelligencia modellekhez** automatikus visszaállítással. + +_Az univerzális API-proxy – egy végpont, 36+ szolgáltató, nulla állásidő._ + +**Csevegés befejezése • Beágyazások • Képgenerálás • Hang • Újrarangsorolás • 100% TypeScript** + +--- + +### 🤖 Ingyenes mesterséges intelligencia szolgáltató kedvenc kódoló ügynökei számára + +_Csatlakoztasson bármilyen mesterséges intelligencia-alapú IDE-t vagy CLI-eszközt az OmniRoute-on keresztül – ingyenes API-átjáró a korlátlan kódoláshoz._ + + + + + + + + + + + + + + + + +
+ + OpenClaw
+ OpenClaw +

+ ⭐ 205K +
+ + NanoBot
+ NanoBot +

+ ⭐ 20.9K +
+ + PicoClaw
+ PicoClaw +

+ ⭐ 14.6K +
+ + ZeroClaw
+ ZeroClaw +

+ ⭐ 9.9K +
+ + IronClaw
+ IronClaw +

+ ⭐ 2.1K +
+ + OpenCode
+ OpenCode +

+ ⭐ 106K +
+ + Codex CLI
+ Codex CLI +

+ ⭐ 60.8K +
+ + Claude Code
+ Claude Code +

+ ⭐ 67.3K +
+ + Gemini CLI
+ Gemini CLI +

+ ⭐ 94.7K +
+ + Kilo Code
+ Kilo Code +

+ ⭐ 15.5K +
+ +📡 Minden ügyintéző a http://localhost:20128/v1 vagy http://cloud.omni_TOKEN_244\_\_http://cloud.omniroute_EN_2NI4/v_1_TO_2.online-on keresztül csatlakozik konfiguráció, korlátlan modellek és kvóta + +--- + +[![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) +[![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) +[![License](https://img.shields.io/github/license/diegosouzapw/OmniRoute)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE) +[![Website](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) +[![WhatsApp](https://img.shields.io/badge/WhatsApp-Community-25D366?logo=whatsapp&logoColor=white)](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) + +
+ +--- + +## 🤔 Miért az OmniRoute? + +**Ne pazarolja a pénzt, és ne lépje túl a limiteket:** + +- Az előfizetési kvóta minden hónapban fel nem használt +- A sebességkorlátok megakadályozzák a közbenső kódolást +- Drága API-k (20-50 USD/hó szolgáltatónként) +- Manuális váltás a szolgáltatók között + +**Az OmniRoute ezt megoldja:** + +- ✅ **Az előfizetések maximalizálása** - Kövesse nyomon a kvótát, használjon fel minden bitet a visszaállítás előtt +- ✅ **Automatikus tartalék** - Előfizetés → API-kulcs → Olcsó → Ingyenes, nulla állásidő +- ✅ **Több fiók** - Kör-robin a fiókok között szolgáltatónként +- ✅ **Univerzális** - Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, bármilyen CLI eszközzel működik + +--- + +## 🔄 Hogyan működik + +``` +┌─────────────┐ +│ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) +│ Tool │ +└──────┬──────┘ + │ http://localhost:20128/v1 + ↓ +┌─────────────────────────────────────────┐ +│ OmniRoute (Smart Router) │ +│ • Format translation (OpenAI ↔ Claude) │ +│ • Quota tracking + Embeddings + Images │ +│ • Auto token refresh │ +└──────┬──────────────────────────────────┘ + │ + ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI + │ ↓ quota exhausted + ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc. + │ ↓ budget limit + ├─→ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M) + │ ↓ budget limit + └─→ [Tier 4: FREE] iFlow, Qwen, Kiro (unlimited) + +Result: Never stop coding, minimal cost +``` + +--- + +## ⚡ Gyors kezdés + +**1. Globális telepítés:** + +```bash +npm install -g omniroute +omniroute +``` + +🎉 Az irányítópult ekkor nyílik meg: `http://localhost:20128` + +| Parancs | Leírás | +| ----------------------- | --------------------------------------------- | +| `omniroute` | Szerver indítása (alapértelmezett port 20128) | +| `omniroute --port 3000` | Egyéni port használata | +| `omniroute --no-open` | Ne nyissa meg automatikusan a böngészőt | +| `omniroute --help` | Segítség megjelenítése | + +**2. Csatlakozzon egy INGYENES szolgáltatóhoz:** + +Irányítópult → Szolgáltatók → Csatlakozás **Claude Code** vagy **Antigravity** → OAuth bejelentkezés → Kész! + +**3. Használja a CLI eszközben:** + +``` +Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings: + Endpoint: http://localhost:20128/v1 + API Key: [copy from dashboard] + Model: if/kimi-k2-thinking +``` + +**Ennyi!** Kezdje el a kódolást az INGYENES AI modellekkel. + +**Alternatív – forrásból fut:** + +```bash +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +--- + +## 🐳 Docker + +Az OmniRoute nyilvános Docker-képként érhető el a [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute) webhelyen. + +**Gyors futás:** + +```bash +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**Környezetfájllal:** + +```bash +# Copy and edit .env first +cp .env.example .env + +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + --env-file .env \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**A Docker Compose használata:** + +```bash +# Base profile (no CLI tools) +docker compose --profile base up -d + +# CLI profile (Claude Code, Codex, OpenClaw built-in) +docker compose --profile cli up -d +``` + +| Kép | Címke | Méret | Leírás | +| ------------------------ | -------- | ------- | ---------------------- | +| `diegosouzapw/omniroute` | `latest` | ~250 MB | Legújabb stabil kiadás | +| `diegosouzapw/omniroute` | `1.0.3` | ~250 MB | Jelenlegi verzió | + +--- + +## 💰 Árazás egy pillantásra + +| Tier | Szolgáltató | Költség | Kvóta visszaállítása | Legjobb a | +| ----------------- | ------------------ | --------------------------- | ---------------------- | ------------------------------- | +| **💳 ELŐFIZETÉS** | Claude Code (Pro) | 20 USD/hó | 5 óra + heti | Már előfizetett | +| | Codex (Plus/Pro) | 20-200 USD/hó | 5 óra + heti | OpenAI felhasználók | +| | Gemini CLI | **INGYENES** | 180 000/hó + 1 000/nap | Mindenki! | +| | GitHub másodpilóta | 10-19 USD/hó | Havi | GitHub felhasználók | +| **🔑 API KULCS** | NVIDIA NIM | **INGYENES** (1000 kredit) | Egyszeri | Ingyenes szintű tesztelés | +| | DeepSeek | Felhasználásonkénti fizetés | Nincs | Legjobb ár/minőség | +| | Groq | Ingyenes szint + fizetett | Ár korlátozott | Ultragyors következtetés | +| | xAI (Grok) | Felhasználásonkénti fizetés | Nincs | Grok modellek | +| | Mistral | Ingyenes szint + fizetett | Ár korlátozott | Európai AI | +| | OpenRouter | Felhasználásonkénti fizetés | Nincs | 100+ modell | +| **💰 OLCSÓ** | GLM-4.7 | 0,6 USD/1M | Naponta 10:00 | Költségvetési biztonsági mentés | +| | MiniMax M2.1 | 0,2 USD/1M | 5 órás gurulás | Legolcsóbb lehetőség | +| | Kimi K2 | 9 USD/hó lakás | 10 millió token/hó | Előrelátható költség | +| **🆓 INGYENES** | iFlow | $0 | Korlátlan | 8 modell ingyenes | +| | Qwen | $0 | Korlátlan | 3 modell ingyenes | +| | Kiro | $0 | Korlátlan | Claude ingyen | + +**💡 Pro tipp:** Kezdje a Gemini CLI-vel (180 000 ingyenes/hónap) + iFlow (korlátlan ingyenes) kombináció = 0 USD költség! + +--- + +## 🎯 Használati esetek + +### 1. eset: "Claude Pro előfizetésem van" + +**Probléma:** A kvóta lejár, kihasználatlanul, sebességkorlátozások erős kódolás közben + +``` +Combo: "maximize-claude" + 1. cc/claude-opus-4-6 (use subscription fully) + 2. glm/glm-4.7 (cheap backup when quota out) + 3. if/kimi-k2-thinking (free emergency fallback) + +Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total +vs. $20 + hitting limits = frustration +``` + +### 2. eset: "Nulla költséget akarok" + +**Probléma:** Nem engedheti meg magának az előfizetést, megbízható mesterséges intelligencia kódolásra van szüksége + +``` +Combo: "free-forever" + 1. gc/gemini-3-flash (180K free/month) + 2. if/kimi-k2-thinking (unlimited free) + 3. qw/qwen3-coder-plus (unlimited free) + +Monthly cost: $0 +Quality: Production-ready models +``` + +### 3. eset: "24 órás kódolásra van szükségem, megszakítás nélkül" + +**Probléma:** Határidők, nem engedheti meg magának az állásidőt + +``` +Combo: "always-on" + 1. cc/claude-opus-4-6 (best quality) + 2. cx/gpt-5.2-codex (second subscription) + 3. glm/glm-4.7 (cheap, resets daily) + 4. minimax/MiniMax-M2.1 (cheapest, 5h reset) + 5. if/kimi-k2-thinking (free unlimited) + +Result: 5 layers of fallback = zero downtime +``` + +### 4. eset: "INGYENES AI-t akarok az OpenClawban" + +**Probléma:** AI-asszisztens szükséges az üzenetküldő alkalmazásokhoz, teljesen ingyenes + +``` +Combo: "openclaw-free" + 1. if/glm-4.7 (unlimited free) + 2. if/minimax-m2.1 (unlimited free) + 3. if/kimi-k2-thinking (unlimited free) + +Monthly cost: $0 +Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal... +``` + +--- + +## 💡 Főbb jellemzők + +### 🧠 Core Routing & Intelligence + +| Funkció | Mit csinál | +| --------------------------------------- | ------------------------------------------------------------------------------------------- | +| 🎯 **Intelligens 4-szintű tartalék** | Automatikus útvonal: Előfizetés → API-kulcs → Olcsó → Ingyenes | +| 📊 **Valós idejű kvótakövetés** | Élő tokenszám + visszaszámlálás visszaállítása szolgáltatónként | +| 🔄 **Formátum fordítás** | OpenAI ↔ Claude ↔ Gemini ↔ Kurzor ↔ Kiro zökkenőmentes + válaszfertőtlenítés | +| 👥 **Többfiókos támogatás** | Több fiók szolgáltatónként intelligens kiválasztással | +| 🔄 **Automatikus token frissítés** | Az OAuth-tokenek automatikusan frissülnek | +| 🎨 **Egyéni kombók** | 6 stratégia: fill-first, round-robin, p2c, random, legkevésbé használt, költségoptimalizált | +| 🧩 **Egyedi modellek** | Adjon hozzá bármilyen modellazonosítót bármely szolgáltatóhoz | +| 🌐 **Wildcard Router** | `provider/*` minták továbbítása bármely szolgáltatóhoz dinamikusan | +| 🧠 **Átgondolt költségvetés** | Átjárási, automatikus, egyéni és adaptív módok érvelési modellekhez | +| 💬 **Rendszer azonnali befecskendezés** | Globális rendszerkérdés minden kérelemre érvényes | +| 📄 **Responses API** | Teljes OpenAI Responses API (`/v1/responses`) támogatás a Codexhez | + +### 🎵 Multimodális API-k + +| Funkció | Mit csinál | +| ---------------------- | ------------------------------------------------------------ | +| 🖼️ **Képgenerálás** | `/v1/images/generations` — 4 szolgáltató, 9+ modell | +| 📐 **Beágyazás** | `/v1/embeddings` — 6 szolgáltató, 9+ modell | +| 🎤 **Audio átírás** | `/v1/audio/transcriptions` — Suttogás-kompatibilis | +| 🔊 **Szövegfelolvasó** | `/v1/audio/speech` — Hangszintézis több szolgáltatónál | +| 🛡️ **Moderálás** | `/v1/moderations` — Tartalombiztonsági ellenőrzések | +| 🔀 **Átsorolás** | `/v1/rerank` — A dokumentumok relevancia szerinti átsorolása | + +### 🛡️ Rugalmasság és biztonság + +| Funkció | Mit csinál | +| --------------------------------- | ----------------------------------------------------------------------------------------- | +| 🔌 **Megszakító** | Automatikus megnyitás/bezárás szolgáltatónként konfigurálható küszöbértékekkel | +| 🛡️ **Menydörgésellenes csorda** | Mutex + szemafor sebességkorlátozás API-kulcs-szolgáltatók számára | +| 🧠 **Szemantikus gyorsítótár** | A kétszintű gyorsítótár (aláírás + szemantikai) csökkenti a költségeket és a késleltetést | +| ⚡ **Idempotencia kérése** | 5s dedup ablak ismétlődő kérésekhez | +| 🔒 **TLS ujjlenyomat-hamisítás** | A TLS-alapú botészlelés megkerülése a wreq-js segítségével | +| 🌐 **IP-szűrés** | Allowlist/blokkolista API hozzáférés-vezérléshez | +| 📊 **Szerkeszthető díjkorlátok** | Konfigurálható fordulatszám, minimális rés és maximális egyidejű rendszerszinten | +| 🛡 **API Endpoint Protection** | Auth kapuzás + szolgáltató blokkolása a `/models` végponthoz | +| 🔒 **Proxy láthatósága** | Színkódolt jelvények: 🟢 globális, 🟡 szolgáltató, 🔵 kapcsolatonként IP kijelzővel | +| 🌐 **3-szintű proxykonfiguráció** | Proxyk konfigurálása globális, szolgáltatónkénti vagy kapcsolatonkénti szinten | + +### 📊 Megfigyelhetőség és elemzés + +| Funkció | Mit csinál | +| -------------------------------- | ----------------------------------------------------------------------------------------------- | ----------- | +| 📝 **Naplózás kérése** | Hibakeresési mód teljes kérés/válasz naplókkal | +| 💾 **SQLite proxynaplók** | Az állandó proxynaplók túlélik a szerver újraindítását | +| 📊 **Analytics Dashboard** | Újragrafikusok: statisztikai kártyák, modellhasználati táblázat, szolgáltatói táblázat | +| 📈 **Haladáskövetés** | SSE előrehaladási események engedélyezése streaming | +| 🧪 **LLM értékelések** | Aranykészlet tesztelése 4 meccsstratégiával | +| 🔍 **Telemetria kérése** | p50/p95/p99 késleltetési összesítés + X-Request-Id nyomkövetés | +| 📋 **Logs Dashboard** | Egységes 4 lapos oldal: Kérelemnaplók, Proxynaplók, Auditnaplók, Konzol | +| 🖥️ **Console Log Viewer** | Valós idejű terminál stílusú megjelenítő szintszűrővel, kereséssel, automatikus görgetéssel | +| 📑 **Fájlalapú naplózás** | A konzolelfogó az összes kimenetet JSON-naplófájlba rögzíti | forgatással | +| 🏥 **Egészségügyi irányítópult** | A rendszer üzemideje, az áramkör megszakítói állapotai, a zárolások, a gyorsítótár statisztikái | +| 💰 **Költségkövetés** | Költségvetés-kezelés + modellenkénti árképzés | + +### ☁️ Telepítés és szinkronizálás + +| Funkció | Mit csinál | +| ----------------------------- | --------------------------------------------------------------------------------------------- | ------------ | +| 💾 **Cloud Sync** | Szinkronizálja a konfigurációt az eszközök között a Cloudflare Workers | segítségével | +| 🌐 **Deploy Anywhere** | Localhost, VPS, Docker, Cloudflare Workers | +| 🔑 **API-kulcskezelés** | API-kulcsok generálása, forgatása és hatóköre szolgáltatónként | +| 🧙 **Bevezető varázsló** | 4 lépésben irányított beállítás első felhasználók számára | +| 🔧 **CLI Tools Dashboard** | Egy kattintással konfigurálja a Claude, Codex, Cline, OpenClaw, Kilo, Antigravity | +| 🔄 **DB biztonsági mentések** | Automatikus biztonsági mentés, visszaállítás, exportálás és importálás az összes beállításhoz | +| 🌐 **Nemzetközivé válás** | Teljes i18n next-intl-vel – angol + portugál (Brazília) támogatás | +| 🌍 **Nyelvválasztó** | Globe ikon a fejlécben a valós idejű nyelvváltáshoz (🇺🇸/🇧🇷) | +| 📂 **Egyéni adattár** | `DATA_DIR` env var felülírja az alapértelmezett `~/.omniroute` tárolási útvonalat | + +
+📖 Funkció részletei + +### 🎯 Intelligens 4 szintes tartalék + +Hozzon létre kombókat automatikus visszaállítással: + +``` +Combo: "my-coding-stack" + 1. cc/claude-opus-4-6 (your subscription) + 2. nvidia/llama-3.3-70b (free NVIDIA API) + 3. glm/glm-4.7 (cheap backup, $0.6/1M) + 4. if/kimi-k2-thinking (free fallback) + +→ Auto switches when quota runs out or errors occur +``` + +### 📊 Valós idejű kvótakövetés + +- Token fogyasztás szolgáltatónként +- Visszaszámlálás visszaállítása (5 órás, napi, heti) +- Költségbecslés a fizetett szintekre +- Havi kiadási jelentések + +### 🔄 Formátum fordítás + +Zökkenőmentes fordítás a formátumok között: + +- **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **OpenAI válaszok** +- A CLI eszköz OpenAI formátumot küld → OmniRoute lefordítja → szolgáltató natív formátumot kap +- Minden olyan eszközzel működik, amely támogatja az egyéni OpenAI végpontokat +- **Válaszfertőtlenítés** - Törli a nem szabványos mezőket a szigorú OpenAI SDK-kompatibilitás érdekében +- **Szerepnormalizálás** — `developer` → `system` nem OpenAI esetén; `system` → `user` GLM/ERNIE modellekhez +- **Gondolkodó címke kivonatolás** — `` blokkok → `reasoning_content` gondolkodó modellekhez +- **Strukturált kimenet** — `json_schema` → Gemini's `responseMimeType`/`responseSchema` + +### 👥 Többfiókos támogatás + +- Több fiók hozzáadása szolgáltatónként +- Automatikus körbefutó vagy prioritás alapú útvonalválasztás +- Visszatérés a következő fiókhoz, ha valamelyik eléri a kvótát + +### 🔄 Token automatikus frissítése + +- Az OAuth-tokenek a lejárat előtt automatikusan frissülnek +- Nincs szükség manuális újrahitelesítésre +- Zökkenőmentes tapasztalat az összes szolgáltatónál + +### 🎨 Egyéni kombók + +- Korlátlan számú modellkombináció létrehozása +- 6 stratégia: töltsd ki először, körbefutó, kettős választási lehetőség, véletlenszerű, legkevésbé használt, költségoptimalizált +- Oszd meg a kombinációkat az eszközök között a Cloud Sync segítségével + +### 🏥 Egészségügyi irányítópult + +- Rendszerállapot (üzemidő, verzió, memóriahasználat) +- A megszakítók állapotai szolgáltatónként (zárt/nyitott/félig nyitva) +- Díjkorlát állapot és aktív zárolások +- Az aláírás gyorsítótár statisztikái +- Késési telemetria (p50/p95/p99) + gyorsítótár +- Állítsa vissza az egészségi állapotot egyetlen kattintással + +### 🔧 Fordítói Játszótér + +Az OmniRoute egy erőteljes beépített fordítói játszóteret tartalmaz **4 móddal** az API-fordítások hibakereséséhez, teszteléséhez és figyeléséhez: + +| mód | Leírás | +| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **💻 Játszótér** | Közvetlen formátumfordítás – illessze be az API kérés törzsét, és azonnal megtudhatja, hogyan fordítja le az OmniRoute azt a szolgáltatói formátumok között (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). Példa sablonokat és formátum automatikus felismerést tartalmaz. | +| **💬 Chat Tester** | Küldjön valódi csevegési kérelmeket az OmniRoute-on keresztül, és tekintse meg a teljes körutazást: a bemenetet, a lefordított kérést, a szolgáltatói választ és a visszafordított választ. Felbecsülhetetlen a kombinált útválasztás érvényesítéséhez. | +| **🧪 Tesztpad** | Kötegelt tesztelési mód — határozzon meg több tesztesetet különböző bemenetekkel és várható kimenetekkel, futtassa le egyszerre, és hasonlítsa össze a szolgáltatók és modellek eredményeit. | +| **📱 Élő monitor** | Valós idejű kérések figyelése – figyelje a bejövő kéréseket, ahogy azok az OmniRoute-on keresztül áramlanak, nézze meg a formátumfordításokat élőben, és azonnal azonosítsa a problémákat. | + +**Hozzáférés:** Irányítópult → Fordító (oldalsáv) + +### 💾 Cloud Sync + +- Szinkronizálja a szolgáltatókat, kombinációkat és beállításokat az eszközök között +- Automatikus háttérszinkronizálás +- Biztonságos titkosított tárhely + +
+ +--- + +## 📖 Beállítási útmutató + +
+💳 Előfizetési szolgáltatók + +### Claude Code (Pro/Max) + +```bash +Dashboard → Providers → Connect Claude Code +→ OAuth login → Auto token refresh +→ 5-hour + weekly quota tracking + +Models: + cc/claude-opus-4-6 + cc/claude-sonnet-4-5-20250929 + cc/claude-haiku-4-5-20251001 +``` + +**Profi tipp:** Használja az Opust összetett feladatokhoz, a Sonnet pedig a sebességhez. Az OmniRoute nyomkövetési kvóta modellenként! + +### OpenAI Codex (Plus/Pro) + +```bash +Dashboard → Providers → Connect Codex +→ OAuth login (port 1455) +→ 5-hour + weekly reset + +Models: + cx/gpt-5.2-codex + cx/gpt-5.1-codex-max +``` + +### Gemini CLI (INGYENES 180 000/hó!) + +```bash +Dashboard → Providers → Connect Gemini CLI +→ Google OAuth +→ 180K completions/month + 1K/day + +Models: + gc/gemini-3-flash-preview + gc/gemini-2.5-pro +``` + +**Legjobb érték:** Hatalmas ingyenes szint! Használja ezt a fizetett szintek előtt. + +### GitHub másodpilóta + +```bash +Dashboard → Providers → Connect GitHub +→ OAuth via GitHub +→ Monthly reset (1st of month) + +Models: + gh/gpt-5 + gh/claude-4.5-sonnet + gh/gemini-3-pro +``` + +
+ +
+🔑 API kulcs szolgáltatók + +### NVIDIA NIM (INGYENES 1000 kredit!) + +1. Regisztráljon: [build.nvidia.com](https://build.nvidia.com) +2. Ingyenes API-kulcs beszerzése (1000 következtetési kredit) +3. Irányítópult → Szolgáltató hozzáadása → NVIDIA NIM: + - API-kulcs: `nvapi-your-key` + +**Modellek:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct` és több mint 50 + +**Profi tipp:** OpenAI-kompatibilis API – zökkenőmentesen működik az OmniRoute formátumfordításával! + +### DeepSeek + +1. Regisztráljon: [platform.deepseek.com](https://platform.deepseek.com) +2. Szerezze be az API-kulcsot +3. Irányítópult → Szolgáltató hozzáadása → DeepSeek + +**Modellek:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder` + +### Groq (ingyenes szint elérhető!) + +1. Regisztráljon: [console.groq.com](https://console.groq.com) +2. API-kulcs beszerzése (ingyenes szint tartalmazza) +3. Irányítópult → Szolgáltató hozzáadása → Groq + +**Modellek:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b` + +**Profi tipp:** Ultragyors következtetés – a legjobb valós idejű kódoláshoz! + +### OpenRouter (100+ modell) + +1. Regisztráljon: [openrouter.ai](https://openrouter.ai) +2. Szerezze be az API-kulcsot +3. Irányítópult → Szolgáltató hozzáadása → OpenRouter + +**Modellek:** Hozzáférés több mint 100 modellhez az összes főbb szolgáltatótól egyetlen API-kulccsal. + +
+ +
+💰 Olcsó szolgáltatók (tartalék) + +### GLM-4.7 (napi visszaállítás, 0,6 USD/1 millió) + +1. Regisztráljon: [Zhipu AI](https://open.bigmodel.cn/) +2. Szerezze be az API-kulcsot a Coding Plan-ból +3. Irányítópult → API-kulcs hozzáadása: + - Szolgáltató: `glm` + - API-kulcs: `your-key` + +**Használd:** `glm/glm-4.7` + +**Profi tipp:** A kódolási terv 3-szoros kvótát kínál 1/7 költséggel! Visszaállítás naponta 10:00. + +### MiniMax M2.1 (5 óra visszaállítás, 0,20 USD/1 millió) + +1. Regisztráljon: [MiniMax](https://www.minimax.io/) +2. Szerezze be az API-kulcsot +3. Irányítópult → API-kulcs hozzáadása + +**Használd:** `minimax/MiniMax-M2.1` + +**Profi tipp:** A legolcsóbb lehetőség hosszú kontextushoz (1 millió token)! + +### Kimi K2 (9 USD/hó lakás) + +1. Feliratkozás: [Moonshot AI](https://platform.moonshot.ai/) +2. Szerezze be az API-kulcsot +3. Irányítópult → API-kulcs hozzáadása + +**Használat:** `kimi/kimi-latest` + +**Profi tipp:** Fix 9 USD/hó 10 millió token esetén = 0,90 USD/1 millió tényleges költség! + +
+ +
+🆓 INGYENES szolgáltatók (vészhelyzeti biztonsági mentés) + +### iFlow (8 INGYENES modell) + +```bash +Dashboard → Connect iFlow +→ iFlow OAuth login +→ Unlimited usage + +Models: + if/kimi-k2-thinking + if/qwen3-coder-plus + if/glm-4.7 + if/minimax-m2 + if/deepseek-r1 +``` + +### Qwen (3 INGYENES modell) + +```bash +Dashboard → Connect Qwen +→ Device code authorization +→ Unlimited usage + +Models: + qw/qwen3-coder-plus + qw/qwen3-coder-flash +``` + +### Kiro (Claude INGYENES) + +```bash +Dashboard → Connect Kiro +→ AWS Builder ID or Google/GitHub +→ Unlimited usage + +Models: + kr/claude-sonnet-4.5 + kr/claude-haiku-4.5 +``` + +
+ +
+🎨 Kombók létrehozása + +### 1. példa: Előfizetés maximalizálása → Olcsó biztonsági mentés + +``` +Dashboard → Combos → Create New + +Name: premium-coding +Models: + 1. cc/claude-opus-4-6 (Subscription primary) + 2. glm/glm-4.7 (Cheap backup, $0.6/1M) + 3. minimax/MiniMax-M2.1 (Cheapest fallback, $0.20/1M) + +Use in CLI: premium-coding +``` + +### 2. példa: Csak ingyenes (nulla költség) + +``` +Name: free-combo +Models: + 1. gc/gemini-3-flash-preview (180K free/month) + 2. if/kimi-k2-thinking (unlimited) + 3. qw/qwen3-coder-plus (unlimited) + +Cost: $0 forever! +``` + +
+ +
+🔧 CLI-integráció + +### Kurzor IDE + +``` +Settings → Models → Advanced: + OpenAI API Base URL: http://localhost:20128/v1 + OpenAI API Key: [from OmniRoute dashboard] + Model: cc/claude-opus-4-6 +``` + +### Claude Code + +Használja az irányítópult **CLI Tools** oldalát az egykattintásos konfiguráláshoz, vagy szerkessze manuálisan a `~/.claude/settings.json` fájlt. + +### Codex CLI + +```bash +export OPENAI_BASE_URL="http://localhost:20128" +export OPENAI_API_KEY="your-omniroute-api-key" + +codex "your prompt" +``` + +### OpenClaw + +**1. lehetőség – Irányítópult (ajánlott):** + +``` +Dashboard → CLI Tools → OpenClaw → Select Model → Apply +``` + +**2. lehetőség – Kézi:** Szerkesztés `~/.openclaw/openclaw.json`: + +```json +{ + "models": { + "providers": { + "omniroute": { + "baseUrl": "http://127.0.0.1:20128/v1", + "apiKey": "sk_omniroute", + "api": "openai-completions" + } + } + } +} +``` + +> **Megjegyzés:** Az OpenClaw csak a helyi OmniRoute-tal működik. Használja az `127.0.0.1` `localhost` helyett az IPv6-feloldási problémák elkerülése érdekében. + +### Cline / Folytatás / RooCode + +``` +Settings → API Configuration: + Provider: OpenAI Compatible + Base URL: http://localhost:20128/v1 + API Key: [from OmniRoute dashboard] + Model: if/kimi-k2-thinking +``` + +
+ +--- + +## 📊 Elérhető modellek + +
+Az összes elérhető modell megtekintése + +**Claude Code (`cc/`)** - Pro/Max: + +- `cc/claude-opus-4-6` +- `cc/claude-sonnet-4-5-20250929` +- `cc/claude-haiku-4-5-20251001` + +**Kód (`cx/`)** - Plusz/Pro: + +- `cx/gpt-5.2-codex` +- `cx/gpt-5.1-codex-max` + +**Gemini CLI (`gc/`)** – INGYENES: + +- `gc/gemini-3-flash-preview` +- `gc/gemini-2.5-pro` + +**GitHub másodpilóta (`gh/`)**: + +- `gh/gpt-5` +- `gh/claude-4.5-sonnet` + +**NVIDIA NIM (`nvidia/`)** - INGYENES kreditek: + +- `nvidia/llama-3.3-70b-instruct` +- `nvidia/mistral-7b-instruct` +- 50+ további modell itt: [build.nvidia.com](https://build.nvidia.com) + +**GLM (`glm/`)** - 0,6 USD/1 millió: + +- `glm/glm-4.7` + +**MiniMax (`minimax/`)** - 0,2 USD/1 millió: + +- `minimax/MiniMax-M2.1` + +**iFlow (`if/`)** – INGYENES: + +- `if/kimi-k2-thinking` +- `if/qwen3-coder-plus` +- `if/deepseek-r1` +- `if/glm-4.7` +- `if/minimax-m2` + +**Qwen (`qw/`)** - INGYENES: + +- `qw/qwen3-coder-plus` +- `qw/qwen3-coder-flash` + +**Kiro (`kr/`)** – INGYENES: + +- `kr/claude-sonnet-4.5` +- `kr/claude-haiku-4.5` + +**OpenRouter (`or/`)** - 100+ modell: + +- `or/anthropic/claude-4-sonnet` +- `or/google/gemini-2.5-pro` +- Bármelyik modell a [openrouter.ai/models](https://openrouter.ai/models) terméktől + +
+ +--- + +## 🧪 Értékelések (Evals) + +Az OmniRoute egy beépített értékelési keretrendszert tartalmaz az LLM-válasz minőségének tesztelésére egy aranykészlettel összehasonlítva. Az irányítópult **Analytics → Evals** menüpontjában érheti el. + +### Beépített arany készlet + +Az előre feltöltött "OmniRoute Golden Set" 10 tesztesetet tartalmaz, amelyek lefedik: + +- Üdvözlet, matematika, földrajz, kódgenerálás +- JSON formátum megfelelés, fordítás, leértékelés +- Biztonsági elutasítás (káros tartalom), számlálás, logikai logika + +### Értékelési stratégiák + +| Stratégia | Leírás | Példa | +| ---------- | ------------------------------------------------------------------------------------------------- | -------------------------------- | +| `exact` | A kimenetnek pontosan meg kell egyeznie | `"4"` | +| `contains` | A kimenetnek tartalmaznia kell részkarakterláncot (a kis- és nagybetűk nem különböznek egymástól) | `"Paris"` | +| `regex` | A kimenetnek meg kell egyeznie a regex mintával | `"1.*2.*3"` | +| `custom` | Az egyéni JS függvény igaz/hamis | `(output) => output.length > 10` | + +--- + +## 🔐 OAuth em Servidor Remoto (távoli OAuth beállítás) + + + +> **⚠️ FONTOS az OmniRoute em VPS/Docker/servidor Remoto használatához** + +### Az OAuth do Antigravity / Gemini CLI falha em servidores remotos? + +Az **Antigravitáció** és a **Gemini CLI** usam **Google OAuth 2.0** hitelesítése. A Google exige que a `redirect_uri` nincs fluxo OAuth seja **exatamente** uma das URI-k pre-cadastradas no Google Cloud Console do aplicativo. + +As credenciais OAuth embutidas no OmniRoute estão cadastradas **apenas para `localhost`**. Quando você acessa o OmniRoute em um servidor Remoto (pl.: `https://omniroute.meuservidor.com`), o Google rejeita a autenticação com: + +``` +Error 400: redirect_uri_mismatch +``` + +### Megoldás: A suas próprias credenciais OAuth konfigurálása + +Você precisa criar um **OAuth 2.0 ügyfél-azonosító** nincs Google Cloud Console com egy URI do seu servidor. + +#### Passo a passo + +**1. Acesse o Google Cloud Console** + +Abra: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials) + +**2. Crie um novo OAuth 2.0 ügyfél-azonosító** + +- Kattintson a gombra **"+ Hitelesítési adatok létrehozása"** → **"OAuth-kliens-azonosító"** +- Tipo de Aplicativo: **"Web alkalmazás"** +- Név: escolha qualquer nome (pl.: `OmniRoute Remote`) + +**3. Adicione mint engedélyezett átirányítási URI** + +No campo **"Engedélyezett átirányítási URI-k"**, kiegészítés: + +``` +https://seu-servidor.com/callback +``` + +> Helyettesítő `seu-servidor.com` pelo domínio vagy IP do seu servidor (beleértve a porta se necessário-t is, pl.: `http://45.33.32.156:20128/callback`). + +**4. Másolat mentése hitelesítésként** + +Após criar, o Google mostrará o **Client ID** e o **Client Secret**. + +**5. Konfigurálás variáveis de ambienteként** + +No seu `.env` (ou nas variáveis de ambiente do Docker): + +```bash +# Para Antigravity: +ANTIGRAVITY_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret + +# Para Gemini CLI: +GEMINI_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +``` + +**6. Reinicie o OmniRoute** + +```bash +# Se usando npm: +npm run dev + +# Se usando Docker: +docker restart omniroute +``` + +**7. Tente conectar novamente** + +Irányítópult → Szolgáltatók → Antigravity (vagy Gemini CLI) → OAuth + +Agora o Google redirecionará corretamente para `https://seu-servidor.com/callback` e a autenticação funcionará. + +--- + +### Kerülő megoldás temporário (sem configurar credenciais próprias) + +Se não quiser criar credenciais próprias agora, ainda é possível usar o fluxo **manual de URL**: + +1. OmniRoute abrirá a Google autorização URL-jét +2. Após você autorizar, o Google tentará redirecionar para `localhost` (que falha no servidor remoto) +3. ** Teljes URL másolása** da barra de endereço do seu browser (mesmo que a página não carregue) +4. Cole essa URL no campo que aparece no modal de conexão do OmniRoute +5. Kattintson a **"Connect"** gombra + +> Este workaround funciona porque o código de autorização na URL é válido independente do redirect ter carregado ou não. + +--- + +## 🐛 Hibaelhárítás + +
+Kattintson a hibaelhárítási útmutató kibontásához + +**"A nyelvi modell nem adott üzenetet"** + +- A szolgáltatói kvóta kimerült → Ellenőrizze az irányítópult kvótakövetőjét +- Megoldás: Használjon kombinált tartalékot, vagy váltson olcsóbb szintre + +**Drátakorlát** + +- Előfizetési kvóta lejárt → Tartalék a GLM/MiniMax-hoz +- Kombinó hozzáadása: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking` + +**OAuth token lejárt** + +- Az OmniRoute automatikusan frissíti +- Ha a problémák továbbra is fennállnak: Irányítópult → Szolgáltató → Újracsatlakozás + +**Magas költségek** + +- Ellenőrizze a használati statisztikákat az Irányítópult → Költségek menüpontban +- Állítsa át az elsődleges modellt GLM/MiniMax-ra +- Használjon ingyenes réteget (Gemini CLI, iFlow) a nem kritikus feladatokhoz + +**A műszerfal rossz porton nyílik meg** + +- `PORT=20128` és `NEXT_PUBLIC_BASE_URL=http://localhost:20128` beállítása + +**Felhő szinkronizálási hibák** + +- Ellenőrizze, hogy `BASE_URL` mutat a futó példányra +- Ellenőrizzen `CLOUD_URL` pontot a várható felhő-végponthoz +- Tartsa az `NEXT_PUBLIC_*` értékeket a szerveroldali értékekkel összhangban + +**Az első bejelentkezés nem működik** + +- Ellenőrizze a `INITIAL_PASSWORD`-t itt: `.env` +- Ha nincs beállítva, a tartalék jelszó: `123456` + +**Nincs kérésnapló** + +- Állítsa be `ENABLE_REQUEST_LOGS=true` a `.env`-ban + +**A csatlakozási teszt „Érvénytelen” üzenetet mutat az OpenAI-kompatibilis szolgáltatók esetében** + +- Sok szolgáltató nem tesz közzé `/models` végpontot +- Az OmniRoute v1.0.6+ tartalmazza a tartalék érvényesítést a csevegés befejezésén keresztül +- Győződjön meg arról, hogy az alap URL tartalmazza a `/v1` utótagot + +
+ +--- + +## 🛠️ Tech Stack + +- **Futtatási idejű**: Node.js 18–22 LTS (⚠️ A Node.js 24+ **nem támogatott** - A `better-sqlite3` natív binárisok nem kompatibilisek) +- **Nyelv**: TypeScript 5.9 – **100% TypeScript** `src/` és `open-sse/` (v1.0.6) között +- **Keretrendszer**: Next.js 16 + React 19 + Tailwind CSS 4 +- **Adatbázis**: LowDB (JSON) + SQLite (tartomány állapota + proxynaplók) +- **Streaming**: Szerver által küldött események (SSE) +- **Auth**: OAuth 2.0 (PKCE) + JWT + API kulcsok +- **Tesztelés**: Node.js tesztfutó (368+ egységteszt) +- **CI/CD**: GitHub Actions (automatikus npm közzététel + Docker Hub kiadáskor) +- **Webhely**: [omniroute.online](https://omniroute.online) +- **Csomag**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute) +- **Dokker**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute) +- **Rugalmasság**: megszakító, exponenciális visszakapcsolás, mennydörgés elleni csorda, TLS-hamisítás + +--- + +## 📖 Dokumentáció + +| dokumentum | Leírás | +| -------------------------------------------- | -------------------------------------------------- | +| [User Guide](docs/USER_GUIDE.md) | Szolgáltatók, kombók, CLI-integráció, telepítés | +| [API Reference](docs/API_REFERENCE.md) | Minden végpont példákkal | +| [Troubleshooting](docs/TROUBLESHOOTING.md) | Gyakori problémák és megoldások | +| [Architecture](docs/ARCHITECTURE.md) | Rendszerarchitektúra és belső elemek | +| [Contributing](CONTRIBUTING.md) | Fejlesztési beállítások és irányelvek | +| [OpenAPI Spec](docs/openapi.yaml) | OpenAPI 3.0 specifikáció | +| [Security Policy](SECURITY.md) | Sebezhetőségi jelentések és biztonsági gyakorlatok | +| [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | Teljes útmutató: VM + nginx + Cloudflare beállítás | +| [Features Gallery](docs/FEATURES.md) | Vizuális irányítópult bemutató képernyőképekkel | + +### 📸 Irányítópult előnézete + +
+Kattintson az irányítópult képernyőképeinek megtekintéséhez + +| Oldal | Képernyőkép | +| --------------------- | ------------------------------------------------- | +| **Szolgáltatók** | ![Providers](docs/screenshots/01-providers.png) | +| **Combos** | ![Combos](docs/screenshots/02-combos.png) | +| **Analytics** | ![Analytics](docs/screenshots/03-analytics.png) | +| **Egészség** | ![Health](docs/screenshots/04-health.png) | +| **Fordító** | ![Translator](docs/screenshots/05-translator.png) | +| **Beállítások** | ![Settings](docs/screenshots/06-settings.png) | +| **CLI eszközök** | ![CLI Tools](docs/screenshots/07-cli-tools.png) | +| **Használati naplók** | ![Usage](docs/screenshots/08-usage.png) | +| **Végpont** | ![Endpoint](docs/screenshots/09-endpoint.png) | + +
+ +--- + +## 🗺️ Útiterv + +Az OmniRoute **210+ funkciót tervez** több fejlesztési fázisban. Íme a legfontosabb területek: + +| Kategória | Tervezett funkciók | Kiemelések | +| ----------------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------ | +| 🧠 **Útválasztás és intelligencia** | 25+ | Legkisebb késleltetésű útválasztás, címke alapú útválasztás, kvóta elővizsgálat, P2C-fiók kiválasztása | +| 🔒 **Biztonság és megfelelőség** | 20+ | SSRF keményítés, hitelesítő adatok álcázása, végpontonkénti sebességkorlát, felügyeleti kulcs hatóköre | +| 📊 **Megfigyelhetőség** | 15+ | OpenTelemetry integráció, valós idejű kvótafigyelés, modellenkénti költségkövetés | +| 🔄 ** Szolgáltatói integrációk** | 20+ | Dinamikus modellnyilvántartás, szolgáltatói leállások, többfiókos Codex, másodpilóta kvótaelemzés | +| ⚡ **Teljesítmény** | 15+ | Kettős gyorsítótárréteg, gyorsítótár, válaszgyorsítótár, folyamatos adatfolyam, kötegelt API | +| 🌐 **Ökoszisztéma** | 10+ | WebSocket API, config hot-reload, elosztott konfigurációs tároló, kereskedelmi mód | + +### 🔜 Hamarosan + +- 🔗 **OpenCode integráció** - Natív szolgáltatói támogatás az OpenCode AI kódoló IDE-hez +- 🔗 **TRAE integráció** — A TRAE AI fejlesztési keret teljes támogatása +- 📦 **Batch API** - Aszinkron kötegelt feldolgozás tömeges kérésekhez +- 🎯 **Címke alapú útválasztás** - Egyéni címkéken és metaadatokon alapuló útvonalkérések +- 💰 **Legalacsonyabb költségű stratégia** - Automatikusan válassza ki a legolcsóbb elérhető szolgáltatót + +> 📝 A teljes funkció specifikációi a [**OMNI_TOKEN_147**](docs/new-features/) címen érhetők el (217 részletes specifikáció) + +--- + +## 📧 Támogatás + +> 💬 **Csatlakozzon közösségünkhöz!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Kérjen segítséget, ossza meg tippjeit, és naprakész legyen. + +- **Webhely**: [omniroute.online](https://omniroute.online) +- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) +- **Problémák**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) +- **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) +- **Eredeti projekt**: [9router by decolua](https://github.com/decolua/9router) + +--- + +## 👥 Közreműködők + +[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) + +### Hogyan járuljunk hozzá + +1. Fork a tároló +2. Hozza létre saját jellemző ágát (`git checkout -b feature/amazing-feature`) +3. Végezze el módosításait (`git commit -m 'Add amazing feature'`) +4. Nyomja az ágra (`git push origin feature/amazing-feature`) +5. Nyisson meg egy lehívási kérelmet + +A részletes útmutatásért lásd: [CONTRIBUTING.md](CONTRIBUTING.md). + +### Új verzió kiadása + +```bash +# Create a release — npm publish happens automatically +gh release create v1.0.6 --title "v1.0.6" --generate-notes +``` + +--- + +## 📊 Csillagtörténet + + + + + + Star History Chart + + + +--- + +## 🙏 Köszönetnyilvánítás + +Külön köszönet **[9router](https://github.com/decolua/9router)**, **[decolua](https://github.com/decolua)** – az eredeti projekt, amely ezt a villát inspirálta. Az OmniRoute erre a hihetetlen alapra épít további funkciókkal, multimodális API-kkal és teljes TypeScript-újraírással. + +Külön köszönet **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** – az eredeti Go implementációnak, amely ihlette ezt a JavaScript-portot. + +--- + +## 📄 Licenc + +MIT-licenc – a részletekért lásd: [LICENSE](LICENSE). + +--- + +--- + +## 🇧🇷 OmniRoute — IA ingyenes átjáró + + + +### Nunca pare de codar. Roteamento inteligente para **modelos de IA GRATUITOS e de baixo custo** com backback automatico. + +_Seu proxy univerzális API – um végpont, 36+ gyártó, nulla leállás._ + +### 🌐 Internacionalização (i18n) + +O dashboard do OmniRoute támogatja a **múltiplos idiomas**. Atualmente disponível em: + +| Idioma | Código | Állapot | +| --------------------- | ------- | ----------- | +| 🇺🇸 angol | `en` | ✅ Completo | +| 🇧🇷 Português (Brasil) | `pt-BR` | ✅ Completo | + +**Para trocar o idioma:** Clique no seletor de idioma (🇺🇸 EN) no header do dashboard → Selectione o idioma desejado. + +**Para adicionar um novo idioma:** + +1. Sírj `src/i18n/messages/{codigo}.json` baseado em `en.json` +2. Adicione o código em `src/i18n/config.ts` → `LOCALES` e `LANGUAGES` +3. Reinicie o servidor + +### ⚡ Início Rápido + +```bash +# Instalar via npm +npx omniroute@latest + +# Ou rodar do código-fonte +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +### 🐳 Docker + +```bash +docker run -d --name omniroute -p 20128:20128 diegosouzapw/omniroute:latest +``` + +### 🔑 Funcionalidades Principais + +- **36+ IA produkátor** – Claude, GPT, Gemini, Llama, Qwen, DeepSeek, e mais +- **Roteamento inteligente** — Fallback automatico entre provedores +- **Tradução de formato** — OpenAI ↔ Claude ↔ Gemini automatamente +- **Multi-conta** — Múltiplas contas por provedor com seleção inteligente +- **Cache szemântico** – Reduz custos e latência +- **OAuth automatico** — Tokens renovam automaticamente +- **Combos personalizados** - 6 estratégias de roteamento +- **Befejezett irányítópult** - Monitoring, naplók, elemzések, konfigurációk +- **CLI eszközök** — Claude Code, Codex, Cursor, Cline com um clique konfigurálása +- **100% TypeScript** – Código limpo e tipado + +### 📖 Documentação + +| Documento | Leírás | +| ----------------------------------------------- | -------------------------------------- | +| [Guia do Usuário](docs/USER_GUIDE.md) | Provedores, kombók, CLI, telepítés | +| [Referência da API](docs/API_REFERENCE.md) | Todos os végpontok com exemplos | +| [Solução de Problemas](docs/TROUBLESHOOTING.md) | Problemas comuns e soluções | +| [Arquitetura](docs/ARCHITECTURE.md) | Arquitetura e internos do sistema | +| [Contribuição](CONTRIBUTING.md) | Setup de desenvolvimento e Guidelines | +| [Deploy em VM](docs/VM_DEPLOYMENT_GUIDE.md) | Teljes verzió: VM + nginx + Cloudflare | + +### 📧 Támogatás + +> 💬 **Entre para a comunidade!** [Grupo WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Tire dúvidas, compartilhe dicas e fique atualizado. + +- **Webhely**: [omniroute.online](https://omniroute.online) +- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) +- **Problémák**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) + +--- + +
+ A ❤️ segítségével készült a 24/7 kódoló fejlesztőknek +
+ omniroute.online +
diff --git a/README.id.md b/README.id.md new file mode 100644 index 0000000000..7801d4a019 --- /dev/null +++ b/README.id.md @@ -0,0 +1,1238 @@ +
+ OmniRoute Dashboard + + # 🚀 OmniRoute — Gerbang AI Gratis + +🌐 **[English](#-omniroute--the-free-ai-gateway)** | **[Português (BR)](#-omniroute--gateway-de-ia-gratuito)** + +### Jangan pernah berhenti membuat kode. Perutean cerdas ke **model AI GRATIS & berbiaya rendah** dengan fallback otomatis. + +_Proksi API universal Anda — satu titik akhir, 36+ penyedia, tanpa waktu henti._ + +**Penyelesaian Obrolan • Penyematan • Pembuatan Gambar • Audio • Pemeringkatan Ulang • 100% TypeScript** + +--- + +### 🤖 Penyedia AI gratis untuk agen coding favorit Anda + +_Hubungkan alat IDE atau CLI apa pun yang didukung AI melalui OmniRoute — gerbang API gratis untuk pengkodean tanpa batas._ + + + + + + + + + + + + + + + + +
+ + OpenClaw
+ OpenClaw +

+ ⭐ 205K +
+ + NanoBot
+ NanoBot +

+ ⭐ 20.9K +
+ + PicoClaw
+ PicoClaw +

+ ⭐ 14.6K +
+ + ZeroClaw
+ ZeroClaw +

+ ⭐ 9.9K +
+ + IronClaw
+ IronClaw +

+ ⭐ 2.1K +
+ + OpenCode
+ OpenCode +

+ ⭐ 106K +
+ + Codex CLI
+ Codex CLI +

+ ⭐ 60.8K +
+ + Claude Code
+ Claude Code +

+ ⭐ 67.3K +
+ + Gemini CLI
+ Gemini CLI +

+ ⭐ 94.7K +
+ + Kilo Code
+ Kilo Code +

+ ⭐ 15.5K +
+ +📡 Semua agen terhubung melalui http://localhost:20128/v1 atau http://cloud.omniroute.online/v1 — satu konfigurasi, model tak terbatas, dan kuota + +--- + +[![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) +[![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) +[![License](https://img.shields.io/github/license/diegosouzapw/OmniRoute)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE) +[![Website](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) +[![WhatsApp](https://img.shields.io/badge/WhatsApp-Community-25D366?logo=whatsapp&logoColor=white)](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) + +
+ +--- + +## 🤔 Mengapa OmniRoute? + +**Berhenti membuang-buang uang dan mencapai batas:** + +- Kuota berlangganan habis tanpa terpakai setiap bulannya +- Batas kecepatan menghentikan Anda di tengah coding +- API mahal ($20-50/bulan per penyedia) +- Peralihan antar penyedia secara manual + +**OmniRoute memecahkan masalah ini:** + +- ✅ **Maksimalkan langganan** - Lacak kuota, gunakan setiap bit sebelum menyetel ulang +- ✅ **Pengembalian otomatis** - Berlangganan → Kunci API → Murah → Gratis, tanpa downtime +- ✅ **Multi-akun** - Round-robin antar akun per penyedia +- ✅ **Universal** - Bekerja dengan Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, alat CLI apa pun + +--- + +## 🔄 Cara Kerjanya + +``` +┌─────────────┐ +│ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) +│ Tool │ +└──────┬──────┘ + │ http://localhost:20128/v1 + ↓ +┌─────────────────────────────────────────┐ +│ OmniRoute (Smart Router) │ +│ • Format translation (OpenAI ↔ Claude) │ +│ • Quota tracking + Embeddings + Images │ +│ • Auto token refresh │ +└──────┬──────────────────────────────────┘ + │ + ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI + │ ↓ quota exhausted + ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc. + │ ↓ budget limit + ├─→ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M) + │ ↓ budget limit + └─→ [Tier 4: FREE] iFlow, Qwen, Kiro (unlimited) + +Result: Never stop coding, minimal cost +``` + +--- + +## ⚡ Mulai Cepat + +**1. Instal secara global:** + +```bash +npm install -g omniroute +omniroute +``` + +🎉 Dasbor terbuka di `http://localhost:20128` + +| Perintah | Deskripsi | +| ----------------------- | --------------------------------- | +| `omniroute` | Mulai server (port default 20128) | +| `omniroute --port 3000` | Gunakan port khusus | +| `omniroute --no-open` | Jangan buka otomatis browser | +| `omniroute --help` | Tampilkan bantuan | + +**2. Hubungkan penyedia GRATIS:** + +Dasbor → Penyedia → Hubungkan **Kode Claude** atau **Antigravitasi** → Login OAuth → Selesai! + +**3. Gunakan di alat CLI Anda:** + +``` +Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings: + Endpoint: http://localhost:20128/v1 + API Key: [copy from dashboard] + Model: if/kimi-k2-thinking +``` + +**Selesai!** Mulai coding dengan model AI GRATIS. + +**Alternatif — dijalankan dari sumber:** + +```bash +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +--- + +## 🐳 buruh pelabuhan + +OmniRoute tersedia sebagai image Docker publik di [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute). + +**Lari cepat:** + +```bash +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**Dengan file lingkungan:** + +```bash +# Copy and edit .env first +cp .env.example .env + +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + --env-file .env \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**Menggunakan Docker Tulis:** + +```bash +# Base profile (no CLI tools) +docker compose --profile base up -d + +# CLI profile (Claude Code, Codex, OpenClaw built-in) +docker compose --profile cli up -d +``` + +| Gambar | Tandai | Ukuran | Deskripsi | +| ------------------------ | -------- | ------- | -------------------- | +| `diegosouzapw/omniroute` | `latest` | ~250 MB | Rilis stabil terbaru | +| `diegosouzapw/omniroute` | `1.0.3` | ~250 MB | Versi saat ini | + +--- + +## 💰 Sekilas tentang Harga + +| Tingkat | Penyedia | Biaya | Reset Kuota | Terbaik Untuk | +| ------------------- | ----------------- | ------------------------- | ------------------------- | --------------------------- | +| **💳 BERLANGGANAN** | Kode Claude (Pro) | $20/bln | 5 jam + mingguan | Sudah berlangganan | +| | Kodeks (Plus/Pro) | $20-200/bln | 5 jam + mingguan | Pengguna OpenAI | +| | CLI Gemini | **GRATIS** | 180K/bln + 1K/hari | Setiap orang! | +| | Kopilot GitHub | $10-19/bln | Bulanan | Pengguna GitHub | +| **🔑 KUNCI API** | NVIDIA NIM | **GRATIS** (1000 sks) | Satu kali | Pengujian tingkat gratis | +| | Pencarian Dalam | Bayar per penggunaan | Tidak ada | Harga/kualitas terbaik | +| | Bagus | Tingkat gratis + berbayar | Tarif terbatas | Inferensi ultra-cepat | +| | xAI (Grok) | Bayar per penggunaan | Tidak ada | Model Grok | +| | Mistral | Tingkat gratis + berbayar | Tarif terbatas | AI Eropa | +| | BukaRouter | Bayar per penggunaan | Tidak ada | 100+ model | +| **💰 MURAH** | GLM-4.7 | $0,6/1 juta | Setiap hari pukul 10 pagi | Cadangan anggaran | +| | MiniMax M2.1 | $0,2/1 juta | 5 jam bergulir | Pilihan termurah | +| | Kimi K2 | $9/bln tetap | 10 juta token/bln | Biaya yang dapat diprediksi | +| **🆓 GRATIS** | iFlow | $0 | Tidak terbatas | 8 model gratis | +| | Qwen | $0 | Tidak terbatas | 3 model gratis | +| | Kiro | $0 | Tidak terbatas | Claude gratis | + +**💡 Kiat Pro:** Mulai dengan Gemini CLI (gratis 180 ribu/bulan) + kombo iFlow (gratis tanpa batas) = ​​biaya $0! + +--- + +## 🎯 Kasus Penggunaan + +### Kasus 1: "Saya berlangganan Claude Pro" + +**Masalah:** Kuota habis tanpa terpakai, batas kecepatan selama coding berat + +``` +Combo: "maximize-claude" + 1. cc/claude-opus-4-6 (use subscription fully) + 2. glm/glm-4.7 (cheap backup when quota out) + 3. if/kimi-k2-thinking (free emergency fallback) + +Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total +vs. $20 + hitting limits = frustration +``` + +### Kasus 2: "Saya ingin tanpa biaya" + +**Masalah:** Tidak mampu berlangganan, memerlukan pengkodean AI yang andal + +``` +Combo: "free-forever" + 1. gc/gemini-3-flash (180K free/month) + 2. if/kimi-k2-thinking (unlimited free) + 3. qw/qwen3-coder-plus (unlimited free) + +Monthly cost: $0 +Quality: Production-ready models +``` + +### Kasus 3: "Saya memerlukan pengkodean 24/7, tanpa gangguan" + +**Masalah:** Tenggat waktu, tidak mampu membayar downtime + +``` +Combo: "always-on" + 1. cc/claude-opus-4-6 (best quality) + 2. cx/gpt-5.2-codex (second subscription) + 3. glm/glm-4.7 (cheap, resets daily) + 4. minimax/MiniMax-M2.1 (cheapest, 5h reset) + 5. if/kimi-k2-thinking (free unlimited) + +Result: 5 layers of fallback = zero downtime +``` + +### Kasus 4: "Saya ingin AI GRATIS di OpenClaw" + +**Masalah:** Membutuhkan asisten AI dalam aplikasi perpesanan, sepenuhnya gratis + +``` +Combo: "openclaw-free" + 1. if/glm-4.7 (unlimited free) + 2. if/minimax-m2.1 (unlimited free) + 3. if/kimi-k2-thinking (unlimited free) + +Monthly cost: $0 +Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal... +``` + +--- + +## 💡 Fitur Utama + +### 🧠 Perutean & Kecerdasan Inti + +| Fitur | Apa Fungsinya | +| ------------------------------------ | ---------------------------------------------------------------------------------- | +| 🎯 **Pengembalian 4 Tingkat Cerdas** | Rute otomatis: Berlangganan → Kunci API → Murah → Gratis | +| 📊 **Pelacakan Kuota Waktu Nyata** | Jumlah token langsung + setel ulang hitungan mundur per penyedia | +| 🔄 **Terjemahan Format** | OpenAI ↔ Claude ↔ Gemini ↔ Kursor ↔ Kiro mulus + sanitasi respons | +| 👥 **Dukungan Multi-Akun** | Banyak akun per penyedia dengan pilihan cerdas | +| 🔄 **Penyegaran Token Otomatis** | Token OAuth disegarkan secara otomatis dengan coba lagi | +| 🎨 **Kombo Khusus** | 6 strategi: isi dulu, round-robin, p2c, acak, paling jarang digunakan, hemat biaya | +| 🧩 **Model Khusus** | Tambahkan ID model apa pun ke penyedia mana pun | +| 🌐 **Router Wildcard** | Rutekan pola `provider/*` ke penyedia mana pun secara dinamis | +| 🧠 **Memikirkan Anggaran** | Mode passthrough, otomatis, kustom, dan adaptif untuk model penalaran | +| 💬 **Injeksi Perintah Sistem** | Perintah sistem global diterapkan di semua permintaan | +| 📄 **API Respons** | Dukungan penuh OpenAI Responses API (`/v1/responses`) untuk Codex | + +### 🎵 API Multi-Modal + +| Fitur | Apa Fungsinya | +| -------------------------- | ------------------------------------------------------ | +| 🖼️ **Pembuatan Gambar** | `/v1/images/generations` — 4 penyedia, 9+ model | +| 📐 **Sematan** | `/v1/embeddings` — 6 penyedia, 9+ model | +| 🎤 **Transkripsi Audio** | `/v1/audio/transcriptions` — Kompatibel dengan bisikan | +| 🔊 **Teks-ke-Ucapan** | `/v1/audio/speech` — Sintesis audio multi-penyedia | +| 🛡️ **Moderasi** | `/v1/moderations` — Pemeriksaan keamanan konten | +| 🔀 **Pemeringkatan Ulang** | `/v1/rerank` — Pemeringkatan ulang relevansi dokumen | + +### 🛡️ Ketahanan & Keamanan + +| Fitur | Apa Fungsinya | +| ------------------------------------ | ------------------------------------------------------------------------------------------ | +| 🔌 **Pemutus Arus** | Buka/tutup otomatis per penyedia dengan ambang batas yang dapat dikonfigurasi | +| 🛡️ **Kawanan Anti Guntur** | Batas kecepatan mutex + semaphore untuk penyedia kunci API | +| 🧠 **Cache Semantik** | Cache dua tingkat (tanda tangan + semantik) mengurangi biaya & latensi | +| ⚡ **Minta Idempotensi** | Jendela dedup 5 detik untuk permintaan duplikat | +| 🔒 **Spoofing Sidik Jari TLS** | Lewati deteksi bot berbasis TLS melalui wreq-js | +| 🌐 **Pemfilteran IP** | Daftar yang diizinkan/daftar blokir untuk kontrol akses API | +| 📊 **Batas Tarif yang Dapat Diedit** | RPM yang dapat dikonfigurasi, celah minimum, dan maks secara bersamaan pada tingkat sistem | +| 🛡 **Perlindungan Titik Akhir API** | Gerbang autentikasi + pemblokiran penyedia untuk titik akhir `/models` | +| 🔒 **Visibilitas Proksi** | Lencana berkode warna: 🟢 global, 🟡 penyedia, 🔵 per koneksi dengan tampilan IP | +| 🌐 **Konfigurasi Proksi 3 Tingkat** | Konfigurasikan proxy di tingkat global, per penyedia, atau per koneksi | + +### 📊 Observabilitas & Analisis + +| Fitur | Apa Fungsinya | +| ---------------------------- | ------------------------------------------------------------------------------- | +| 📝 **Permintaan Pencatatan** | Mode debug dengan log permintaan/respons lengkap | +| 💾 **Log Proksi SQLite** | Log proksi persisten bertahan saat server dimulai ulang | +| 📊 **Dasbor Analitik** | Didukung grafik ulang: kartu stat, bagan penggunaan model, tabel penyedia | +| 📈 **Pelacakan Kemajuan** | Ikut serta dalam acara kemajuan SSE untuk streaming | +| 🧪 **Evaluasi LLM** | Pengujian set emas dengan 4 strategi pertandingan | +| 🔍 **Permintaan Telemetri** | agregasi latensi p50/p95/p99 + penelusuran X-Request-Id | +| 📋 **Dasbor Log** | Halaman 4 tab terpadu: Log Permintaan, Log Proksi, Log Audit, Konsol | +| 🖥️ **Penampil Log Konsol** | Penampil gaya terminal real-time dengan filter level, pencarian, gulir otomatis | +| 📑 **Logging Berbasis File** | Pencegat konsol menangkap semua output ke file log JSON dengan rotasi | +| 🏥 **Dasbor Kesehatan** | Waktu aktif sistem, status pemutus sirkuit, penguncian, statistik cache | +| 💰 **Pelacakan Biaya** | Manajemen anggaran + konfigurasi harga per model | + +### ☁️ Penerapan & Sinkronisasi + +| Fitur | Apa Fungsinya | +| ---------------------------- | ---------------------------------------------------------------------------- | +| 💾 **Sinkronisasi Cloud** | Sinkronkan konfigurasi antar perangkat melalui Cloudflare Workers | +| 🌐 **Terapkan Di Mana Saja** | Localhost, VPS, Docker, Pekerja Cloudflare | +| 🔑 **Manajemen Kunci API** | Menghasilkan, memutar, dan mencakup kunci API per penyedia | +| 🧙 **Wizard Orientasi** | Penyiapan terpandu 4 langkah untuk pengguna pertama kali | +| 🔧 **Dasbor Alat CLI** | Konfigurasikan sekali klik Claude, Codex, Cline, OpenClaw, Kilo, Antigravity | +| 🔄 **Cadangan DB** | Pencadangan, pemulihan, ekspor & impor otomatis untuk semua pengaturan | +| 🌐 **Internasionalisasi** | I18n lengkap dengan next-intl — Dukungan Inggris + Portugis (Brasil) | +| 🌍 **Pemilih Bahasa** | Ikon bola dunia di header untuk peralihan bahasa secara real-time (🇮🇩/🇧🇷) | +| 📂 **Direktori Data Khusus** | `DATA_DIR` env var untuk mengganti jalur penyimpanan `~/.omniroute` default | + +
+📖 Detail Fitur + +### 🎯 Penggantian 4 Tingkat yang Cerdas + +Buat kombo dengan fallback otomatis: + +``` +Combo: "my-coding-stack" + 1. cc/claude-opus-4-6 (your subscription) + 2. nvidia/llama-3.3-70b (free NVIDIA API) + 3. glm/glm-4.7 (cheap backup, $0.6/1M) + 4. if/kimi-k2-thinking (free fallback) + +→ Auto switches when quota runs out or errors occur +``` + +### 📊 Pelacakan Kuota Waktu Nyata + +- Konsumsi token per penyedia +- Atur ulang hitungan mundur (5 jam, harian, mingguan) +- Estimasi biaya untuk tingkatan berbayar +- Laporan pengeluaran bulanan + +### 🔄 Format Terjemahan + +Terjemahan mulus antar format: + +- **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **Respon OpenAI** +- Alat CLI Anda mengirimkan format OpenAI → OmniRoute menerjemahkan → Penyedia menerima format asli +- Bekerja dengan alat apa pun yang mendukung titik akhir OpenAI khusus +- **Sanitasi respons** — Menghapus kolom non-standar untuk kompatibilitas OpenAI SDK yang ketat +- **Normalisasi peran** — `developer` → `system` untuk non-OpenAI; `system` → `user` untuk model GLM/ERNIE +- **Think tag ekstraksi** — `` blok → `reasoning_content` untuk model berpikir +- **Keluaran terstruktur** — `json_schema` → `responseMimeType`/`responseSchema` Gemini + +### 👥 Dukungan Multi-Akun + +- Tambahkan beberapa akun per penyedia +- Perutean otomatis round-robin atau berbasis prioritas +- Penggantian ke akun berikutnya ketika ada yang mencapai kuota + +### 🔄 Penyegaran Token Otomatis + +- Token OAuth secara otomatis disegarkan sebelum masa berlakunya habis +- Tidak diperlukan otentikasi ulang manual +- Pengalaman mulus di semua penyedia + +### 🎨 Kombo Khusus + +- Buat kombinasi model tanpa batas +- 6 strategi: isi pertama, round-robin, kekuatan dua pilihan, acak, paling jarang digunakan, hemat biaya +- Bagikan kombo di seluruh perangkat dengan Cloud Sync + +### 🏥 Dasbor Kesehatan + +- Status sistem (waktu aktif, versi, penggunaan memori) +- Status pemutus sirkuit per penyedia (Tertutup/Terbuka/Setengah Terbuka) +- Status batas tarif dan penguncian aktif +- Statistik cache tanda tangan +- Telemetri latensi (p50/p95/p99) + cache cepat +- Atur ulang status kesehatan dengan satu klik + +### 🔧 Taman Bermain Penerjemah + +OmniRoute menyertakan Taman Bermain Penerjemah bawaan yang canggih dengan **4 mode** untuk melakukan debug, menguji, dan memantau terjemahan API: + +| Modus | Deskripsi | +| ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **💻 Taman bermain** | Terjemahan format langsung — tempelkan isi permintaan API apa pun dan langsung lihat bagaimana OmniRoute menerjemahkannya antar format penyedia (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). Termasuk contoh templat dan deteksi otomatis format. | +| **💬 Penguji Obrolan** | Kirim permintaan obrolan nyata melalui OmniRoute dan lihat perjalanan pulang pergi selengkapnya: masukan Anda, permintaan yang diterjemahkan, respons penyedia, dan respons yang diterjemahkan kembali. Sangat berharga untuk memvalidasi perutean kombo. | +| **🧪 Bangku Tes** | Mode pengujian batch — tentukan beberapa kasus pengujian dengan masukan berbeda dan keluaran yang diharapkan, jalankan semuanya sekaligus, dan bandingkan hasilnya di seluruh penyedia dan model. | +| **📱 Monitor Langsung** | Pemantauan permintaan waktu nyata — perhatikan permintaan masuk saat mengalir melalui OmniRoute, lihat terjemahan format yang terjadi secara langsung, dan identifikasi masalah secara instan. | + +**Akses:** Dasbor → Penerjemah (bilah samping) + +### 💾 Sinkronisasi Awan + +- Sinkronisasi penyedia, kombo, dan pengaturan di seluruh perangkat +- Sinkronisasi latar belakang otomatis +- Penyimpanan terenkripsi yang aman + +
+ +--- + +## 📖 Panduan Pengaturan + +
+💳 Penyedia Langganan + +### Kode Claude (Pro/Maks) + +```bash +Dashboard → Providers → Connect Claude Code +→ OAuth login → Auto token refresh +→ 5-hour + weekly quota tracking + +Models: + cc/claude-opus-4-6 + cc/claude-sonnet-4-5-20250929 + cc/claude-haiku-4-5-20251001 +``` + +**Kiat Pro:** Gunakan Opus untuk tugas kompleks, Soneta untuk kecepatan. OmniRoute melacak kuota per model! + +### Kodeks OpenAI (Plus/Pro) + +```bash +Dashboard → Providers → Connect Codex +→ OAuth login (port 1455) +→ 5-hour + weekly reset + +Models: + cx/gpt-5.2-codex + cx/gpt-5.1-codex-max +``` + +### Gemini CLI (GRATIS 180K/bulan!) + +```bash +Dashboard → Providers → Connect Gemini CLI +→ Google OAuth +→ 180K completions/month + 1K/day + +Models: + gc/gemini-3-flash-preview + gc/gemini-2.5-pro +``` + +**Nilai Terbaik:** Tingkat gratis yang sangat besar! Gunakan ini sebelum tingkatan berbayar. + +### Kopilot GitHub + +```bash +Dashboard → Providers → Connect GitHub +→ OAuth via GitHub +→ Monthly reset (1st of month) + +Models: + gh/gpt-5 + gh/claude-4.5-sonnet + gh/gemini-3-pro +``` + +
+ +
+🔑 Penyedia Kunci API + +### NVIDIA NIM (GRATIS 1000 kredit!) + +1. Daftar: [build.nvidia.com](https://build.nvidia.com) +2. Dapatkan kunci API gratis (termasuk 1000 kredit inferensi) +3. Dasbor → Tambah Penyedia → NVIDIA NIM: + - Kunci API: `nvapi-your-key` + +**Model:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct`, dan 50+ lainnya + +**Kiat Pro:** API yang kompatibel dengan OpenAI — bekerja secara lancar dengan terjemahan format OmniRoute! + +### Pencarian Dalam + +1. Daftar: [platform.deepseek.com](https://platform.deepseek.com) +2. Dapatkan kunci API +3. Dasbor → Tambah Penyedia → DeepSeek + +**Model:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder` + +### Groq (Tersedia Tingkat Gratis!) + +1. Daftar: [console.groq.com](https://console.groq.com) +2. Dapatkan kunci API (termasuk tingkat gratis) +3. Dasbor → Tambah Penyedia → Groq + +**Model:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b` + +**Kiat Pro:** Inferensi ultra-cepat — terbaik untuk pengkodean waktu nyata! + +### OpenRouter (100+ Model) + +1. Daftar: [openrouter.ai](https://openrouter.ai) +2. Dapatkan kunci API +3. Dasbor → Tambah Penyedia → OpenRouter + +**Model:** Akses 100+ model dari semua penyedia utama melalui satu kunci API. + +
+ +
+💰 Penyedia Murah (Cadangan) + +### GLM-4.7 (Reset harian, $0,6/1 juta) + +1. Daftar: [Zhipu AI](https://open.bigmodel.cn/) +2. Dapatkan kunci API dari Coding Plan +3. Dasbor → Tambahkan Kunci API: + - Penyedia: `glm` + - Kunci API: `your-key` + +**Gunakan:** `glm/glm-4.7` + +**Tips Pro:** Paket Coding menawarkan 3× kuota dengan biaya 1/7! Reset setiap hari pukul 10.00. + +### MiniMax M2.1 (reset 5 jam, $0,20/1 juta) + +1. Daftar: [MiniMax](https://www.minimax.io/) +2. Dapatkan kunci API +3. Dasbor → Tambahkan Kunci API + +**Gunakan:** `minimax/MiniMax-M2.1` + +**Kiat Pro:** Opsi termurah untuk konteks panjang (1 juta token)! + +### Kimi K2 ($9/bulan tetap) + +1. Berlangganan: [Moonshot AI](https://platform.moonshot.ai/) +2. Dapatkan kunci API +3. Dasbor → Tambahkan Kunci API + +**Gunakan:** `kimi/kimi-latest` + +**Kiat Pro:** Memperbaiki $9/bulan untuk 10 juta token = biaya efektif $0,90/1 juta! + +
+ +
+🆓 Penyedia GRATIS (Cadangan Darurat) + +### iFlow (8 model GRATIS) + +```bash +Dashboard → Connect iFlow +→ iFlow OAuth login +→ Unlimited usage + +Models: + if/kimi-k2-thinking + if/qwen3-coder-plus + if/glm-4.7 + if/minimax-m2 + if/deepseek-r1 +``` + +### Qwen (3 model GRATIS) + +```bash +Dashboard → Connect Qwen +→ Device code authorization +→ Unlimited usage + +Models: + qw/qwen3-coder-plus + qw/qwen3-coder-flash +``` + +### Kiro (Claude GRATIS) + +```bash +Dashboard → Connect Kiro +→ AWS Builder ID or Google/GitHub +→ Unlimited usage + +Models: + kr/claude-sonnet-4.5 + kr/claude-haiku-4.5 +``` + +
+ +
+🎨 Buat Kombo + +### Contoh 1: Maksimalkan Langganan → Cadangan Murah + +``` +Dashboard → Combos → Create New + +Name: premium-coding +Models: + 1. cc/claude-opus-4-6 (Subscription primary) + 2. glm/glm-4.7 (Cheap backup, $0.6/1M) + 3. minimax/MiniMax-M2.1 (Cheapest fallback, $0.20/1M) + +Use in CLI: premium-coding +``` + +### Contoh 2: Gratis Saja (Tanpa Biaya) + +``` +Name: free-combo +Models: + 1. gc/gemini-3-flash-preview (180K free/month) + 2. if/kimi-k2-thinking (unlimited) + 3. qw/qwen3-coder-plus (unlimited) + +Cost: $0 forever! +``` + +
+ +
+🔧 Integrasi CLI + +### IDE Kursor + +``` +Settings → Models → Advanced: + OpenAI API Base URL: http://localhost:20128/v1 + OpenAI API Key: [from OmniRoute dashboard] + Model: cc/claude-opus-4-6 +``` + +### Kode Claude + +Gunakan halaman **Alat CLI** di dasbor untuk konfigurasi sekali klik, atau edit `~/.claude/settings.json` secara manual. + +### Kodeks CLI + +```bash +export OPENAI_BASE_URL="http://localhost:20128" +export OPENAI_API_KEY="your-omniroute-api-key" + +codex "your prompt" +``` + +### Buka Cakar + +**Opsi 1 — Dasbor (disarankan):** + +``` +Dashboard → CLI Tools → OpenClaw → Select Model → Apply +``` + +**Opsi 2 — Panduan:** Sunting `~/.openclaw/openclaw.json`: + +```json +{ + "models": { + "providers": { + "omniroute": { + "baseUrl": "http://127.0.0.1:20128/v1", + "apiKey": "sk_omniroute", + "api": "openai-completions" + } + } + } +} +``` + +> **Catatan:** OpenClaw hanya berfungsi dengan OmniRoute lokal. Gunakan `127.0.0.1` alih-alih `localhost` untuk menghindari masalah resolusi IPv6. + +### Cline / Lanjutkan / RooCode + +``` +Settings → API Configuration: + Provider: OpenAI Compatible + Base URL: http://localhost:20128/v1 + API Key: [from OmniRoute dashboard] + Model: if/kimi-k2-thinking +``` + +
+ +--- + +## 📊 Model yang Tersedia + +
+Lihat semua model yang tersedia + +**Kode Claude (`cc/`)** - Pro/Maks: + +- `cc/claude-opus-4-6` +- `cc/claude-sonnet-4-5-20250929` +- `cc/claude-haiku-4-5-20251001` + +**Kodeks (`cx/`)** - Plus/Pro: + +- `cx/gpt-5.2-codex` +- `cx/gpt-5.1-codex-max` + +**Gemini CLI (`gc/`)** - GRATIS: + +- `gc/gemini-3-flash-preview` +- `gc/gemini-2.5-pro` + +**Copilot GitHub (`gh/`)**: + +- `gh/gpt-5` +- `gh/claude-4.5-sonnet` + +**NVIDIA NIM (`nvidia/`)** - Kredit GRATIS: + +- `nvidia/llama-3.3-70b-instruct` +- `nvidia/mistral-7b-instruct` +- 50+ model lainnya di [build.nvidia.com](https://build.nvidia.com) + +**GLM (`glm/`)** - $0,6/1 juta: + +- `glm/glm-4.7` + +**MiniMax (`minimax/`)** - $0,2/1 juta: + +- `minimax/MiniMax-M2.1` + +**iFlow (`if/`)** - GRATIS: + +- `if/kimi-k2-thinking` +- `if/qwen3-coder-plus` +- `if/deepseek-r1` +- `if/glm-4.7` +- `if/minimax-m2` + +**Qwen (`qw/`)** - GRATIS: + +- `qw/qwen3-coder-plus` +- `qw/qwen3-coder-flash` + +**Kiro (`kr/`)** - GRATIS: + +- `kr/claude-sonnet-4.5` +- `kr/claude-haiku-4.5` + +**OpenRouter (`or/`)** - 100+ model: + +- `or/anthropic/claude-4-sonnet` +- `or/google/gemini-2.5-pro` +- Model apa pun dari [openrouter.ai/models](https://openrouter.ai/models) + +
+ +--- + +## 🧪 Evaluasi (Eval) + +OmniRoute menyertakan kerangka evaluasi bawaan untuk menguji kualitas respons LLM terhadap rangkaian emas. Akses melalui **Analytics → Evals** di dasbor. + +### Set Emas Bawaan + +"OmniRoute Golden Set" yang dimuat sebelumnya berisi 10 kasus uji yang meliputi: + +- Salam, matematika, geografi, pembuatan kode +- Kepatuhan format JSON, terjemahan, penurunan harga +- Penolakan keamanan (konten berbahaya), penghitungan, logika boolean + +### Strategi Evaluasi + +| Strategi | Deskripsi | Contoh | +| ---------- | ------------------------------------------------------------ | -------------------------------- | +| `exact` | Output harus sama persis | `"4"` | +| `contains` | Output harus berisi substring (tidak peka huruf besar-kecil) | `"Paris"` | +| `regex` | Output harus sesuai dengan pola regex | `"1.*2.*3"` | +| `custom` | Fungsi JS khusus mengembalikan benar/salah | `(output) => output.length > 10` | + +--- + +## 🔐 OAuth em Servidor Remoto (Pengaturan OAuth Jarak Jauh) + + + +> **⚠️ PENTING bagi pengguna dengan OmniRoute pada VPS/Docker/server jarak jauh** + +### Mengapa OAuth melakukan Antigravity / Gemini CLI gagal dalam layanan jarak jauh? + +Pembuktiannya **Antigravitasi** dan **Gemini CLI** digunakan **Google OAuth 2.0** untuk autentikasi. Google meminta agar `redirect_uri` menggunakan OAuth yang terus berubah, jadi **exatamente** adalah URI yang sudah ada sebelumnya di Google Cloud Console yang dapat diterapkan. + +Karena kredensial OAuth yang diberikan pada OmniRoute adalah kadastrada **apenas untuk `localhost`**. Ketika Anda mengakses OmniRoute dari server jarak jauh (misal: `https://omniroute.meuservidor.com`), atau Google meminta autenticação com: + +``` +Error 400: redirect_uri_mismatch +``` + +### Solusi: Konfigurasikan akun OAuth Anda + +Anda perlu membuat **ID Klien OAuth 2.0** di Google Cloud Console dengan URI di server Anda. + +#### Lewati dulu + +**1. Mengakses Google Cloud Console** + +Abra: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials) + +**2. Inilah ID Klien OAuth 2.0 yang baru** + +- Klik pada **"+ Buat Kredensial"** → **"ID klien OAuth"** +- Tip aplikasi: **"Aplikasi web"** +- Nama: nama escolha qualquer (misal: `OmniRoute Remote`) + +**3. Tambahan sebagai URI Pengalihan Resmi** + +Selain itu **"URI pengalihan resmi"**, tambahan: + +``` +https://seu-servidor.com/callback +``` + +> Pengganti `seu-servidor.com` pelo domínio atau IP ke server Anda (termasuk port yang diperlukan, misal: `http://45.33.32.156:20128/callback`). + +**4. Salep dan salin sebagai kredensial** + +Kemudian, Google menampilkan **ID Klien** dan **Rahasia Klien**. + +**5. Konfigurasikan sebagai variáveis de ambiente** + +Di `.env` (atau berbagai lingkungan di Docker): + +```bash +# Para Antigravity: +ANTIGRAVITY_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret + +# Para Gemini CLI: +GEMINI_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +``` + +**6. Memulai kembali OmniRoute** + +```bash +# Se usando npm: +npm run dev + +# Se usando Docker: +docker restart omniroute +``` + +**7. Mari kita sambungkan lagi** + +Dasbor → Penyedia → Antigravitasi (atau Gemini CLI) → OAuth + +Sekarang o Google dialihkan langsung ke `https://seu-servidor.com/callback` dan autentikasi berfungsi. + +--- + +### Solusi sementara (sem configurar credenciais próprias) + +Jika Anda tidak ingin membuat kredensial pribadi sekarang, Anda mungkin dapat menggunakan fluks **panduan URL**: + +1. O OmniRoute membuka URL autoriza dari Google +2. Setelah Anda autorizar, Google mengarahkan pengalihan ke `localhost` (yang gagal pada server jarak jauh) +3. **Salin URL lengkap** dari bilah akhir browser Anda (meskipun halaman tidak dimuat) +4. Gunakan URL ini karena tidak ada modal koneksi ke OmniRoute +5. Klik pada **"Hubungkan"** + +> Solusi ini berfungsi karena kode otorisasi pada URL valid secara independen untuk mengarahkan ulang ke akun atau tidak. + +--- + +## 🐛 Pemecahan masalah + +
+Klik untuk memperluas panduan pemecahan masalah + +**"Model bahasa tidak memberikan pesan"** + +- Kuota penyedia habis → Periksa dashboard pelacak kuota +- Solusi: Gunakan combo fallback atau beralih ke tier yang lebih murah + +**Pembatasan tarif** + +- Kuota berlangganan habis → Penggantian ke GLM/MiniMax +- Tambahkan kombo: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking` + +**Token OAuth kedaluwarsa** + +- Disegarkan secara otomatis oleh OmniRoute +- Jika masalah terus berlanjut: Dasbor → Penyedia → Sambungkan kembali + +**Biaya tinggi** + +- Periksa statistik penggunaan di Dashboard → Biaya +- Ganti model utama ke GLM/MiniMax +- Gunakan tingkat gratis (Gemini CLI, iFlow) untuk tugas-tugas yang tidak penting + +**Dasbor terbuka pada port yang salah** + +- Tetapkan `PORT=20128` dan `NEXT_PUBLIC_BASE_URL=http://localhost:20128` + +**Kesalahan sinkronisasi cloud** + +- Verifikasi `BASE_URL` poin ke instance Anda yang sedang berjalan +- Verifikasi `CLOUD_URL` poin ke titik akhir cloud yang Anda harapkan +- Jaga agar nilai `NEXT_PUBLIC_*` selaras dengan nilai sisi server + +**Login pertama tidak berfungsi** + +- Periksa `INITIAL_PASSWORD` di `.env` +- Jika tidak disetel, kata sandi cadangan adalah `123456` + +**Tidak ada log permintaan** + +- Tetapkan `ENABLE_REQUEST_LOGS=true` di `.env` + +**Tes koneksi menunjukkan "Tidak Valid" untuk penyedia yang kompatibel dengan OpenAI** + +- Banyak penyedia tidak mengekspos titik akhir `/models` +- OmniRoute v1.0.6+ menyertakan validasi fallback melalui penyelesaian obrolan +- Pastikan URL dasar menyertakan akhiran `/v1` + +
+ +--- + +## 🛠️ Tumpukan Teknologi + +- **Runtime**: Node.js 18–22 LTS (⚠️ Node.js 24+ **tidak didukung** — `better-sqlite3` biner asli tidak kompatibel) +- **Bahasa**: TypeScript 5.9 — **100% TypeScript** di `src/` dan `open-sse/` (v1.0.6) +- **Kerangka Kerja**: Next.js 16 + React 19 + Tailwind CSS 4 +- **Database**: LowDB (JSON) + SQLite (status domain + log proksi) +- **Streaming**: Peristiwa Terkirim Server (SSE) +- **Auth**: OAuth 2.0 (PKCE) + JWT + Kunci API +- **Pengujian**: pelari pengujian Node.js (368+ pengujian unit) +- **CI/CD**: Tindakan GitHub (publikasi npm otomatis + Docker Hub saat dirilis) +- **Situs Web**: [omniroute.online](https://omniroute.online) +- **Paket**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute) +- **Pekerja Pelabuhan**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute) +- **Ketahanan**: Pemutus sirkuit, kemunduran eksponensial, kawanan anti-guntur, spoofing TLS + +--- + +## 📖 Dokumentasi + +| Dokumen | Deskripsi | +| -------------------------------------------- | --------------------------------------------------- | +| [User Guide](docs/USER_GUIDE.md) | Penyedia, kombo, integrasi CLI, penerapan | +| [API Reference](docs/API_REFERENCE.md) | Semua titik akhir dengan contoh | +| [Troubleshooting](docs/TROUBLESHOOTING.md) | Masalah umum dan solusinya | +| [Architecture](docs/ARCHITECTURE.md) | Arsitektur sistem dan internal | +| [Contributing](CONTRIBUTING.md) | Pengaturan dan pedoman pengembangan | +| [OpenAPI Spec](docs/openapi.yaml) | Spesifikasi OpenAPI 3.0 | +| [Security Policy](SECURITY.md) | Pelaporan kerentanan dan praktik keamanan | +| [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | Panduan lengkap: VM + nginx + Pengaturan Cloudflare | +| [Features Gallery](docs/FEATURES.md) | Tur dasbor visual dengan tangkapan layar | + +### 📸 Pratinjau Dasbor + +
+Klik untuk melihat tangkapan layar dasbor + +| Halaman | Tangkapan layar | +| ------------------ | ------------------------------------------------- | +| **Penyedia** | ![Providers](docs/screenshots/01-providers.png) | +| **Kombo** | ![Combos](docs/screenshots/02-combos.png) | +| **Analitik** | ![Analytics](docs/screenshots/03-analytics.png) | +| **Kesehatan** | ![Health](docs/screenshots/04-health.png) | +| **Penerjemah** | ![Translator](docs/screenshots/05-translator.png) | +| **Pengaturan** | ![Settings](docs/screenshots/06-settings.png) | +| **Alat CLI** | ![CLI Tools](docs/screenshots/07-cli-tools.png) | +| **Log Penggunaan** | ![Usage](docs/screenshots/08-usage.png) | +| **Titik Akhir** | ![Endpoint](docs/screenshots/09-endpoint.png) | + +
+ +--- + +## 🗺️ Peta Jalan + +OmniRoute memiliki **210+ fitur yang direncanakan** di berbagai fase pengembangan. Berikut adalah bidang-bidang utamanya: + +| Kategori | Fitur yang Direncanakan | Sorotan | +| ---------------------------- | ----------------------- | --------------------------------------------------------------------------------------------------- | +| 🧠 **Perutean & Kecerdasan** | 25+ | Perutean latensi terendah, perutean berbasis tag, preflight kuota, pemilihan akun P2C | +| 🔒 **Keamanan & Kepatuhan** | 20+ | Pengerasan SSRF, penyelubungan kredensial, batas tarif per titik akhir, pelingkupan kunci manajemen | +| 📊 **Kemampuan Observasi** | 15+ | Integrasi OpenTelemetry, pemantauan kuota waktu nyata, pelacakan biaya per model | +| 🔄 **Integrasi Penyedia** | 20+ | Registri model dinamis, cooldown penyedia, Codex multi-akun, penguraian kuota Salinan | +| ⚡ **Kinerja** | 15+ | Lapisan cache ganda, cache cepat, cache respons, streaming keepalive, API batch | +| 🌐 **Ekosistem** | 10+ | WebSocket API, konfigurasi hot-reload, penyimpanan konfigurasi terdistribusi, mode komersial | + +### 🔜 Segera Hadir + +- 🔗 **Integrasi OpenCode** — Dukungan penyedia asli untuk IDE pengkodean AI OpenCode +- 🔗 **Integrasi TRAE** — Dukungan penuh untuk kerangka pengembangan AI TRAE +- 📦 **Batch API** — Pemrosesan batch asinkron untuk permintaan massal +- 🎯 **Perutean Berbasis Tag** — Merutekan permintaan berdasarkan tag dan metadata khusus +- 💰 **Strategi Biaya Terendah** — Secara otomatis memilih penyedia termurah yang tersedia + +> 📝 Spesifikasi fitur lengkap tersedia di [**OMNI_TOKEN_147**](docs/new-features/) (217 spesifikasi detail) + +--- + +## 📧 Dukungan + +> 💬 **Bergabunglah dengan komunitas kami!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Dapatkan bantuan, berbagi kiat, dan dapatkan informasi terbaru. + +- **Situs Web**: [omniroute.online](https://omniroute.online) +- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) +- **Masalah**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) +- **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) +- **Proyek Asli**: [9router by decolua](https://github.com/decolua/9router) + +--- + +## 👥 Kontributor + +[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) + +### Cara Berkontribusi + +1. Cabangkan repositori +2. Buat cabang fitur Anda (`git checkout -b feature/amazing-feature`) +3. Komit perubahan Anda (`git commit -m 'Add amazing feature'`) +4. Dorong ke cabang (`git push origin feature/amazing-feature`) +5. Buka Permintaan Tarik + +Lihat [CONTRIBUTING.md](CONTRIBUTING.md) untuk panduan detailnya. + +### Merilis Versi Baru + +```bash +# Create a release — npm publish happens automatically +gh release create v1.0.6 --title "v1.0.6" --generate-notes +``` + +--- + +## 📊 Sejarah Bintang + + + + + + Star History Chart + + + +--- + +## 🙏 Ucapan Terima Kasih + +Terima kasih khusus kepada **[9router](https://github.com/decolua/9router)** oleh **[decolua](https://github.com/decolua)** — proyek asli yang menginspirasi fork ini. OmniRoute dibangun di atas fondasi luar biasa tersebut dengan fitur tambahan, API multi-modal, dan penulisan ulang TypeScript lengkap. + +Terima kasih khusus kepada **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — implementasi Go asli yang menginspirasi port JavaScript ini. + +--- + +## 📄 Lisensi + +Lisensi MIT - lihat [LICENSE](LICENSE) untuk detailnya. + +--- + +--- + +## 🇧🇷 OmniRoute — Gerbang IA Gratis + + + +### Tidak ada kode apa pun. Roteamento cerdas untuk **model IA GRATIS dan hak istimewa** dengan fallback otomatis. + +_Proksi universal API — um titik akhir, 36+ bukti, tanpa waktu henti._ + +### 🌐 Internasionalisasi (i18n) + +Pada dasbor, lakukan OmniRoute mendukung **beberapa idiom**. Saat ini kami telah membagikannya: + +| Idiom | Kode | Status | +| --------------------- | ------- | ---------- | +| 🇮🇩 Bahasa Inggris | `en` | ✅ Lengkap | +| 🇧🇷 Português (Brasil) | `pt-BR` | ✅ Lengkap | + +**Untuk trocar o idioma:** Klik no selector de idioma (🇮🇩 EN) no header do dashboard → pilih idioma yang diinginkan. + +**Untuk menambahkan idiom baru:** + +1. Teriak `src/i18n/messages/{codigo}.json` berdasarkan `en.json` +2. Tambahan kode pada `src/i18n/config.ts` → `LOCALES` dan `LANGUAGES` +3. Memulai kembali server + +### ⚡ Mulai Cepat + +```bash +# Instalar via npm +npx omniroute@latest + +# Ou rodar do código-fonte +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +### 🐳 buruh pelabuhan + +```bash +docker run -d --name omniroute -p 20128:20128 diegosouzapw/omniroute:latest +``` + +### 🔑 Prinsip Fungsionalidades + +- **36+ bukti IA** — Claude, GPT, Gemini, Llama, Qwen, DeepSeek, dan lainnya +- **Roteamento inteligente** — Penggantian otomatis ke seluruh bukti +- **Penulisan format** — OpenAI ↔ Claude ↔ Gemini secara otomatis +- **Multi-konta** — Multi-konta berdasarkan pilihan yang cerdas +- **Cache semântico** — Memulihkan biaya dan latensi +- **OAuth otomatis** — Token diperbarui secara otomatis +- **Kombo yang dipersonalisasi** — 6 strategi roteamento +- **Dasbor lengkap** — Monitor, log, analisis, konfigurasi +- **Alat CLI** — Konfigurasikan Kode Claude, Codex, Kursor, Cline com um klik +- **100% TypeScript** — Kode limpo dan tipado + +### 📖 Dokumentasi + +| Dokumen | Deskripsi | +| ----------------------------------------------- | ---------------------------------------- | +| [Guia do Usuário](docs/USER_GUIDE.md) | Provedores, kombo, CLI, terapkan | +| [Referência da API](docs/API_REFERENCE.md) | Semua titik akhir dengan contoh | +| [Solução de Problemas](docs/TROUBLESHOOTING.md) | Masalah Umum dan Solusi | +| [Arquitetura](docs/ARCHITECTURE.md) | Arquitetura dan internal dalam sistem | +| [Contribuição](CONTRIBUTING.md) | Menyiapkan pedoman desenvolvimento | +| [Deploy em VM](docs/VM_DEPLOYMENT_GUIDE.md) | Panduan lengkap: VM + nginx + Cloudflare | + +### 📧 Dukungan + +> 💬 **Entre to a comunidade!** [Grupo WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Ban dúvidas, compartilhe dicas dan fique aktualizado. + +- **Situs Web**: [omniroute.online](https://omniroute.online) +- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) +- **Masalah**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) + +--- + +
+ Dibangun dengan ❤️ untuk pengembang yang membuat kode 24/7 +
+ omniroute.online +
diff --git a/README.in.md b/README.in.md new file mode 100644 index 0000000000..927910e656 --- /dev/null +++ b/README.in.md @@ -0,0 +1,1032 @@ +
+ __OMNI_टोकन_234__ + + # 🚀 ओम्निरूट - निःशुल्क एआई गेटवे + +🌐 **[English](#-omniroute--the-free-ai-gateway)** | ****ओएमएनआई_टोकन_159**** + +### कोडिंग कभी बंद न करें। स्वचालित फ़ॉलबैक के साथ **मुफ़्त और कम लागत वाले AI मॉडल** के लिए स्मार्ट रूटिंग। + +_आपका सार्वभौमिक एपीआई प्रॉक्सी - एक समापन बिंदु, 36+ प्रदाता, शून्य डाउनटाइम।_ + +**चैट समापन • एंबेडिंग • छवि निर्माण • ऑडियो • पुनर्रैंकिंग • 100% टाइपस्क्रिप्ट** + +--- + +### 🤖 आपके पसंदीदा कोडिंग एजेंटों के लिए निःशुल्क एआई प्रदाता + +_OmniRoute के माध्यम से किसी भी AI-संचालित IDE या CLI टूल को कनेक्ट करें - असीमित कोडिंग के लिए निःशुल्क API गेटवे।_ + +**OMNI_टोकन_33** + +📡 सभी एजेंट http://localhost:20128/v1 या http://cloud.omniroute.online/v1 के माध्यम से जुड़ते हैं - एक कॉन्फ़िगरेशन, असीमित मॉडल और कोटा + +--- + +[![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) +[![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) +[![License](https://img.shields.io/github/license/diegosouzapw/OmniRoute)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE) +[![Website](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) +[![WhatsApp](https://img.shields.io/badge/WhatsApp-Community-25D366?logo=whatsapp&logoColor=white)](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) + +**OMNI_टोकन_247** + +--- + +## 🤔ओम्नीरूट क्यों? + +**पैसा बर्बाद करना और सीमा पार करना बंद करें:** + +- सदस्यता कोटा हर महीने अप्रयुक्त रूप से समाप्त हो जाता है +- दर सीमा आपको कोडिंग के बीच में रोक देती है +- महँगे API ($20-50/माह प्रति प्रदाता) +- प्रदाताओं के बीच मैन्युअल स्विचिंग + +**OmniRoute इसका समाधान करता है:** + +- ✅ **सब्सक्रिप्शन अधिकतम करें** - कोटा ट्रैक करें, रीसेट से पहले हर बिट का उपयोग करें +- ✅ **ऑटो फ़ॉलबैक** - सदस्यता → एपीआई कुंजी → सस्ता → निःशुल्क, शून्य डाउनटाइम +- ✅ **मल्टी-अकाउंट** - प्रति प्रदाता खातों के बीच राउंड-रॉबिन +- ✅ **यूनिवर्सल** - क्लाउड कोड, कोडेक्स, जेमिनी सीएलआई, कर्सर, क्लाइन, ओपनक्लॉ, किसी भी सीएलआई टूल के साथ काम करता है + +--- + +## 🔄 यह कैसे काम करता है + +``` +┌─────────────┐ +│ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) +│ Tool │ +└──────┬──────┘ + │ http://localhost:20128/v1 + ↓ +┌─────────────────────────────────────────┐ +│ OmniRoute (Smart Router) │ +│ • Format translation (OpenAI ↔ Claude) │ +│ • Quota tracking + Embeddings + Images │ +│ • Auto token refresh │ +└──────┬──────────────────────────────────┘ + │ + ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI + │ ↓ quota exhausted + ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc. + │ ↓ budget limit + ├─→ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M) + │ ↓ budget limit + └─→ [Tier 4: FREE] iFlow, Qwen, Kiro (unlimited) + +Result: Never stop coding, minimal cost +``` + +--- + +## ⚡ त्वरित शुरुआत + +**1. विश्व स्तर पर स्थापित करें:** + +**OMNI_टोकन_1** + +🎉 डैशबोर्ड `http://localhost:20128` पर खुलता है + +| आदेश | विवरण | +| ----------------------- | ----------------------------------------- | +| `omniroute` | सर्वर प्रारंभ करें (डिफ़ॉल्ट पोर्ट 20128) | +| `omniroute --port 3000` | कस्टम पोर्ट का उपयोग करें | +| `omniroute --no-open` | ब्राउज़र को स्वतः न खोलें | +| `omniroute --help` | सहायता दिखाएँ | + +**2. एक मुफ़्त प्रदाता से जुड़ें:** + +डैशबोर्ड → प्रदाता → कनेक्ट **क्लाउड कोड** या **एंटीग्रेविटी** → OAuth लॉगिन → हो गया! + +**3. अपने सीएलआई टूल में उपयोग करें:** + +``` +Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings: + Endpoint: http://localhost:20128/v1 + API Key: [copy from dashboard] + Model: if/kimi-k2-thinking +``` + +**बस!** मुफ़्त AI मॉडल के साथ कोडिंग शुरू करें। + +**वैकल्पिक - स्रोत से चलाएँ:** + +```bash +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +--- + +## 🐳 डॉकर + +ओमनीरूट [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute) पर सार्वजनिक डॉकर छवि के रूप में उपलब्ध है। + +**त्वरित दौड़:** + +```bash +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**पर्यावरण फ़ाइल के साथ:** + +**OMNI_टोकन_5** + +**डॉकर कंपोज़ का उपयोग करना:** + +**OMNI_टोकन_6** + +| छवि | टैग | आकार | विवरण | +| ------------------------ | -------- | -------- | ------------------- | +| `diegosouzapw/omniroute` | `latest` | ~250एमबी | नवीनतम स्थिर रिलीज़ | +| `diegosouzapw/omniroute` | `1.0.3` | ~250एमबी | वर्तमान संस्करण | + +--- + +## 💰 मूल्य निर्धारण एक नज़र में + +| टियर | प्रदाता | लागत | कोटा रीसेट | के लिए सर्वश्रेष्ठ | +| ----------------- | ------------------- | ------------------------- | -------------------- | ------------------------ | +| **💳 सदस्यता** | क्लाउड कोड (प्रो) | $20/माह | 5 घंटे + साप्ताहिक | पहले ही सदस्यता ले ली है | +| | कोडेक्स (प्लस/प्रो) | $20-200/महीना | 5 घंटे + साप्ताहिक | OpenAI उपयोगकर्ता | +| | जेमिनी सीएलआई | **मुफ़्त** | 180K/माह + 1K/दिन | सब लोग! | +| | गिटहब कोपायलट | $10-19/माह | मासिक | GitHub उपयोगकर्ता | +| **🔑एपीआई कुंजी** | एनवीडिया एनआईएम | **मुफ़्त** (1000 क्रेडिट) | एक बार | निःशुल्क स्तरीय परीक्षण | +| | डीपसीक | भुगतान-प्रति-उपयोग | कोई नहीं | सर्वोत्तम मूल्य/गुणवत्ता | +| | ग्रोक | फ्री टियर + पेड | दर सीमित | अल्ट्रा-फास्ट अनुमान | +| | एक्सएआई (ग्रोक) | भुगतान-प्रति-उपयोग | कोई नहीं | ग्रोक मॉडल | +| | मिस्ट्रल | फ्री टियर + पेड | दर सीमित | यूरोपीय एआई | +| | ओपनराउटर | भुगतान-प्रति-उपयोग | कोई नहीं | 100+ मॉडल | +| **💰सस्ता** | जीएलएम-4.7 | $0.6/1 मिलियन | प्रतिदिन सुबह 10 बजे | बजट बैकअप | +| | मिनीमैक्स एम2.1 | $0.2/1 मिलियन | 5 घंटे की रोलिंग | सबसे सस्ता विकल्प | +| | किमी K2 | $9/महीना फ्लैट | 10एम टोकन/माह | अनुमानित लागत | +| **🆓 मुफ़्त** | आईफ्लो | $0 | असीमित | 8 मॉडल निःशुल्क | +| | क्वेन | $0 | असीमित | 3 मॉडल मुफ़्त | +| | किरो | $0 | असीमित | क्लाउड मुक्त | + +**💡 प्रो टिप:** जेमिनी सीएलआई (180 हजार निःशुल्क/माह) + आईफ्लो (असीमित निःशुल्क) कॉम्बो = $0 लागत से शुरू करें! + +--- + +## 🎯 उपयोग के मामले + +### केस 1: "मेरे पास क्लाउड प्रो सदस्यता है" + +**समस्या:** भारी कोडिंग के दौरान कोटा अप्रयुक्त, दर सीमा समाप्त हो जाता है + +``` +Combo: "maximize-claude" + 1. cc/claude-opus-4-6 (use subscription fully) + 2. glm/glm-4.7 (cheap backup when quota out) + 3. if/kimi-k2-thinking (free emergency fallback) + +Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total +vs. $20 + hitting limits = frustration +``` + +### केस 2: "मुझे शून्य लागत चाहिए" + +**समस्या:** सदस्यताएं वहन नहीं कर सकते, विश्वसनीय एआई कोडिंग की आवश्यकता है + +**OMNI_टोकन_8** + +### केस 3: "मुझे 24/7 कोडिंग चाहिए, कोई रुकावट नहीं" + +**समस्या:** समय सीमा, डाउनटाइम बर्दाश्त नहीं कर सकते + +``` +Combo: "always-on" + 1. cc/claude-opus-4-6 (best quality) + 2. cx/gpt-5.2-codex (second subscription) + 3. glm/glm-4.7 (cheap, resets daily) + 4. minimax/MiniMax-M2.1 (cheapest, 5h reset) + 5. if/kimi-k2-thinking (free unlimited) + +Result: 5 layers of fallback = zero downtime +``` + +### केस 4: "मुझे ओपनक्लॉ में मुफ़्त एआई चाहिए" + +**समस्या:** मैसेजिंग ऐप्स में AI सहायक की आवश्यकता है, पूरी तरह से निःशुल्क + +``` +Combo: "openclaw-free" + 1. if/glm-4.7 (unlimited free) + 2. if/minimax-m2.1 (unlimited free) + 3. if/kimi-k2-thinking (unlimited free) + +Monthly cost: $0 +Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal... +``` + +--- + +## 💡 मुख्य विशेषताएं + +### 🧠 कोर रूटिंग और इंटेलिजेंस + +| फ़ीचर | यह क्या करता है | +| --------------------------------- | ------------------------------------------------------------------------------------ | +| 🎯 **स्मार्ट 4-टियर फ़ॉलबैक** | ऑटो-रूट: सदस्यता → एपीआई कुंजी → सस्ता → मुफ़्त | +| 📊 **वास्तविक समय कोटा ट्रैकिंग** | लाइव टोकन गिनती + प्रति प्रदाता रीसेट उलटी गिनती | +| 🔄 **प्रारूप अनुवाद** | OpenAI ↔ क्लाउड ↔ जेमिनी ↔ कर्सर ↔ किरो सीमलेस + रिस्पॉन्स सैनिटाइजेशन | +| 👥 **मल्टी-अकाउंट सपोर्ट** | बुद्धिमान चयन के साथ प्रति प्रदाता एकाधिक खाते | +| 🔄 **ऑटो टोकन रिफ्रेश** | OAuth टोकन पुनः प्रयास के साथ स्वचालित रूप से ताज़ा हो जाते हैं | +| 🎨 **कस्टम कॉम्बो** | 6 रणनीतियाँ: पहले भरें, राउंड-रॉबिन, पी2सी, यादृच्छिक, कम से कम उपयोग, लागत-अनुकूलित | +| 🧩 **कस्टम मॉडल** | किसी भी प्रदाता से कोई भी मॉडल आईडी जोड़ें | +| 🌐 **वाइल्डकार्ड राउटर** | `provider/*` पैटर्न को गतिशील रूप से किसी भी प्रदाता तक रूट करें | +| 🧠 **सोच बजट** | तर्क मॉडल के लिए पासथ्रू, ऑटो, कस्टम और अनुकूली मोड | +| 💬 **सिस्टम प्रॉम्प्ट इंजेक्शन** | ग्लोबल सिस्टम प्रॉम्प्ट सभी अनुरोधों पर लागू किया गया | +| 📄 **प्रतिक्रियाएं एपीआई** | कोडेक्स के लिए पूर्ण ओपनएआई रिस्पॉन्स एपीआई (`/v1/responses`) समर्थन | + +### 🎵 मल्टी-मॉडल एपीआई + +| फ़ीचर | यह क्या करता है | +| ---------------------------- | ------------------------------------------------- | +| 🖼️ **छवि निर्माण** | `/v1/images/generations` - 4 प्रदाता, 9+ मॉडल | +| 📐 **एंबेडिंग** | `/v1/embeddings` — 6 प्रदाता, 9+ मॉडल | +| 🎤 **ऑडियो ट्रांस्क्रिप्शन** | `/v1/audio/transcriptions` - कानाफूसी-संगत | +| 🔊 **टेक्स्ट-टू-स्पीच** | `/v1/audio/speech` - बहु-प्रदाता ऑडियो संश्लेषण | +| 🛡️ **संयम** | `/v1/moderations` — सामग्री सुरक्षा जांच | +| 🔀 **पुनर्रैंकिंग** | `/v1/rerank` — दस्तावेज़ प्रासंगिकता पुनर्रैंकिंग | + +### 🛡️ लचीलापन और सुरक्षा + +| फ़ीचर | यह क्या करता है | +| ------------------------------------- | ---------------------------------------------------------------------------- | +| 🔌 **सर्किट ब्रेकर** | कॉन्फ़िगर करने योग्य थ्रेशोल्ड के साथ प्रति-प्रदाता स्वतः खोलें/बंद करें | +| 🛡️ **एंटी-थंडरिंग झुंड** | एपीआई कुंजी प्रदाताओं के लिए म्यूटेक्स + सेमाफोर दर-सीमा | +| 🧠 **सिमेंटिक कैश** | दो-स्तरीय कैश (हस्ताक्षर + सिमेंटिक) लागत और विलंबता को कम करता है | +| ⚡ **निष्क्रियता का अनुरोध** | डुप्लिकेट अनुरोधों के लिए 5s डिडअप विंडो | +| 🔒 **टीएलएस फ़िंगरप्रिंट स्पूफ़िंग** | Wreq-js के माध्यम से टीएलएस-आधारित बॉट डिटेक्शन को बायपास करें | +| 🌐 **आईपी फ़िल्टरिंग** | एपीआई अभिगम नियंत्रण के लिए अनुमति सूची/अवरुद्ध सूची | +| 📊 **संपादन योग्य दर सीमाएँ** | सिस्टम स्तर पर कॉन्फ़िगर करने योग्य आरपीएम, न्यूनतम अंतर और अधिकतम समवर्ती | +| 🛡 **एपीआई एंडपॉइंट सुरक्षा** | `/models` समापन बिंदु के लिए ऑथेंटिक गेटिंग + प्रदाता अवरोधन | +| 🔒 **प्रॉक्सी दृश्यता** | रंग-कोडित बैज: 🟢 वैश्विक, 🟡 प्रदाता, 🔵 आईपी डिस्प्ले के साथ प्रति-कनेक्शन | +| 🌐 **3-स्तरीय प्रॉक्सी कॉन्फ़िगरेशन** | वैश्विक, प्रति-प्रदाता, या प्रति-कनेक्शन स्तर पर प्रॉक्सी कॉन्फ़िगर करें | + +### 📊 अवलोकनशीलता और विश्लेषण + +| फ़ीचर | यह क्या करता है | +| ------------------------------- | ------------------------------------------------------------------------------ | +| 📝 **लॉगिंग का अनुरोध** | पूर्ण अनुरोध/प्रतिक्रिया लॉग के साथ डिबग मोड | +| 💾 **SQLite प्रॉक्सी लॉग्स** | लगातार प्रॉक्सी लॉग सर्वर पुनरारंभ होने से बचे रहते हैं | +| 📊 **एनालिटिक्स डैशबोर्ड** | रिचार्ज-संचालित: स्टेट कार्ड, मॉडल उपयोग चार्ट, प्रदाता तालिका | +| 📈 **प्रगति ट्रैकिंग** | स्ट्रीमिंग के लिए ऑप्ट-इन एसएसई प्रगति कार्यक्रम | +| 🧪 **एलएलएम मूल्यांकन** | 4 मैच रणनीतियों के साथ गोल्डन सेट परीक्षण | +| 🔍 **टेलीमेट्री के लिए अनुरोध** | p50/p95/p99 विलंबता एकत्रीकरण + एक्स-अनुरोध-आईडी ट्रेसिंग | +| 📋 **लॉग्स डैशबोर्ड** | एकीकृत 4-टैब पृष्ठ: अनुरोध लॉग, प्रॉक्सी लॉग, ऑडिट लॉग, कंसोल | +| 🖥️ **कंसोल लॉग व्यूअर** | लेवल फ़िल्टर, खोज, ऑटो-स्क्रॉल के साथ रीयल-टाइम टर्मिनल-शैली व्यूअर | +| 📑 **फ़ाइल-आधारित लॉगिंग** | कंसोल इंटरसेप्टर रोटेशन के साथ सभी आउटपुट को JSON लॉग फ़ाइल में कैप्चर करता है | +| 🏥 **स्वास्थ्य डैशबोर्ड** | सिस्टम अपटाइम, सर्किट ब्रेकर स्थिति, लॉकआउट, कैश आँकड़े | +| 💰 **लागत ट्रैकिंग** | बजट प्रबंधन + प्रति-मॉडल मूल्य निर्धारण विन्यास | + +### ☁️ परिनियोजन और सिंक + +| फ़ीचर | यह क्या करता है | +| ---------------------------- | ---------------------------------------------------------------------------- | ----------------------------- | +| 💾 **क्लाउड सिंक** | क्लाउडफ्लेयर वर्कर्स के माध्यम से सभी डिवाइसों में कॉन्फिगरेशन सिंक करें | +| 🌐 **कहीं भी तैनात करें** | लोकलहोस्ट, वीपीएस, डॉकर, क्लाउडफ्लेयर वर्कर्स | +| 🔑 **एपीआई कुंजी प्रबंधन** | प्रति प्रदाता एपीआई कुंजियाँ उत्पन्न करें, घुमाएँ और स्कोप करें | +| 🧙 **ऑनबोर्डिंग विज़ार्ड** | पहली बार उपयोगकर्ताओं के लिए 4-चरणीय निर्देशित सेटअप | +| 🔧 **सीएलआई टूल्स डैशबोर्ड** | क्लाउड, कोडेक्स, क्लाइन, ओपनक्लॉ, किलो, एंटीग्रेविटी | को एक-क्लिक से कॉन्फ़िगर करें | +| 🔄 **डीबी बैकअप** | सभी सेटिंग्स के लिए स्वचालित बैकअप, पुनर्स्थापना, निर्यात और आयात | +| 🌐 **अंतर्राष्ट्रीयकरण** | नेक्स्ट-इंटल के साथ पूर्ण i18n - अंग्रेजी + पुर्तगाली (ब्राजील) समर्थन | +| 🌍 **भाषा चयनकर्ता** | रीयल-टाइम भाषा स्विचिंग के लिए हेडर में ग्लोब आइकन (🇺🇸/🇧🇷) | +| 📂 **कस्टम डेटा निर्देशिका** | `DATA_DIR` env var डिफ़ॉल्ट `~/.omniroute` संग्रहण पथ को ओवरराइड करने के लिए | + +**OMNI_टोकन_248** + +📖 सुविधा विवरण + +### 🎯 स्मार्ट 4-टियर फ़ॉलबैक + +स्वचालित फ़ॉलबैक के साथ कॉम्बो बनाएं: + +**OMNI_टोकन_11** + +### 📊 रीयल-टाइम कोटा ट्रैकिंग + +- प्रति प्रदाता टोकन खपत +- उलटी गिनती रीसेट करें (5 घंटे, दैनिक, साप्ताहिक) +- भुगतान किए गए स्तरों के लिए लागत अनुमान +- मासिक खर्च रिपोर्ट + +### 🔄 प्रारूप अनुवाद + +प्रारूपों के बीच निर्बाध अनुवाद: + +- **ओपनएआई** ↔ **क्लाउड** ↔ **मिथुन** ↔ **ओपनएआई प्रतिक्रियाएं** +- आपका सीएलआई उपकरण ओपनएआई प्रारूप भेजता है → ओमनीरूट अनुवाद करता है → प्रदाता मूल प्रारूप प्राप्त करता है +- कस्टम ओपनएआई एंडपॉइंट्स का समर्थन करने वाले किसी भी टूल के साथ काम करता है +- **प्रतिक्रिया स्वच्छता** - सख्त ओपनएआई एसडीके संगतता के लिए गैर-मानक फ़ील्ड को हटा देता है +- **भूमिका सामान्यीकरण** - `developer` → गैर-OpenAI के लिए `system`; `system` → GLM/ERNIE मॉडल के लिए `user` +- **टैग निष्कर्षण के बारे में सोचें** - `` ब्लॉक → सोच मॉडल के लिए `reasoning_content` +- **संरचित आउटपुट** — `json_schema` → मिथुन राशि का `responseMimeType`/`responseSchema` + +### 👥 मल्टी-अकाउंट सपोर्ट + +- प्रति प्रदाता एकाधिक खाते जोड़ें +- ऑटो राउंड-रॉबिन या प्राथमिकता-आधारित रूटिंग +- कोटा पूरा होने पर अगले खाते में फ़ॉलबैक + +### 🔄 ऑटो टोकन रिफ्रेश + +- OAuth टोकन समाप्ति से पहले स्वचालित रूप से ताज़ा हो जाते हैं +- किसी मैन्युअल पुन: प्रमाणीकरण की आवश्यकता नहीं है +- सभी प्रदाताओं के बीच निर्बाध अनुभव + +### 🎨 कस्टम कॉम्बो + +- असीमित मॉडल संयोजन बनाएं +- 6 रणनीतियाँ: पहले भरें, राउंड-रॉबिन, दो-विकल्पों की शक्ति, यादृच्छिक, कम से कम उपयोग, लागत-अनुकूलित +- क्लाउड सिंक के साथ सभी डिवाइसों पर कॉम्बो साझा करें + +### 🏥 स्वास्थ्य डैशबोर्ड + +- सिस्टम स्थिति (अपटाइम, संस्करण, मेमोरी उपयोग) +- प्रति प्रदाता सर्किट ब्रेकर की स्थिति (बंद/खुला/आधा खुला) +- दर सीमा स्थिति और सक्रिय तालाबंदी +- हस्ताक्षर कैश आँकड़े +- विलंबता टेलीमेट्री (p50/p95/p99) + शीघ्र कैश +- एक क्लिक से स्वास्थ्य स्थिति रीसेट करें + +### 🔧 अनुवादक खेल का मैदान + +ओमनीरूट में डिबगिंग, परीक्षण और एपीआई अनुवादों की निगरानी के लिए **4 मोड** के साथ एक शक्तिशाली अंतर्निहित अनुवादक खेल का मैदान शामिल है: + +| मोड | विवरण | +| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **💻खेल का मैदान** | प्रत्यक्ष प्रारूप अनुवाद - किसी भी एपीआई अनुरोध निकाय को पेस्ट करें और तुरंत देखें कि ओम्नीरूट प्रदाता प्रारूपों (ओपनएआई ↔ क्लाउड ↔ जेमिनी ↔ रिस्पॉन्स एपीआई) के बीच इसका अनुवाद कैसे करता है। उदाहरण टेम्प्लेट और प्रारूप ऑटो-डिटेक्शन शामिल है। | +| **💬 चैट परीक्षक** | ओम्निरूट के माध्यम से वास्तविक चैट अनुरोध भेजें और पूरी राउंड-ट्रिप देखें: आपका इनपुट, अनुवादित अनुरोध, प्रदाता प्रतिक्रिया, और अनुवादित प्रतिक्रिया वापस। कॉम्बो रूटिंग को मान्य करने के लिए अमूल्य। | +| **🧪 टेस्ट बेंच** | बैच परीक्षण मोड - विभिन्न इनपुट और अपेक्षित आउटपुट के साथ कई परीक्षण मामलों को परिभाषित करें, उन सभी को एक साथ चलाएं, और प्रदाताओं और मॉडलों के परिणामों की तुलना करें। | +| **📱लाइव मॉनिटर** | वास्तविक समय अनुरोध की निगरानी - आने वाले अनुरोधों को ओम्नीरूट के माध्यम से प्रवाहित होते हुए देखें, प्रारूप अनुवाद को लाइव होते हुए देखें, और समस्याओं की तुरंत पहचान करें। | + +**पहुँच:** डैशबोर्ड → अनुवादक (साइडबार) + +### 💾 क्लाउड सिंक + +- सभी डिवाइसों में सिंक प्रदाता, कॉम्बो और सेटिंग्स +- स्वचालित पृष्ठभूमि सिंक +- सुरक्षित एन्क्रिप्टेड भंडारण + +**OMNI_टोकन_253** + +--- + +## 📖 सेटअप गाइड + +**OMNI_टोकन_254** + +💳 सदस्यता प्रदाता + +### क्लाउड कोड (प्रो/मैक्स) + +**OMNI_टोकन_12** + +**प्रो टिप:** जटिल कार्यों के लिए ओपस और गति के लिए सॉनेट का उपयोग करें। ओमनीरूट प्रति मॉडल कोटा ट्रैक करता है! + +### ओपनएआई कोडेक्स (प्लस/प्रो) + +**OMNI_टोकन_13** + +### जेमिनी सीएलआई (मुफ़्त 180K/माह!) + +**OMNI_टोकन_14** + +**सर्वोत्तम मूल्य:** विशाल निःशुल्क स्तर! सशुल्क स्तरों से पहले इसका उपयोग करें। + +### गिटहब कोपायलट + +**OMNI_टोकन_15** + +**OMNI_टोकन_259** + +
+🔑 API कुंजी प्रदाता + +### एनवीडिया एनआईएम (मुफ़्त 1000 क्रेडिट!) + +1. साइन अप करें: [build.nvidia.com](https://build.nvidia.com) +2. निःशुल्क एपीआई कुंजी प्राप्त करें (1000 अनुमान क्रेडिट शामिल) +3. डैशबोर्ड → प्रदाता जोड़ें → एनवीडिया एनआईएम: + - एपीआई कुंजी: `nvapi-your-key` + +**मॉडल:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct`, और 50+ अधिक + +**प्रो टिप:** ओपनएआई-संगत एपीआई - ओमनीरूट के प्रारूप अनुवाद के साथ सहजता से काम करता है! + +### डीपसीक + +1. साइन अप करें: [platform.deepseek.com](https://platform.deepseek.com) +2. एपीआई कुंजी प्राप्त करें +3. डैशबोर्ड → प्रदाता जोड़ें → डीपसीक + +**मॉडल:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder` + +### ग्रोक (निःशुल्क टियर उपलब्ध!) + +1. साइन अप करें: [console.groq.com](https://console.groq.com) +2. एपीआई कुंजी प्राप्त करें (फ्री टियर शामिल) +3. डैशबोर्ड → प्रदाता जोड़ें → ग्रोक + +**मॉडल:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b` + +**प्रो टिप:** अल्ट्रा-फास्ट अनुमान - वास्तविक समय कोडिंग के लिए सर्वोत्तम! + +### ओपनराउटर (100+ मॉडल) + +1. साइन अप करें: [openrouter.ai](https://openrouter.ai) +2. एपीआई कुंजी प्राप्त करें +3. डैशबोर्ड → प्रदाता जोड़ें → ओपनराउटर + +**मॉडल:** एक ही एपीआई कुंजी के माध्यम से सभी प्रमुख प्रदाताओं से 100+ मॉडल तक पहुंचें। + +**OMNI_टोकन_265** + +**OMNI_टोकन_266** + +💰 सस्ते प्रदाता (बैकअप) + +### GLM-4.7 (दैनिक रीसेट, $0.6/1 मिलियन) + +1. साइन अप करें: [Zhipu AI](https://open.bigmodel.cn/) +2. कोडिंग योजना से एपीआई कुंजी प्राप्त करें +3. डैशबोर्ड → एपीआई कुंजी जोड़ें: + - प्रदाता: `glm` + - एपीआई कुंजी: `your-key` + +**उपयोग करें:** `glm/glm-4.7` + +**प्रो टिप:** कोडिंग प्लान 1/7 लागत पर 3× कोटा प्रदान करता है! प्रतिदिन सुबह 10:00 बजे रीसेट करें। + +### मिनीमैक्स एम2.1 (5 घंटे रीसेट, $0.20/1 मिलियन) + +1. साइन अप करें: [MiniMax](https://www.minimax.io/) +2. एपीआई कुंजी प्राप्त करें +3. डैशबोर्ड → एपीआई कुंजी जोड़ें + +**उपयोग:** `minimax/MiniMax-M2.1` + +**प्रो टिप:** लंबे संदर्भ के लिए सबसे सस्ता विकल्प (1M टोकन)! + +### किमी K2 ($9/माह फ्लैट) + +1. सदस्यता लें: [Moonshot AI](https://platform.moonshot.ai/) +2. एपीआई कुंजी प्राप्त करें +3. डैशबोर्ड → एपीआई कुंजी जोड़ें + +**उपयोग करें:** `kimi/kimi-latest` + +**प्रो टिप:** 10एम टोकन के लिए निश्चित $9/माह = $0.90/1एम प्रभावी लागत! + +**OMNI_टोकन_271** + +**OMNI_टोकन_272** + +🆓 मुफ़्त प्रदाता (आपातकालीन बैकअप) + +### आईफ्लो (8 मुफ़्त मॉडल) + +**OMNI_टोकन_16** + +### क्वेन (3 मुफ़्त मॉडल) + +**OMNI_टोकन_17** + +### किरो (क्लाउड फ्री) + +**OMNI_टोकन_18** + +**OMNI_टोकन_277** + +**OMNI_टोकन_278** + +🎨 कॉम्बो बनाएं + +### उदाहरण 1: सदस्यता अधिकतम करें → सस्ता बैकअप + +**OMNI_टोकन_19** + +### उदाहरण 2: केवल निःशुल्क (शून्य लागत) + +``` +Name: free-combo +Models: + 1. gc/gemini-3-flash-preview (180K free/month) + 2. if/kimi-k2-thinking (unlimited) + 3. qw/qwen3-coder-plus (unlimited) + +Cost: $0 forever! +``` + +**OMNI_टोकन_283** + +**OMNI_टोकन_284** + +🔧 CLI एकीकरण + +### कर्सर आईडीई + +**OMNI_टोकन_21** + +### क्लाउड कोड + +एक-क्लिक कॉन्फ़िगरेशन के लिए डैशबोर्ड में **CLI टूल्स** पृष्ठ का उपयोग करें, या `~/.claude/settings.json` को मैन्युअल रूप से संपादित करें। + +### कोडेक्स सीएलआई + +**OMNI_टोकन_22** + +### ओपनक्लॉ + +**विकल्प 1 - डैशबोर्ड (अनुशंसित):** + +**OMNI_टोकन_23** + +**विकल्प 2 - मैनुअल:** संपादित करें `~/.openclaw/openclaw.json`: + +**OMNI_टोकन_24** + +> **ध्यान दें:** ओपनक्लाव केवल स्थानीय ओमनीरूट के साथ काम करता है। IPv6 रिज़ॉल्यूशन समस्याओं से बचने के लिए `localhost` के बजाय `127.0.0.1` का उपयोग करें। + +### क्लाइन / जारी रखें / रूकोड + +**OMNI_टोकन_25** + +**OMNI_टोकन_289** + +--- + +## 📊 उपलब्ध मॉडल + +
+सभी उपलब्ध मॉडल देखें + +**क्लाउड कोड (`cc/`)** - प्रो/मैक्स: + +- `cc/claude-opus-4-6` +- `cc/claude-sonnet-4-5-20250929` +- `cc/claude-haiku-4-5-20251001` + +**कोडेक्स (`cx/`)** - प्लस/प्रो: + +- **OMNI_टोकन_84** +- `cx/gpt-5.1-codex-max` + +**मिथुन सीएलआई (`gc/`)** - मुफ़्त: + +- `gc/gemini-3-flash-preview` +- `gc/gemini-2.5-pro` + +**गिटहब कोपायलट (`gh/`)**: + +- `gh/gpt-5` +- `gh/claude-4.5-sonnet` + +**एनवीडिया एनआईएम (`nvidia/`)** - मुफ़्त क्रेडिट: + +- `nvidia/llama-3.3-70b-instruct` +- `nvidia/mistral-7b-instruct` +- [build.nvidia.com](https://build.nvidia.com) पर 50+ अधिक मॉडल + +**जीएलएम (`glm/`)** - $0.6/1M: + +- `glm/glm-4.7` + +**मिनीमैक्स (`minimax/`)** - $0.2/1M: + +- `minimax/MiniMax-M2.1` + +**iFlow (`if/`)** - मुफ़्त: + +- `if/kimi-k2-thinking` +- `if/qwen3-coder-plus` +- `if/deepseek-r1` +- `if/glm-4.7` +- `if/minimax-m2` + +**क्वेन (`qw/`)** - मुफ़्त: + +- `qw/qwen3-coder-plus` +- `qw/qwen3-coder-flash` + +**किरो (`kr/`)** - मुफ़्त: + +- `kr/claude-sonnet-4.5` +- `kr/claude-haiku-4.5` + +**ओपनराउटर (`or/`)** - 100+ मॉडल: + +- `or/anthropic/claude-4-sonnet` +- `or/google/gemini-2.5-pro` +- [openrouter.ai/models](https://openrouter.ai/models) से कोई भी मॉडल + +**OMNI_टोकन_295** + +--- + +## 🧪 मूल्यांकन (Evaluations) + +ओमनीरूट में गोल्डन सेट के मुकाबले एलएलएम प्रतिक्रिया गुणवत्ता का परीक्षण करने के लिए एक अंतर्निहित मूल्यांकन ढांचा शामिल है। डैशबोर्ड में **एनालिटिक्स → इवेल्स** के माध्यम से इसे एक्सेस करें। + +### बिल्ट-इन गोल्डन सेट + +प्री-लोडेड "ओम्नीरूट गोल्डन सेट" में 10 परीक्षण मामले शामिल हैं: + +- नमस्ते, गणित, भूगोल, कोड जनरेशन +- JSON प्रारूप अनुपालन, अनुवाद, मार्कडाउन +- सुरक्षा इनकार (हानिकारक सामग्री), गिनती, बूलियन तर्क + +### मूल्यांकन रणनीतियाँ + +| रणनीति | विवरण | उदाहरण | +| ---------- | ------------------------------------------------- | -------------------------------- | +| `exact` | आउटपुट बिल्कुल मेल खाना चाहिए | `"4"` | +| `contains` | आउटपुट में सबस्ट्रिंग (केस-असंवेदनशील) होना चाहिए | `"Paris"` | +| `regex` | आउटपुट रेगेक्स पैटर्न से मेल खाना चाहिए | `"1.*2.*3"` | +| `custom` | कस्टम जेएस फ़ंक्शन सही/गलत लौटाता है | `(output) => output.length > 10` | + +--- + +## 🔐 OAuth em सर्विडोर रेमोटो (रिमोट OAuth सेटअप) + + + +> **⚠️ वीपीएस/डॉकर/सर्विडोर रिमोट पर ओमनीरूट का उपयोग करने के लिए महत्वपूर्ण** + +### क्या आप एंटीग्रेविटी/जेमिनी सीएलआई के लिए OAuth का उपयोग कर रहे हैं? + +प्रमाणित करने के लिए **एंटीग्रेविटी** और **मिथुन सीएलआई** का उपयोग करें **Google OAuth 2.0** का उपयोग करें। Google के लिए यह आवश्यक है कि `redirect_uri` का उपयोग बिना किसी प्रवाह के OAuth सेजा **exatamente** के माध्यम से किया जाए ताकि URIs को Google क्लाउड कंसोल के लिए पूर्व-आवेदन किया जा सके। + +जैसा कि OAuth का प्रमाण है, कोई ओम्निरूट कैडस्ट्राड नहीं है ** `localhost`** के लिए एपेनास। एक सर्विडोर रिमोट (उदा: `https://omniroute.meuservidor.com`) पर ओमनीरूट का उपयोग कैसे करें, या Google एक प्रमाणीकरण कॉम को पुनः प्राप्त करता है: + +**OMNI_टोकन_26** + +### समाधान: OAuth को कॉन्फ़िगर करें + +आपका सटीक विवरण **OAuth 2.0 क्लाइंट आईडी** आपके सर्वर पर यूआरआई के साथ Google क्लाउड कंसोल नहीं है। + +#### पासो ए पासो + +**1. Google क्लाउड कंसोल तक पहुंच** + +अब्राहम: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials) + +**2. नया OAuth 2.0 क्लाइंट आईडी देखें** + +- उन्हें क्लिक करें **"+ क्रेडेंशियल बनाएं"** → **"OAuth क्लाइंट आईडी"** +- आवेदन टिप: **"वेब एप्लिकेशन"** +- नोम: एस्कोल्हा क्वाल्कर नोम (उदा: `OmniRoute Remote`) + +**3. अधिकृत रीडायरेक्ट यूआरआई के रूप में एडिकियोन** + +कोई शिकायत नहीं **"अधिकृत रीडायरेक्ट यूआरआई"**, आदि: + +``` +https://seu-servidor.com/callback +``` + +> स्थानापन्न `seu-servidor.com` अपने आईपी को अपने सर्वर पर रखें (इसमें एक आवश्यक पोर्ट भी शामिल है, उदाहरण के लिए: `http://45.33.32.156:20128/callback`)। + +**4. साख के रूप में सहेजें और कॉपी करें** + +एपोस क्रियर, Google द्वारा **क्लाइंट आईडी** और **क्लाइंट सीक्रेट**। + +**5. परिवेश परिवर्तन** के रूप में कॉन्फ़िगर करें + +कोई `.env` नहीं (आप डॉकर के परिवेश को कैसे बदल सकते हैं): + +```bash +# Para Antigravity: +ANTIGRAVITY_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret + +# Para Gemini CLI: +GEMINI_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +``` + +**6. ओम्निरूट का नवीनीकरण** + +```bash +# Se usando npm: +npm run dev + +# Se usando Docker: +docker restart omniroute +``` + +**7. नए सिरे से संपर्क करें** + +डैशबोर्ड → प्रदाता → एंटीग्रेविटी (या जेमिनी सीएलआई) → OAuth + +`https://seu-servidor.com/callback` और एक प्रमाणीकरण कार्य के लिए Google पुनर्निर्देशन। + +--- + +### वर्कअराउंड टेम्पोरैरियो (सेम कॉन्फिगरेशन क्रेडेंशियल प्रोप्रियास) + +यदि आप पहले से ही उचित क्रेडेंशियल प्राप्त नहीं करना चाहते हैं, तो आपके लिए फ्लक्सो का उपयोग करना संभव है **यूआरएल का मैनुअल**: + +1. Google पर स्वचालित URL का उपयोग करके ओम्निरूट का उपयोग करें +2. ऑटोरिज़ार का लाभ, `localhost` के लिए Google पुनर्निर्देशन (यदि कोई सर्वर रिमोट नहीं है) +3. **एक यूआरएल को पूरा कॉपी करें** अपने ब्राउजर से दोबारा डाउनलोड करें (मुझे लगता है कि एक पेज अभी भी उपलब्ध है) +4. ओम्निरूट से जुड़ने के लिए कोई भी यूआरएल नहीं है +5. उन्हें क्लिक करें **"कनेक्ट"** + +> यह समाधान यूआरएल को स्वचालित रूप से डाउनलोड करने के लिए काम कर रहा है और आपके द्वारा किए गए रीडायरेक्ट को स्वतंत्र रूप से वैध बनाता है। + +--- + +## 🐛 समस्या निवारण + +**OMNI_टोकन_298** + +समस्या निवारण मार्गदर्शिका का विस्तार करने के लिए क्लिक करें + +**"भाषा मॉडल ने संदेश प्रदान नहीं किया"** + +- प्रदाता कोटा समाप्त → डैशबोर्ड कोटा ट्रैकर की जाँच करें +- समाधान: कॉम्बो फ़ॉलबैक का उपयोग करें या सस्ते स्तर पर स्विच करें + +**दर सीमित करना** + +- सदस्यता कोटा ख़त्म → GLM/MiniMax पर फ़ॉलबैक +- कॉम्बो जोड़ें: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking` + +**OAuth टोकन समाप्त हो गया** + +- ओम्निरूट द्वारा स्वतः ताज़ा +- यदि समस्या बनी रहती है: डैशबोर्ड → प्रदाता → पुनः कनेक्ट करें + +**उच्च लागत** + +- डैशबोर्ड → लागत में उपयोग के आँकड़े जाँचें +- प्राथमिक मॉडल को जीएलएम/मिनीमैक्स पर स्विच करें +- गैर-महत्वपूर्ण कार्यों के लिए फ्री टियर (मिथुन सीएलआई, आईफ्लो) का उपयोग करें + +**डैशबोर्ड गलत पोर्ट पर खुलता है** + +- `PORT=20128` और `NEXT_PUBLIC_BASE_URL=http://localhost:20128` सेट करें + +**क्लाउड सिंक त्रुटियाँ** + +- अपने चल रहे उदाहरण के लिए `BASE_URL` अंक सत्यापित करें +- अपने अपेक्षित क्लाउड एंडपॉइंट पर `CLOUD_URL` पॉइंट सत्यापित करें +- `NEXT_PUBLIC_*` मानों को सर्वर-साइड मानों के साथ संरेखित रखें + +**पहला लॉगिन काम नहीं कर रहा** + +- `.env` में `INITIAL_PASSWORD` को जांचें +- यदि सेट नहीं है, तो फ़ॉलबैक पासवर्ड `123456` है + +**कोई अनुरोध लॉग नहीं** + +- `.env` में `ENABLE_REQUEST_LOGS=true` सेट करें + +**कनेक्शन परीक्षण OpenAI-संगत प्रदाताओं के लिए "अमान्य" दिखाता है** + +- कई प्रदाता `/models` समापन बिंदु को उजागर नहीं करते हैं +- ओमनीरूट v1.0.6+ में चैट पूर्णता के माध्यम से फ़ॉलबैक सत्यापन शामिल है +- सुनिश्चित करें कि आधार URL में `/v1` प्रत्यय शामिल हो + +**OMNI_टोकन_303** + +--- + +## 🛠️ टेक स्टैक + +- **रनटाइम**: Node.js 18–22 LTS (⚠️ Node.js 24+ **समर्थित नहीं** है - `better-sqlite3` मूल बायनेरिज़ असंगत हैं) +- **भाषा**: टाइपस्क्रिप्ट 5.9 - **100% टाइपस्क्रिप्ट** `src/` और `open-sse/` (v1.0.6) में +- **फ्रेमवर्क**: नेक्स्ट.जेएस 16 + रिएक्ट 19 + टेलविंड सीएसएस 4 +- **डेटाबेस**: लोडीबी (JSON) + SQLite (डोमेन स्थिति + प्रॉक्सी लॉग) +- **स्ट्रीमिंग**: सर्वर-भेजे गए इवेंट (एसएसई) +- **प्रामाणिक**: OAuth 2.0 (PKCE) + JWT + API कुंजियाँ +- **परीक्षण**: Node.js परीक्षण धावक (368+ इकाई परीक्षण) +- **सीआई/सीडी**: गिटहब क्रियाएँ (ऑटो एनपीएम प्रकाशन + रिलीज पर डॉकर हब) +- **वेबसाइट**: [omniroute.online](https://omniroute.online) +- **पैकेज**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute) +- **डॉकर**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute) +- **लचीलापन**: सर्किट ब्रेकर, एक्सपोनेंशियल बैकऑफ़, एंटी-थंडरिंग झुंड, टीएलएस स्पूफिंग + +--- + +## 📖 दस्तावेज़ीकरण + +| दस्तावेज़ | विवरण | +| -------------------------------------------- | ------------------------------------------- | +| [User Guide](docs/USER_GUIDE.md) | प्रदाता, कॉम्बो, सीएलआई एकीकरण, तैनाती | +| [API Reference](docs/API_REFERENCE.md) | उदाहरण सहित सभी समापन बिंदु | +| [Troubleshooting](docs/TROUBLESHOOTING.md) | सामान्य समस्याएँ एवं समाधान | +| [Architecture](docs/ARCHITECTURE.md) | सिस्टम आर्किटेक्चर और आंतरिक | +| [Contributing](CONTRIBUTING.md) | विकास सेटअप और दिशानिर्देश | +| [OpenAPI Spec](docs/openapi.yaml) | ओपनएपीआई 3.0 विशिष्टता | +| [Security Policy](SECURITY.md) | भेद्यता रिपोर्टिंग और सुरक्षा प्रथाएं | +| [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | संपूर्ण गाइड: VM + nginx + Cloudflare सेटअप | +| [Features Gallery](docs/FEATURES.md) | स्क्रीनशॉट के साथ विजुअल डैशबोर्ड टूर | + +### 📸 डैशबोर्ड पूर्वावलोकन + +**OMNI_टोकन_304** + +डैशबोर्ड स्क्रीनशॉट देखने के लिए क्लिक करें + +| पेज | स्क्रीनशॉट | +| ----------------- | ------------------------------------------------- | +| **प्रदाता** | ![Providers](docs/screenshots/01-providers.png) | +| **कॉम्बोस** | ![Combos](docs/screenshots/02-combos.png) | +| **एनालिटिक्स** | ![Analytics](docs/screenshots/03-analytics.png) | +| **स्वास्थ्य** | ![Health](docs/screenshots/04-health.png) | +| **अनुवादक** | ![Translator](docs/screenshots/05-translator.png) | +| **सेटिंग्स** | ![Settings](docs/screenshots/06-settings.png) | +| **सीएलआई उपकरण** | ![CLI Tools](docs/screenshots/07-cli-tools.png) | +| **उपयोग लॉग** | ![Usage](docs/screenshots/08-usage.png) | +| **समाप्ति बिंदु** | ![Endpoint](docs/screenshots/09-endpoint.png) | + +**OMNI_टोकन_309** + +--- + +## 🗺️ रोडमैप + +ओम्निरूट ने कई विकास चरणों में **210+ सुविधाओं की योजना बनाई है**। यहां प्रमुख क्षेत्र हैं: + +| श्रेणी | नियोजित विशेषताएं | हाइलाइट्स | +| --------------------------- | ----------------- | ------------------------------------------------------------------------------------------- | +| 🧠 **रूटिंग और इंटेलिजेंस** | 25+ | न्यूनतम-विलंबता रूटिंग, टैग-आधारित रूटिंग, कोटा प्रीफ़्लाइट, पी2सी खाता चयन | +| 🔒 **सुरक्षा एवं अनुपालन** | 20+ | एसएसआरएफ हार्डनिंग, क्रेडेंशियल क्लोकिंग, प्रति समापन बिंदु दर-सीमा, प्रबंधन कुंजी स्कोपिंग | +| 📊 **अवलोकनशीलता** | 15+ | ओपन टेलीमेट्री एकीकरण, वास्तविक समय कोटा निगरानी, ​​प्रति मॉडल लागत ट्रैकिंग | +| 🔄 **प्रदाता एकीकरण** | 20+ | डायनेमिक मॉडल रजिस्ट्री, प्रदाता कूलडाउन, मल्टी-अकाउंट कोडेक्स, कोपायलट कोटा पार्सिंग | +| ⚡ **प्रदर्शन** | 15+ | दोहरी कैश परत, शीघ्र कैश, प्रतिक्रिया कैश, स्ट्रीमिंग कीपलाइव, बैच एपीआई | +| 🌐 **पारिस्थितिकी तंत्र** | 10+ | वेबसॉकेट एपीआई, कॉन्फिग हॉट-रीलोड, वितरित कॉन्फिग स्टोर, वाणिज्यिक मोड | + +### 🔜 जल्द आ रहा है + +- 🔗 **ओपनकोड इंटीग्रेशन** - ओपनकोड एआई कोडिंग आईडीई के लिए मूल प्रदाता समर्थन +- 🔗 **TRAE एकीकरण** - TRAE AI विकास ढांचे के लिए पूर्ण समर्थन +- 📦 **बैच एपीआई** - थोक अनुरोधों के लिए अतुल्यकालिक बैच प्रोसेसिंग +- 🎯 **टैग-आधारित रूटिंग** - कस्टम टैग और मेटाडेटा के आधार पर रूट अनुरोध +- 💰 **न्यूनतम-लागत रणनीति** — स्वचालित रूप से सबसे सस्ते उपलब्ध प्रदाता का चयन करें + +> 📝 पूर्ण फीचर विशिष्टताएं [**OMNI_TOKEN_147**](docs/new-features/) में उपलब्ध हैं (217 विस्तृत विवरण) + +--- + +## 📧समर्थन + +> 💬 **हमारे समुदाय में शामिल हों!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) - सहायता प्राप्त करें, सुझाव साझा करें और अपडेट रहें। + +- **वेबसाइट**: [omniroute.online](https://omniroute.online) +- **गिटहब**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) +- **मुद्दे**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) +- **व्हाट्सएप**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) +- **मूल परियोजना**: [9router by decolua](https://github.com/decolua/9router) + +--- + +## 👥 योगदानकर्ता + +[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) + +### योगदान कैसे करें + +1. रिपॉजिटरी को फोर्क करें +2. अपनी फीचर शाखा बनाएं (`git checkout -b feature/amazing-feature`) +3. अपने परिवर्तन प्रतिबद्ध करें (`git commit -m 'Add amazing feature'`) +4. शाखा में पुश करें (`git push origin feature/amazing-feature`) +5. एक पुल अनुरोध खोलें + +विस्तृत दिशानिर्देशों के लिए [CONTRIBUTING.md](CONTRIBUTING.md) देखें। + +### एक नया संस्करण जारी करना + +```bash +# Create a release — npm publish happens automatically +gh release create v1.0.6 --title "v1.0.6" --generate-notes +``` + +--- + +## 📊 सितारा इतिहास + + + __OMNI_टोकन_311__ + __OMNI_टोकन_312__ + __OMNI_टोकन_313__ + __OMNI_टोकन_239__ + __OMNI_टोकन_314__ + + +--- + +## 🙏 आभार + +**[decolua](https://github.com/decolua)** द्वारा **[decolua](https://github.com/decolua)** को विशेष धन्यवाद - मूल परियोजना जिसने इस फोर्क को प्रेरित किया। ओमनीरूट अतिरिक्त सुविधाओं, मल्टी-मोडल एपीआई और पूर्ण टाइपस्क्रिप्ट पुनर्लेखन के साथ उस अविश्वसनीय नींव पर आधारित है। + +**[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** को विशेष धन्यवाद - मूल गो कार्यान्वयन जिसने इस जावास्क्रिप्ट पोर्ट को प्रेरित किया। + +--- + +## 📄 लाइसेंस + +एमआईटी लाइसेंस - विवरण के लिए [LICENSE](LICENSE) देखें। + +--- + +--- + +## 🇧🇷 ओमनीरूट - गेटवे डी आईए ग्रैटुइटो + + + +### नूनका पारे डे कोडर। रोटेमेंटो इंटेलिजेंट पैरा **मॉडलोस डी आईए ग्रैटुइटोस और डे बैक्सो कस्टम** कॉम फ़ॉलबैक ऑटोमेटिको। + +_एसईयू प्रॉक्सी यूनिवर्सल डी एपीआई - उम एंडपॉइंट, 36+ प्रोडोर्स, शून्य डाउनटाइम।_ + +### 🌐 इंटरनेशनलिज़ाकाओ (i18n) + +ओम्नीरूट का डैशबोर्ड **मल्टीप्लोस इडियोमास** का समर्थन करता है। उन्हें वास्तविक वितरण: + +| मुहावरा | कोडिगो | स्थिति | +| ----------------------- | ------- | ----------- | +| 🇺🇸 अंग्रेजी | `en` | ✅ कंप्लीटो | +| 🇧🇷 पोर्टुगुएस (ब्राजील) | `pt-BR` | ✅ कंप्लीटो | + +**मुहावरे के बारे में जानकारी:** मुहावरे के चयन पर क्लिक करें (🇺🇸 EN) डैशबोर्ड पर कोई हेडर नहीं → वाक्यांश के चयन के बारे में क्लिक करें। + +**एक नया मुहावरा जोड़ने के लिए:** + +1. `src/i18n/messages/{codigo}.json` को `en.json` पर आधारित करें +2. `src/i18n/config.ts` → `LOCALES` और `LANGUAGES` कोड का उपयोग +3. सेवा प्रदाता की सेवा + +### ⚡ इनिसियो रैपिडो + +```bash +# Instalar via npm +npx omniroute@latest + +# Ou rodar do código-fonte +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +### 🐳 डॉकर + +```bash +docker run -d --name omniroute -p 20128:20128 diegosouzapw/omniroute:latest +``` + +### 🔑 फंक्सोनियलिडेड्स प्रिंसिपैस + +- **36+ आईए** - क्लाउड, जीपीटी, जेमिनी, लामा, क्वेन, डीपसीक, और अन्य +- **रोटीमेंटो इंटेलिजेंट** — फ़ॉलबैक ऑटोमेटिको एंटर प्रोवोर्स +- **प्रारूप अनुवाद** — OpenAI ↔ क्लाउड ↔ जेमिनी ऑटोमैटिक +- **मल्टी-कॉन्टा** - चयनित इंटेलिजेंट के लिए मल्टीप्लास कॉन्टास +- **कैश सिमेंटिको** - कस्टम और लेटेंसी रेडुज़ +- **OAuth automático** — टोकन स्वचालित रूप से नवीनीकृत होते हैं +- **व्यक्तिगत संयोजन** — 6 रोटेमेंटो एस्ट्रैटेजीस +- **डैशबोर्ड संपूर्ण** - मॉनिटर, लॉग, विश्लेषण, कॉन्फ़िगरेशन +- **सीएलआई उपकरण** - क्लाउड कोड, कोडेक्स, कर्सर, क्लाइन को एक क्लिक पर कॉन्फ़िगर करें +- **100% टाइपस्क्रिप्ट** — कोडिगो लिम्पो और टिपडो + +### 📖 दस्तावेज़ीकरण + +| डॉक्यूमेंटो | विवरण | +| ----------------------------------------------- | --------------------------------------------- | +| [Guia do Usuário](docs/USER_GUIDE.md) | प्रोवेडोर्स, कॉम्बो, सीएलआई, तैनाती | +| [Referência da API](docs/API_REFERENCE.md) | सभी ओएस एंडपॉइंट उदाहरण उदाहरण | +| [Solução de Problemas](docs/TROUBLESHOOTING.md) | समस्याएं और समाधान | +| [Arquitetura](docs/ARCHITECTURE.md) | आर्किटेक्चर और इंटर्नोस डो सिस्तेमा | +| [Contribuição](CONTRIBUTING.md) | सेटअप डे डेसेनवोल्विमेंटो ई दिशानिर्देश | +| [Deploy em VM](docs/VM_DEPLOYMENT_GUIDE.md) | संपूर्ण मार्गदर्शिका: VM + nginx + Cloudflare | + +### 📧 सपोर्ट + +> 💬 **एक अधिसूचना के लिए प्रवेश!** [Grupo WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — दो सप्ताह, पूर्ण विवरण और पूर्ण विवरण। + +- **वेबसाइट**: [omniroute.online](https://omniroute.online) +- **गिटहब**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) +- **मुद्दे**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) + +--- + +**OMNI_टोकन_318** +24/7 कोड करने वाले डेवलपर्स के लिए ❤️ के साथ निर्मित +**OMNI_टोकन_321** +omniroute.online +**OMNI_टोकन_326** diff --git a/README.it.md b/README.it.md index 2eb09dc4ef..fd1897b46f 100644 --- a/README.it.md +++ b/README.it.md @@ -104,7 +104,7 @@ _Connetti qualsiasi IDE o strumento CLI con IA tramite OmniRoute — gateway API [🌐 Sito Web](https://omniroute.online) • [🚀 Avvio Rapido](#-avvio-rapido) • [💡 Funzionalità](#-funzionalità-principali) • [📖 Docs](#-documentazione) • [💰 Prezzi](#-panoramica-prezzi) -🌐 **Disponibile in:** [English](README.md) | [Português](README.pt-BR.md) | [Español](README.es.md) | [Русский](README.ru.md) | [中文](README.zh-CN.md) | [Deutsch](README.de.md) | [Français](README.fr.md) | [Italiano](README.it.md) +🌐 **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)
diff --git a/README.ja.md b/README.ja.md new file mode 100644 index 0000000000..acdf300075 --- /dev/null +++ b/README.ja.md @@ -0,0 +1,1152 @@ +
+ OmniRoute Dashboard + + # 🚀 OmniRoute — 無料の AI ゲートウェイ + +### コーディングを決してやめないでください。自動フォールバックを備えた **無料および低コストの AI モデル**へのスマート ルーティング。 + +_ユニバーサル API プロキシ — 1 つのエンドポイント、36 以上のプロバイダー、ダウンタイムなし。_ + +**チャット補完 • 埋め込み • 画像生成 • オーディオ • 再ランキング • 100% TypeScript ** + +--- + +### 🤖 お気に入りのコーディング エージェント向けの無料 AI プロバイダー + +_AI を活用した IDE または CLI ツールを、無制限のコーディングのための無料 API ゲートウェイである OmniRoute 経由で接続します。_ + + + + + + + + + + + + + + + + +
+ + OpenClaw
+ OpenClaw +

+ ⭐ 205K +
+ + NanoBot
+ NanoBot +

+ ⭐ 20.9K +
+ + PicoClaw
+ PicoClaw +

+ ⭐ 14.6K +
+ + ZeroClaw
+ ZeroClaw +

+ ⭐ 9.9K +
+ + IronClaw
+ IronClaw +

+ ⭐ 2.1K +
+ + OpenCode
+ OpenCode +

+ ⭐ 106K +
+ + Codex CLI
+ Codex CLI +

+ ⭐ 60.8K +
+ + Claude Code
+ Claude Code +

+ ⭐ 67.3K +
+ + Gemini CLI
+ Gemini CLI +

+ ⭐ 94.7K +
+ + Kilo Code
+ Kilo Code +

+ ⭐ 15.5K +
+ +📡 すべてのエージェントは http://localhost:20128/v1 または http://cloud.omniroute.online/v1 経由で接続します — 1 つの構成、無制限のモデルとクォータ + +--- + +[![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) +[![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) +[![License](https://img.shields.io/github/license/diegosouzapw/OmniRoute)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE) +[![Website](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) +[![WhatsApp](https://img.shields.io/badge/WhatsApp-Community-25D366?logo=whatsapp&logoColor=white)](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) + +
+ +--- + +## 🤔 なぜオムニルートなのか? + +**お金の無駄遣いや限界に達するのはやめましょう:** + +- サブスクリプション割り当ては毎月未使用のまま期限切れになります +- レート制限によりコーディングの途中で停止する +- 高価な API (プロバイダーごとに月額 20 ~ 50 ドル) +- プロバイダー間の手動切り替え + +**OmniRoute はこれを解決します:** + +- ✅ **サブスクリプションを最大化** - クォータを追跡し、リセットする前にすべてのビットを使用します +- ✅ **自動フォールバック** - サブスクリプション → API キー → 安価 → 無料、ダウンタイムなし +- ✅ **マルチアカウント** - プロバイダーごとのアカウント間のラウンドロビン +- ✅ **ユニバーサル** - Claude Code、Codex、Gemini CLI、Cursor、Cline、OpenClaw、あらゆる CLI ツールで動作します + +--- + +## 🔄 仕組み + +``` +┌─────────────┐ +│ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) +│ Tool │ +└──────┬──────┘ + │ http://localhost:20128/v1 + ↓ +┌─────────────────────────────────────────┐ +│ OmniRoute (Smart Router) │ +│ • Format translation (OpenAI ↔ Claude) │ +│ • Quota tracking + Embeddings + Images │ +│ • Auto token refresh │ +└──────┬──────────────────────────────────┘ + │ + ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI + │ ↓ quota exhausted + ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc. + │ ↓ budget limit + ├─→ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M) + │ ↓ budget limit + └─→ [Tier 4: FREE] iFlow, Qwen, Kiro (unlimited) + +Result: Never stop coding, minimal cost +``` + +--- + +## ⚡ クイックスタート + +**1.グローバルにインストール:** + +```bash +npm install -g omniroute +omniroute +``` + +🎉 ダッシュボードは `http://localhost:20128` に開きます + +| コマンド | 説明 | +| ----------------------- | ----------------------------------------------- | +| `omniroute` | サーバーを起動します (デフォルトのポート 20128) | +| `omniroute --port 3000` | カスタムポートを使用する | +| `omniroute --no-open` | ブラウザを自動的に開かない | +| `omniroute --help` | ヘルプを表示 | + +**2.無料のプロバイダーに接続します:** + +ダッシュボード → プロバイダー → **Claude Code** または **Antigravity** に接続 → OAuth ログイン → 完了! + +**3. CLI ツールで使用します:** + +``` +Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings: + Endpoint: http://localhost:20128/v1 + API Key: [copy from dashboard] + Model: if/kimi-k2-thinking +``` + +**それだけです!** 無料の AI モデルを使用してコーディングを始めましょう。 + +**代替 — ソースから実行:** + +```bash +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +--- + +## 🐳 ドッカー + +OmniRoute は、[Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute) のパブリック Docker イメージとして利用できます。 + +**クイック実行:** + +```bash +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**環境ファイルあり:** + +```bash +# Copy and edit .env first +cp .env.example .env + +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + --env-file .env \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**Docker Compose の使用:** + +```bash +# Base profile (no CLI tools) +docker compose --profile base up -d + +# CLI profile (Claude Code, Codex, OpenClaw built-in) +docker compose --profile cli up -d +``` + +| 画像 | タグ | サイズ | 説明 | +| ------------------------ | -------- | ------- | -------------------- | +| `diegosouzapw/omniroute` | `latest` | ~250MB | 最新の安定版リリース | +| `diegosouzapw/omniroute` | `1.0.3` | ~250MB | 現在のバージョン | + +--- + +## 💰 価格の概要 + +| 階層 | プロバイダー | コスト | クォータのリセット | 最適な用途 | +| ------------------------- | -------------------------- | -------------------------- | ------------------- | ------------------ | +| **💳 サブスクリプション** | クロード・コード (プロ) | $20/月 | 5 時間 + 毎週 | すでに購読済み | +| | コーデックス (プラス/プロ) | $20-200/月 | 5 時間 + 毎週 | OpenAI ユーザー | +| | ジェミニ CLI | **無料** | 180K/月 + 1K/日 | みんな! | +| | GitHub コパイロット | $10-19/月 | 月刊 | GitHub ユーザー | +| **🔑 API キー** | NVIDIA NIM | **無料** (1000 クレジット) | ワンタイム | 無料枠のテスト | +| | ディープシーク | 従量課金制 | なし | 最高の価格/品質 | +| | グロク | 無料利用枠 + 有料 | レート制限 | 超高速推論 | +| | xAI (グロック) | 従量課金制 | なし | Grok モデル | +| | ミストラル | 無料利用枠 + 有料 | レート制限 | ヨーロッパのAI | +| | オープンルーター | 従量課金制 | なし | 100 以上のモデル | +| **💰安い** | GLM-4.7 | $0.6/100万 | 毎日午前 10 時 | 予算のバックアップ | +| | ミニマックス M2.1 | $0.2/100万 | 5時間ローリング | 最も安いオプション | +| | キミ K2 | 月額 9 ドルのフラット | 1,000 万トークン/月 | 予測可能なコスト | +| **🆓 無料** | iFlow | $0 | 無制限 | 8 モデルは無料 | +| | クウェン | $0 | 無制限 | 3 モデルは無料 | +| | キロ | $0 | 無制限 | クロード・フリー | + +**💡 プロのヒント:** Gemini CLI (180,000 無料/月) + iFlow (無制限の無料) コンボ = コスト 0 ドルから始めましょう! + +--- + +## 🎯 使用例 + +### ケース 1: 「Claude Pro サブスクリプションを持っています」 + +**問題:** 大量のコーディング中にクォータが使用されずに期限切れになり、レート制限が発生する + +``` +Combo: "maximize-claude" + 1. cc/claude-opus-4-6 (use subscription fully) + 2. glm/glm-4.7 (cheap backup when quota out) + 3. if/kimi-k2-thinking (free emergency fallback) + +Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total +vs. $20 + hitting limits = frustration +``` + +### ケース 2: 「コストをゼロにしたい」 + +**問題:** サブスクリプションを購入する余裕がないため、信頼性の高い AI コーディングが必要です + +``` +Combo: "free-forever" + 1. gc/gemini-3-flash (180K free/month) + 2. if/kimi-k2-thinking (unlimited free) + 3. qw/qwen3-coder-plus (unlimited free) + +Monthly cost: $0 +Quality: Production-ready models +``` + +### ケース 3: 「24 時間年中無休でコーディングが必要で、中断はありません」 + +**問題:** 締め切りが迫っており、ダウンタイムを許すことができません + +``` +Combo: "always-on" + 1. cc/claude-opus-4-6 (best quality) + 2. cx/gpt-5.2-codex (second subscription) + 3. glm/glm-4.7 (cheap, resets daily) + 4. minimax/MiniMax-M2.1 (cheapest, 5h reset) + 5. if/kimi-k2-thinking (free unlimited) + +Result: 5 layers of fallback = zero downtime +``` + +### ケース 4: 「OpenClaw に無料の AI が欲しい」 + +**問題:** メッセージング アプリには AI アシスタントが必要ですが、完全に無料です + +``` +Combo: "openclaw-free" + 1. if/glm-4.7 (unlimited free) + 2. if/minimax-m2.1 (unlimited free) + 3. if/kimi-k2-thinking (unlimited free) + +Monthly cost: $0 +Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal... +``` + +--- + +## 💡 主な機能 + +### 🧠 コアルーティングとインテリジェンス + +| 特集 | 何をするのか | +| ------------------------------------------- | ----------------------------------------------------------------------------------- | +| 🎯 **スマート 4 層フォールバック** | 自動ルート: サブスクリプション → API キー → 格安 → 無料 | +| 📊 **リアルタイムのクォータ追跡** | プロバイダーごとのライブ トークン数 + リセット カウントダウン | +| 🔄 **フォーマット変換** | OpenAI ↔ Claude ↔ Gemini ↔ Cursor ↔ Kiro シームレス + 応答サニタイズ | +| 👥 **マルチアカウントのサポート** | インテリジェントな選択によるプロバイダーごとの複数のアカウント | +| 🔄 **自動トークン更新** | OAuth トークンは再試行によって自動的に更新されます。 | +| 🎨 **カスタムコンボ** | 6 つの戦略: フィルファースト、ラウンドロビン、p2c、ランダム、最小使用、コスト最適化 | +| 🧩 **カスタムモデル** | 任意のモデル ID を任意のプロバイダーに追加する | +| 🌐 **ワイルドカードルーター** | `provider/*` パターンを任意のプロバイダーに動的にルーティングする | +| 🧠 **予算を考える** | 推論モデルのパススルー、自動、カスタム、および適応モード | +| 💬 **システム プロンプト インジェクション** | すべてのリクエストに適用されるグローバル システム プロンプト | +| 📄 **レスポンス API** | Codex の OpenAI Response API (`/v1/responses`) の完全なサポート | + +### 🎵 マルチモーダル API + +| 特集 | 何をするのか | +| ----------------------- | --------------------------------------------------------------- | +| 🖼️ **画像生成** | `/v1/images/generations` — 4 つのプロバイダー、9 つ以上のモデル | +| 📐 **埋め込み** | `/v1/embeddings` — 6 つのプロバイダー、9 つ以上のモデル | +| 🎤 **音声文字起こし** | `/v1/audio/transcriptions` — ウィスパー互換 | +| 🔊 **テキスト読み上げ** | `/v1/audio/speech` — マルチプロバイダーのオーディオ合成 | +| 🛡️ **モデレーション** | `/v1/moderations` — コンテンツの安全性チェック | +| 🔀 **再ランキング** | `/v1/rerank` — ドキュメントの関連性の再ランキング | + +### 🛡️ 復元力とセキュリティ + +| 特集 | 何をするのか | +| -------------------------------- | ---------------------------------------------------------------------------- | +| 🔌 **サーキットブレーカー** | 設定可能なしきい値によるプロバイダーごとの自動開閉 | +| 🛡️ **対雷鳴の群れ** | API キープロバイダーのミューテックス + セマフォのレート制限 | +| 🧠 **セマンティック キャッシュ** | 2 層キャッシュ (シグネチャ + セマンティック) によりコストと遅延が削減 | +| ⚡ **冪等性のリクエスト** | 重複リクエストに対する 5 秒の重複除去ウィンドウ | +| 🔒 **TLS 指紋スプーフィング** | wreq-js 経由で TLS ベースのボット検出をバイパスする | +| 🌐 **IP フィルタリング** | API アクセス制御の許可リスト/ブロックリスト | +| 📊 **編集可能なレート制限** | システム レベルで構成可能な RPM、最小ギャップ、最大同時実行 | +| 🛡 **API エンドポイント保護** | `/models` エンドポイントの認証ゲート + プロバイダー ブロック | +| 🔒 **プロキシの可視性** | 色分けされたバッジ: 🟢 グローバル、🟡 プロバイダー、🔵 IP 表示による接続ごと | +| 🌐 **3 レベルのプロキシ構成** | グローバル、プロバイダーごと、または接続ごとのレベルでプロキシを構成する | + +### 📊 可観測性と分析 + +| 特集 | 何をするのか | +| ------------------------------- | ------------------------------------------------------------------------------------------------------------ | +| 📝 **リクエストログ** | 完全なリクエスト/レスポンス ログを含むデバッグ モード | +| 💾 **SQLite プロキシ ログ** | 永続的なプロキシ ログはサーバーの再起動後も存続します。 | +| 📊 **分析ダッシュボード** | Recharts を活用: 統計カード、モデル使用状況チャート、プロバイダー テーブル | +| 📈 **進捗状況の追跡** | ストリーミング用の SSE 進行状況イベントをオプトインする | +| 🧪 **LLM 評価** | 4 つの試合戦略によるゴールデン セット テスト | +| 🔍 **テレメトリのリクエスト** | p50/p95/p99 レイテンシ集計 + X-Request-Id トレース | +| 📋 **ログ ダッシュボード** | 統合された 4 つのタブ ページ: リクエスト ログ、プロキシ ログ、監査ログ、コンソール | +| 🖥️ **コンソール ログ ビューア** | レベルフィルター、検索、自動スクロール機能を備えたリアルタイムターミナルスタイルのビューア | +| 📑 **ファイルベースのロギング** | コンソール インターセプターは、ローテーションを使用してすべての出力を JSON ログ ファイルにキャプチャします。 | +| 🏥 **健康ダッシュボード** | システム稼働時間、サーキット ブレーカーの状態、ロックアウト、キャッシュ統計 | +| 💰 **コスト追跡** | 予算管理 + モデルごとの価格設定 | + +### ☁️ 導入と同期 + +| 特集 | 何をするのか | +| ----------------------------------- | ----------------------------------------------------------------------------------- | +| 💾 **クラウド同期** | Cloudflare Workers 経由でデバイス間で構成を同期する | +| 🌐 **どこにでも展開** | Localhost、VPS、Docker、Cloudflare ワーカー | +| 🔑 **API キー管理** | プロバイダーごとに API キーを生成、ローテーション、スコープ設定する | +| 🧙 **オンボーディング ウィザード** | 初めてのユーザーのための 4 ステップのガイド付きセットアップ | +| 🔧 **CLI ツール ダッシュボード** | Claude、Codex、Cline、OpenClaw、Kilo、Antigravity をワンクリックで設定 | +| 🔄 **DB バックアップ** | すべての設定の自動バックアップ、復元、エクスポートとインポート | +| 🌐 **国際化** | next-intl を備えた完全な i18n — 英語 + ポルトガル語 (ブラジル) のサポート | +| 🌍 **言語セレクター** | リアルタイム言語切り替え用のヘッダーの地球儀アイコン (🇺🇸/🇧🇷) | +| 📂 **カスタム データ ディレクトリ** | デフォルトの `~/.omniroute` ストレージ パスをオーバーライドする `DATA_DIR` 環境変数 | + +
+📖 機能の詳細 + +### 🎯 スマート 4 層フォールバック + +自動フォールバックを使用してコンボを作成します。 + +``` +Combo: "my-coding-stack" + 1. cc/claude-opus-4-6 (your subscription) + 2. nvidia/llama-3.3-70b (free NVIDIA API) + 3. glm/glm-4.7 (cheap backup, $0.6/1M) + 4. if/kimi-k2-thinking (free fallback) + +→ Auto switches when quota runs out or errors occur +``` + +### 📊 リアルタイムのクォータ追跡 + +- プロバイダーごとのトークン消費量 +- リセットカウントダウン(5時間、毎日、毎週) +- 有料レベルのコストの見積もり +- 毎月の支出レポート + +### 🔄 フォーマット変換 + +フォーマット間でのシームレスな翻訳: + +- **OpenAI** ↔ **クロード** ↔ **ジェミニ** ↔ **OpenAI の応答** +- CLI ツールが OpenAI 形式を送信 → OmniRoute が変換 → プロバイダーがネイティブ形式を受信 +- カスタム OpenAI エンドポイントをサポートするあらゆるツールと連携 +- **レスポンスのサニタイズ** — 厳密な OpenAI SDK 互換性のために非標準フィールドを削除します +- **ロールの正規化** — 非 OpenAI の場合は `developer` → `system`。 `system` → `user` (GLM/ERNIE モデルの場合) +- **思考タグの抽出** — `` ブロック → 思考モデル用の `reasoning_content` +- **構造化された出力** — `json_schema` → Gemini の `responseMimeType`/`responseSchema` + +### 👥 マルチアカウントのサポート + +- プロバイダーごとに複数のアカウントを追加 +- 自動ラウンドロビンまたは優先順位ベースのルーティング +- クォータに達した場合、次のアカウントにフォールバックします + +### 🔄 自動トークン更新 + +- OAuth トークンは有効期限が切れる前に自動的に更新されます +- 手動による再認証は必要ありません +- すべてのプロバイダーにわたるシームレスなエクスペリエンス + +### 🎨 カスタムコンボ + +- 無制限のモデルの組み合わせを作成 +- 6 つの戦略: フィルファースト、ラウンドロビン、2 つの選択肢の累乗、ランダム、最小使用、コスト最適化 +- Cloud Sync を使用してデバイス間でコンボを共有 + +### 🏥 健康ダッシュボード + +- システムステータス (稼働時間、バージョン、メモリ使用量) +- プロバイダーごとのサーキットブレーカーの状態 (クローズ/オープン/ハーフオープン) +- レート制限ステータスとアクティブなロックアウト +- 署名キャッシュ統計 +- レイテンシ テレメトリ (p50/p95/p99) + プロンプト キャッシュ +- ワンクリックで健康状態をリセット + +### 🔧 翻訳者の遊び場 + +OmniRoute には、API 翻訳のデバッグ、テスト、監視のための **4 つのモード**を備えた強力な組み込みのトランスレータ プレイグラウンドが含まれています。 + +| モード | 説明 | +| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **💻遊び場** | 直接形式変換 — API リクエスト本文を貼り付けると、OmniRoute がプロバイダー形式 (OpenAI ↔ Claude ↔ Gemini ↔ Responses API) 間でそれをどのように変換するかを即座に確認できます。テンプレートの例と形式の自動検出が含まれています。 | +| **💬 チャット テスター** | 実際のチャット リクエストを OmniRoute 経由で送信すると、入力、翻訳されたリクエスト、プロバイダーの応答、そして返される翻訳された応答という完全なラウンドトリップを確認できます。コンボ ルーティングを検証するのに非常に役立ちます。 | +| **🧪 テストベンチ** | バッチ テスト モード - 異なる入力と予想される出力を持つ複数のテスト ケースを定義し、それらをすべて一度に実行し、プロバイダーやモデル間で結果を比較します。 | +| **📱 ライブモニター** | リアルタイムのリクエスト監視 — 受信リクエストが OmniRoute を通過するのを監視し、ライブで行われているフォーマット変換を確認し、問題を即座に特定します。 | + +**アクセス:** ダッシュボード → トランスレーター (サイドバー) + +### 💾 クラウド同期 + +- デバイス間でプロバイダー、コンボ、設定を同期します +- 自動バックグラウンド同期 +- 安全な暗号化ストレージ + +
+ +--- + +## 📖 セットアップガイド + +
+💳 サブスクリプションプロバイダー + +### クロード コード (Pro/Max) + +```bash +Dashboard → Providers → Connect Claude Code +→ OAuth login → Auto token refresh +→ 5-hour + weekly quota tracking + +Models: + cc/claude-opus-4-6 + cc/claude-sonnet-4-5-20250929 + cc/claude-haiku-4-5-20251001 +``` + +**プロのヒント:** 複雑なタスクには Opus を使用し、速度を求める場合は Sonnet を使用します。 OmniRoute はモデルごとの割り当てを追跡します。 + +### OpenAI コーデックス (プラス/プロ) + +```bash +Dashboard → Providers → Connect Codex +→ OAuth login (port 1455) +→ 5-hour + weekly reset + +Models: + cx/gpt-5.2-codex + cx/gpt-5.1-codex-max +``` + +### Gemini CLI (月額 180,000 回無料!) + +```bash +Dashboard → Providers → Connect Gemini CLI +→ Google OAuth +→ 180K completions/month + 1K/day + +Models: + gc/gemini-3-flash-preview + gc/gemini-2.5-pro +``` + +**ベストバリュー:** 膨大な無料枠!有料レベルの前にこれを使用してください。 + +### GitHub コパイロット + +```bash +Dashboard → Providers → Connect GitHub +→ OAuth via GitHub +→ Monthly reset (1st of month) + +Models: + gh/gpt-5 + gh/claude-4.5-sonnet + gh/gemini-3-pro +``` + +
+ +
+🔑 API キープロバイダー + +### NVIDIA NIM (無料 1000 クレジット!) + +1. サインアップ: [build.nvidia.com](https://build.nvidia.com) +2. 無料の API キーを取得します (1000 推論クレジットが含まれます) +3. ダッシュボード → プロバイダーの追加 → NVIDIA NIM: + - API キー: `nvapi-your-key` + +**モデル:** `nvidia/llama-3.3-70b-instruct`、`nvidia/mistral-7b-instruct`、および 50 以上 + +**プロのヒント:** OpenAI 互換 API — OmniRoute のフォーマット変換とシームレスに連携します。 + +### ディープシーク + +1. サインアップ: [platform.deepseek.com](https://platform.deepseek.com) +2. APIキーを取得する +3. ダッシュボード → プロバイダーの追加 → DeepSeek + +**モデル:** `deepseek/deepseek-chat`、`deepseek/deepseek-coder` + +### Groq (無料利用枠あり!) + +1. サインアップ: [console.groq.com](https://console.groq.com) +2. API キーを取得します (無料利用枠を含む) +3. ダッシュボード → プロバイダーの追加 → Groq + +**モデル:** `groq/llama-3.3-70b`、`groq/mixtral-8x7b` + +**プロのヒント:** 超高速推論 — リアルタイム コーディングに最適です。 + +### OpenRouter (100 以上のモデル) + +1. サインアップ: [openrouter.ai](https://openrouter.ai) +2. APIキーを取得する +3. ダッシュボード → プロバイダーの追加 → OpenRouter + +**モデル:** 単一の API キーを通じて、すべての主要プロバイダーの 100 以上のモデルにアクセスします。 + +
+ +
+💰 格安プロバイダー (バックアップ) + +### GLM-4.7 (毎日リセット、0.6 ドル/100 万ドル) + +1. サインアップ: [Zhipu AI](https://open.bigmodel.cn/) 2.コーディングプランからAPIキーを取得 +2. ダッシュボード → API キーの追加: + - プロバイダー: `glm` + - API キー: `your-key` + +**使用方法:** `glm/glm-4.7` + +**プロのヒント:** コーディング プランでは、1/7 のコストで 3 倍の割り当てを提供します。毎日午前 10 時にリセットされます。 + +### MiniMax M2.1 (5 時間リセット、$0.20/1M) + +1. サインアップ: [MiniMax](https://www.minimax.io/) +2. APIキーを取得する +3. ダッシュボード → APIキーの追加 + +**使用方法:** `minimax/MiniMax-M2.1` + +**プロのヒント:** 長いコンテキスト (100 万トークン) の最も安価なオプション! + +### キミ K2 (月額一律 $9) + +1. 購読: [Moonshot AI](https://platform.moonshot.ai/) +2. APIキーを取得する +3. ダッシュボード → APIキーの追加 + +**使用方法:** `kimi/kimi-latest` + +**プロのヒント:** 1,000 万トークンの固定 $9/月 = 0.90 ドル/100 万の実効コスト! + +
+ +
+🆓 無料プロバイダー (緊急バックアップ) + +### iFlow (8 つの無料モデル) + +```bash +Dashboard → Connect iFlow +→ iFlow OAuth login +→ Unlimited usage + +Models: + if/kimi-k2-thinking + if/qwen3-coder-plus + if/glm-4.7 + if/minimax-m2 + if/deepseek-r1 +``` + +### Qwen (3 つの無料モデル) + +```bash +Dashboard → Connect Qwen +→ Device code authorization +→ Unlimited usage + +Models: + qw/qwen3-coder-plus + qw/qwen3-coder-flash +``` + +### キロ (クロード・フリー) + +```bash +Dashboard → Connect Kiro +→ AWS Builder ID or Google/GitHub +→ Unlimited usage + +Models: + kr/claude-sonnet-4.5 + kr/claude-haiku-4.5 +``` + +
+ +
+🎨 コンボを作成 + +### 例 1: サブスクリプションを最大化 → 安価なバックアップ + +``` +Dashboard → Combos → Create New + +Name: premium-coding +Models: + 1. cc/claude-opus-4-6 (Subscription primary) + 2. glm/glm-4.7 (Cheap backup, $0.6/1M) + 3. minimax/MiniMax-M2.1 (Cheapest fallback, $0.20/1M) + +Use in CLI: premium-coding +``` + +### 例 2: 無料のみ (コストゼロ) + +``` +Name: free-combo +Models: + 1. gc/gemini-3-flash-preview (180K free/month) + 2. if/kimi-k2-thinking (unlimited) + 3. qw/qwen3-coder-plus (unlimited) + +Cost: $0 forever! +``` + +
+ +
+🔧 CLI 統合 + +### カーソル IDE + +``` +Settings → Models → Advanced: + OpenAI API Base URL: http://localhost:20128/v1 + OpenAI API Key: [from OmniRoute dashboard] + Model: cc/claude-opus-4-6 +``` + +### クロードコード + +ダッシュボードの **CLI ツール** ページを使用してワンクリック構成するか、`~/.claude/settings.json` を手動で編集します。 + +### コーデックス CLI + +```bash +export OPENAI_BASE_URL="http://localhost:20128" +export OPENAI_API_KEY="your-omniroute-api-key" + +codex "your prompt" +``` + +### オープンクロー + +**オプション 1 — ダッシュボード (推奨):** + +``` +Dashboard → CLI Tools → OpenClaw → Select Model → Apply +``` + +**オプション 2 — 手動:** `~/.openclaw/openclaw.json` を編集: + +```json +{ + "models": { + "providers": { + "omniroute": { + "baseUrl": "http://127.0.0.1:20128/v1", + "apiKey": "sk_omniroute", + "api": "openai-completions" + } + } + } +} +``` + +> **注:** OpenClaw はローカル OmniRoute でのみ機能します。 IPv6 解決の問題を回避するには、`localhost` ではなく `127.0.0.1` を使用してください。 + +### クライン / 継続 / RooCode + +``` +Settings → API Configuration: + Provider: OpenAI Compatible + Base URL: http://localhost:20128/v1 + API Key: [from OmniRoute dashboard] + Model: if/kimi-k2-thinking +``` + +
+ +--- + +## 📊 利用可能なモデル + +
+利用可能なモデルをすべて表示 + +**クロード コード (`cc/`)** - Pro/Max: + +- `cc/claude-opus-4-6` +- `cc/claude-sonnet-4-5-20250929` +- `cc/claude-haiku-4-5-20251001` + +**コーデックス (`cx/`)** - プラス/プロ: + +- `cx/gpt-5.2-codex` +- `cx/gpt-5.1-codex-max` + +**Gemini CLI (`gc/`)** - 無料: + +- `gc/gemini-3-flash-preview` +- `gc/gemini-2.5-pro` + +**GitHub コパイロット (`gh/`)**: + +- `gh/gpt-5` +- `gh/claude-4.5-sonnet` + +**NVIDIA NIM (`nvidia/`)** - 無料クレジット: + +- `nvidia/llama-3.3-70b-instruct` +- `nvidia/mistral-7b-instruct` +- [build.nvidia.com](https://build.nvidia.com) には 50 以上のモデル + +**GLM (`glm/`)** - 0.6 ドル/100 万: + +- `glm/glm-4.7` + +**MiniMax (`minimax/`)** - $0.2/100 万: + +- `minimax/MiniMax-M2.1` + +**iFlow (`if/`)** - 無料: + +- `if/kimi-k2-thinking` +- `if/qwen3-coder-plus` +- `if/deepseek-r1` +- `if/glm-4.7` +- `if/minimax-m2` + +**クウェン (`qw/`)** - 無料: + +- `qw/qwen3-coder-plus` +- `qw/qwen3-coder-flash` + +**キロ (`kr/`)** - 無料: + +- `kr/claude-sonnet-4.5` +- `kr/claude-haiku-4.5` + +**OpenRouter (`or/`)** - 100 以上のモデル: + +- `or/anthropic/claude-4-sonnet` +- `or/google/gemini-2.5-pro` +- [openrouter.ai/models](https://openrouter.ai/models) の任意のモデル + +
+ +--- + +## 🧪 評価 (Evals) + +OmniRoute には、ゴールデン セットに対して LLM 応答品質をテストするための評価フレームワークが組み込まれています。ダッシュボードの **Analytics → Evals** からアクセスします。 + +### 内蔵ゴールデンセット + +プリロードされた「OmniRoute Golden Set」には、以下をカバーする 10 のテスト ケースが含まれています。 + +- 挨拶、数学、地理、コード生成 +- JSON形式への準拠、翻訳、マークダウン +- 安全拒否(有害なコンテンツ)、カウント、ブール論理 + +### 評価戦略 + +| 戦略 | 説明 | 例 | +| ---------- | ------------------------------------------------------------------------------------------- | ----------- | +| `exact` | 出力は正確に一致する必要があります | `"4"` | +| `contains` | 出力には部分文字列が含まれている必要があります (大文字と小文字は区別されません)。 `"Paris"` | +| `regex` | 出力は正規表現パターンと一致する必要があります | `"1.*2.*3"` | +| `custom` | カスタム JS 関数は true/false を返します。 `(output) => output.length > 10` | + +--- + +## 🔐 サーバーリモートの OAuth (リモート OAuth セットアップ) + + + +> **⚠️ VPS/Docker/サーバーリモートの OmniRoute に関する重要事項** + +### Antigravity / Gemini CLI で OAuth を実行すると、リモートのサービスが提供されますか? + +**反重力** と **Gemini CLI** を使用して **Google OAuth 2.0** を認証します。 O Google exige que a `redirect_uri` usada no fluxo OAuth seja **exatamente** uma das URIs pré-cadastradas Google Cloud Console でアプリケーションを実行できません。 + +認証情報として OAuth は、`localhost`\*\* の OmniRoute データベース管理機能を備えていません。 OmniRoute サーバー リモートへのアクセス (例: `https://omniroute.meuservidor.com`)、Google による認証: + +``` +Error 400: redirect_uri_mismatch +``` + +### 解決策: OAuth の固有資格情報を構成する + +**OAuth 2.0 クライアント ID** では、Google Cloud Console の URI がサーバーを参照するための正確な基準が設定されています。 + +#### パッソ ア パッソ + +**1. Google Cloud コンソールへのアクセス** + +アブラ: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials) + +**2.新しい OAuth 2.0 クライアント ID** + +- Clique em **「+ 認証情報の作成」** → **「OAuth クライアント ID」** +- 応用情報: **「Web アプリケーション」** +- 名前: escolha qualquer 名前 (例: `OmniRoute Remote`) + +**3.承認されたリダイレクト URI としての Adicione** + +**「承認されたリダイレクト URI」** はありません、アディシオン: + +``` +https://seu-servidor.com/callback +``` + +> `seu-servidor.com` を IP サーバーとして置き換えてください (必要なポータルを含む、例: `http://45.33.32.156:20128/callback`)。 + +**4.コピーを認証情報として保存** + +Google のほとんどの情報、**クライアント ID**、または **クライアント シークレット** を使用してください。 + +**5.環境変数として設定** + +`.env` は使用できません (Docker の環境変数を変更します): + +```bash +# Para Antigravity: +ANTIGRAVITY_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret + +# Para Gemini CLI: +GEMINI_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +``` + +**6.レイニシー・オ・オムニルート** + +```bash +# Se usando npm: +npm run dev + +# Se usando Docker: +docker restart omniroute +``` + +**7.テンテ コネクター ノヴァメンテ** + +ダッシュボード → プロバイダー → Antigravity (Gemini CLI) → OAuth + +`https://seu-servidor.com/callback` の認証機能を Google でリダイレクトして修正します。 + +--- + +### 一時的な回避策 (資格情報を適切に設定する) + +**URL のマニュアル**: + +1. OmniRoute は Google の自動 URL を提供します +2. `localhost` による Google の自動リダイレクト (サーバー リモートの要求) +3. **URL をコピーしてください** ブラウザを使用してブラウザを開きます (カレーグのページを表示します) +4. コール エッサ URL は、OmniRoute の接続モーダルなしです。 +5. クリーク**「接続」** + +> 自動回避策の機能は URL から独立してリダイレクトされます。 + +--- + +## 🐛 トラブルシューティング + +
+クリックしてトラブルシューティング ガイドを展開 + +**「言語モデルがメッセージを提供しませんでした」** + +- プロバイダー クォータが枯渇した → ダッシュボード クォータ トラッカーを確認してください +- 解決策: コンボフォールバックを使用するか、より安価なレベルに切り替える + +**レート制限** + +- サブスクリプション クォータ アウト → GLM/MiniMax へのフォールバック +- コンボを追加: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking` + +**OAuth トークンの有効期限が切れました** + +- OmniRouteによる自動更新 +- 問題が解決しない場合: ダッシュボード → プロバイダー → 再接続 + +**高コスト** + +- [ダッシュボード] → [コスト] で使用状況の統計を確認します。 +- プライマリ モデルを GLM/MiniMax に切り替えます +- 重要ではないタスクには無料枠 (Gemini CLI、iFlow) を使用する + +**ダッシュボードが間違ったポートで開きます** + +- `PORT=20128` および `NEXT_PUBLIC_BASE_URL=http://localhost:20128` を設定します + +**クラウド同期エラー** + +- `BASE_URL` が実行中のインスタンスを指していることを確認します +- `CLOUD_URL` が予想されるクラウド エンドポイントを指していることを確認します +- `NEXT_PUBLIC_*` 値をサーバー側の値と一致させます。 + +**最初のログインが機能しない** + +- `.env` の `INITIAL_PASSWORD` を確認してください +- 設定されていない場合、フォールバック パスワードは `123456` です + +**リクエストログなし** + +- `.env` に `ENABLE_REQUEST_LOGS=true` を設定します + +**OpenAI 互換プロバイダーの接続テストで「無効」と表示される** + +- 多くのプロバイダーは `/models` エンドポイントを公開していません +- OmniRoute v1.0.6+ には、チャット完了によるフォールバック検証が含まれています +- ベース URL に `/v1` サフィックスが含まれていることを確認してください + +
+ +--- + +## 🛠️ 技術スタック + +- **ランタイム**: Node.js 18–22 LTS (⚠️ Node.js 24+ は **サポートされていません** — `better-sqlite3` ネイティブ バイナリは互換性がありません) +- **言語**: TypeScript 5.9 — `src/` および `open-sse/` で **100% TypeScript** (v1.0.6) +- **フレームワーク**: Next.js 16 + React 19 + Tailwind CSS 4 +- **データベース**: LowDB (JSON) + SQLite (ドメイン状態 + プロキシ ログ) +- **ストリーミング**: サーバー送信イベント (SSE) +- **認証**: OAuth 2.0 (PKCE) + JWT + API キー +- **テスト**: Node.js テスト ランナー (368 以上の単体テスト) +- **CI/CD**: GitHub アクション (自動 npm パブリッシュ + リリース時の Docker Hub) +- **ウェブサイト**: [omniroute.online](https://omniroute.online) +- **パッケージ**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute) +- **Docker**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute) +- **復元力**: サーキット ブレーカー、エクスポネンシャル バックオフ、サンダーリング ハード対策、TLS スプーフィング + +--- + +## 📖 ドキュメント + +| ドキュメント | 説明 | +| -------------------------------------------- | -------------------------------------------------------- | +| [User Guide](docs/USER_GUIDE.md) | プロバイダー、コンボ、CLI 統合、展開 | +| [API Reference](docs/API_REFERENCE.md) | すべてのエンドポイントと例 | +| [Troubleshooting](docs/TROUBLESHOOTING.md) | よくある問題と解決策 | +| [Architecture](docs/ARCHITECTURE.md) | システム アーキテクチャと内部構造 | +| [Contributing](CONTRIBUTING.md) | 開発セットアップとガイドライン | +| [OpenAPI Spec](docs/openapi.yaml) | OpenAPI 3.0 仕様 | +| [Security Policy](SECURITY.md) | 脆弱性の報告とセキュリティの実践 | +| [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | 完全ガイド: VM + nginx + Cloudflare セットアップ | +| [Features Gallery](docs/FEATURES.md) | スクリーンショットを含むビジュアル ダッシュボード ツアー | + +### 📸 ダッシュボードのプレビュー + +
+クリックしてダッシュボードのスクリーンショットを表示 + +| ページ | スクリーンショット | +| ------------------ | ------------------------------------------------- | +| **プロバイダー** | ![Providers](docs/screenshots/01-providers.png) | +| **コンボ** | ![Combos](docs/screenshots/02-combos.png) | +| **分析** | ![Analytics](docs/screenshots/03-analytics.png) | +| **健康** | ![Health](docs/screenshots/04-health.png) | +| **翻訳者** | ![Translator](docs/screenshots/05-translator.png) | +| **設定** | ![Settings](docs/screenshots/06-settings.png) | +| **CLI ツール** | ![CLI Tools](docs/screenshots/07-cli-tools.png) | +| **使用ログ** | ![Usage](docs/screenshots/08-usage.png) | +| **エンドポイント** | ![Endpoint](docs/screenshots/09-endpoint.png) | + +
+ +--- + +## 🗺️ ロードマップ + +OmniRoute には、複数の開発フェーズにわたって **210 以上の機能が計画されています**。主要な領域は次のとおりです。 + +| カテゴリー | 計画されている機能 | ハイライト | +| ------------------------------------- | ------------------ | -------------------------------------------------------------------------------------------------------------- | +| 🧠 **ルーティングとインテリジェンス** | 25+ | 最低レイテンシのルーティング、タグベースのルーティング、クォータ プリフライト、P2C アカウントの選択 | +| 🔒 **セキュリティとコンプライアンス** | 20歳以上 | SSRF の強化、資格情報のクローキング、エンドポイントごとのレート制限、管理キーのスコーピング | +| 📊 **可観測性** | 15 歳以上 | OpenTelemetry 統合、リアルタイム クォータ監視、モデルごとのコスト追跡 | +| 🔄 **プロバイダーの統合** | 20歳以上 | 動的モデル レジストリ、プロバイダーのクールダウン、マルチアカウント Codex、Copilot クォータ解析 | +| ⚡ **パフォーマンス** | 15 歳以上 | デュアル キャッシュ レイヤー、プロンプト キャッシュ、応答キャッシュ、ストリーミング キープアライブ、バッチ API | +| 🌐 **生態系** | 10+ | WebSocket API、構成ホットリロード、分散構成ストア、商用モード | + +### 🔜近日公開予定 + +- 🔗 **OpenCode Integration** — OpenCode AI コーディング IDE のネイティブ プロバイダー サポート +- 🔗 **TRAE 統合** — TRAE AI 開発フレームワークの完全サポート +- 📦 **バッチ API** — 一括リクエストの非同期バッチ処理 +- 🎯 **タグベースのルーティング** — カスタムタグとメタデータに基づいてリクエストをルーティングします +- 💰 **最低コスト戦略** — 利用可能な最も安価なプロバイダーを自動的に選択します + +> 📝 [**OMNI_TOKEN_147**](docs/new-features/) で全機能の仕様が利用可能 (217 の詳細仕様) + +--- + +## 📧 サポート + +> 💬 **コミュニティに参加してください!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — ヘルプを取得し、ヒントを共有し、最新情報を入手してください。 + +- **ウェブサイト**: [omniroute.online](https://omniroute.online) +- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) +- **問題**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) +- **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) +- **オリジナル プロジェクト**: [9router by decolua](https://github.com/decolua/9router) + +--- + +## 👥 貢献者 + +[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) + +### 貢献方法 + +1. リポジトリをフォークする +2. 機能ブランチを作成します (`git checkout -b feature/amazing-feature`) +3. 変更をコミットします (`git commit -m 'Add amazing feature'`) +4. ブランチにプッシュします (`git push origin feature/amazing-feature`) +5. プルリクエストを開く + +詳細なガイドラインについては、[CONTRIBUTING.md](CONTRIBUTING.md) を参照してください。 + +### 新しいバージョンのリリース + +```bash +# Create a release — npm publish happens automatically +gh release create v1.0.6 --title "v1.0.6" --generate-notes +``` + +--- + +## 📊 スターの歴史 + + + + + + Star History Chart + + + +--- + +## 🙏 謝辞 + +このフォークのきっかけとなった元のプロジェクトである **[decolua](https://github.com/decolua)** による **[9router](https://github.com/decolua/9router)** に感謝します。 OmniRoute は、追加機能、マルチモーダル API、完全な TypeScript の書き換えを備えた素晴らしい基盤の上に構築されています。 + +この JavaScript 移植のきっかけとなったオリジナルの Go 実装である **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** に感謝します。 + +--- + +## 📄 ライセンス + +MIT ライセンス - 詳細については、[LICENSE](LICENSE) を参照してください。 + +--- + +--- diff --git a/README.ko.md b/README.ko.md new file mode 100644 index 0000000000..b0d31fa67c --- /dev/null +++ b/README.ko.md @@ -0,0 +1,1238 @@ +
+ OmniRoute Dashboard + + # 🚀 OmniRoute — 무료 AI 게이트웨이 + +🌐 **[English](#-omniroute--the-free-ai-gateway)** | **[Português (BR)](#-omniroute--gateway-de-ia-gratuito)** + +### 코딩을 멈추지 마세요. 자동 폴백을 통해 **무료 및 저가형 AI 모델**로 스마트 라우팅합니다. + +_범용 API 프록시 — 하나의 엔드포인트, 36개 이상의 공급자, 가동 중지 시간 없음._ + +**채팅 완료 • 임베딩 • 이미지 생성 • 오디오 • 순위 재지정 • 100% TypeScript** + +--- + +### 🤖 좋아하는 코딩 에이전트를 위한 무료 AI 제공업체 + +_무제한 코딩을 위한 무료 API 게이트웨이인 OmniRoute를 통해 AI 기반 IDE 또는 CLI 도구를 연결하세요._ + + + + + + + + + + + + + + + + +
+ + OpenClaw
+ OpenClaw +

+ ⭐ 205K +
+ + NanoBot
+ NanoBot +

+ ⭐ 20.9K +
+ + PicoClaw
+ PicoClaw +

+ ⭐ 14.6K +
+ + ZeroClaw
+ ZeroClaw +

+ ⭐ 9.9K +
+ + IronClaw
+ IronClaw +

+ ⭐ 2.1K +
+ + OpenCode
+ OpenCode +

+ ⭐ 106K +
+ + Codex CLI
+ Codex CLI +

+ ⭐ 60.8K +
+ + Claude Code
+ Claude Code +

+ ⭐ 67.3K +
+ + Gemini CLI
+ Gemini CLI +

+ ⭐ 94.7K +
+ + Kilo Code
+ Kilo Code +

+ ⭐ 15.5K +
+ +📡 모든 에이전트는 http://localhost:20128/v1 또는 http://cloud.omniroute.online/v1을 통해 연결됩니다. — 하나의 구성, 무제한 모델 및 할당량 + +--- + +[![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) +[![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) +[![License](https://img.shields.io/github/license/diegosouzapw/OmniRoute)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE) +[![Website](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) +[![WhatsApp](https://img.shields.io/badge/WhatsApp-Community-25D366?logo=whatsapp&logoColor=white)](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) + +
+ +--- + +## 🤔 왜 OmniRoute인가요? + +**돈을 낭비하지 말고 한도에 도달하지 마세요.** + +- 구독 할당량은 매달 사용하지 않은 채 만료됩니다. +- 속도 제한으로 인해 코딩이 중단됩니다. +- 고가의 API(공급자당 월 $20-50) +- 공급자 간 수동 전환 + +**OmniRoute는 이 문제를 해결합니다.** + +- ✅ **구독 극대화** - 할당량을 추적하고 재설정하기 전에 모든 비트를 사용하세요. +- ✅ **자동 대체** - 구독 → API 키 → 저렴한 → 무료, 다운타임 없음 +- ✅ **다중 계정** - 공급자별 계정 간 라운드 로빈 +- ✅ **유니버설** - Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, 모든 CLI 도구와 함께 작동 + +--- + +## 🔄 작동 방식 + +``` +┌─────────────┐ +│ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) +│ Tool │ +└──────┬──────┘ + │ http://localhost:20128/v1 + ↓ +┌─────────────────────────────────────────┐ +│ OmniRoute (Smart Router) │ +│ • Format translation (OpenAI ↔ Claude) │ +│ • Quota tracking + Embeddings + Images │ +│ • Auto token refresh │ +└──────┬──────────────────────────────────┘ + │ + ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI + │ ↓ quota exhausted + ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc. + │ ↓ budget limit + ├─→ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M) + │ ↓ budget limit + └─→ [Tier 4: FREE] iFlow, Qwen, Kiro (unlimited) + +Result: Never stop coding, minimal cost +``` + +--- + +## ⚡ 빠른 시작 + +**1. 전역적으로 설치:** + +```bash +npm install -g omniroute +omniroute +``` + +🎉 대시보드는 `http://localhost:20128`에서 열립니다. + +| 명령 | 설명 | +| ----------------------- | ----------------------------- | +| `omniroute` | 서버 시작(기본 포트 20128) | +| `omniroute --port 3000` | 사용자 정의 포트 사용 | +| `omniroute --no-open` | 브라우저를 자동으로 열지 않음 | +| `omniroute --help` | 도움말 표시 | + +**2. 무료 공급자 연결:** + +대시보드 → 공급자 → **Claude Code** 또는 **Antigravity** 연결 → OAuth 로그인 → 완료! + +**3. CLI 도구에서 사용:** + +``` +Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings: + Endpoint: http://localhost:20128/v1 + API Key: [copy from dashboard] + Model: if/kimi-k2-thinking +``` + +**그렇습니다!** 무료 AI 모델로 코딩을 시작해 보세요. + +**대안 — 소스에서 실행:** + +```bash +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +--- + +## 🐳 도커 + +OmniRoute는 [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute)에서 공개 Docker 이미지로 제공됩니다. + +**빠른 실행:** + +```bash +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**환경 파일 포함:** + +```bash +# Copy and edit .env first +cp .env.example .env + +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + --env-file .env \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**Docker Compose 사용:** + +```bash +# Base profile (no CLI tools) +docker compose --profile base up -d + +# CLI profile (Claude Code, Codex, OpenClaw built-in) +docker compose --profile cli up -d +``` + +| 이미지 | 태그 | 사이즈 | 설명 | +| ------------------------ | -------- | ------ | ---------------- | +| `diegosouzapw/omniroute` | `latest` | ~250MB | 최신 안정 릴리스 | +| `diegosouzapw/omniroute` | `1.0.3` | ~250MB | 현재 버전 | + +--- + +## 💰 가격 한눈에 보기 + +| 계층 | 공급자 | 비용 | 할당량 재설정 | 최고의 대상 | +| ------------- | ------------------- | --------------------- | --------------- | ----------------- | +| **💳 구독** | 클로드 코드 (Pro) | $20/월 | 5시간 + 매주 | 이미 구독 중 | +| | 코덱스(플러스/프로) | $20-200/월 | 5시간 + 매주 | OpenAI 사용자 | +| | 제미니 CLI | **무료** | 180K/월 + 1K/일 | 모든 사람! | +| | GitHub 부조종사 | $10-19/월 | 월간 | GitHub 사용자 | +| **🔑 API 키** | 엔비디아 NIM | **무료** (1000크레딧) | 일회성 | 무료 등급 테스트 | +| | 딥시크 | 종량제 | 없음 | 최고의 가격/품질 | +| | 그로크 | 무료 등급 + 유료 | 요금 제한 | 초고속 추론 | +| | xAI(그록) | 종량제 | 없음 | 그록 모델 | +| | 미스트랄 | 무료 등급 + 유료 | 요금 제한 | 유럽의 AI | +| | 오픈라우터 | 종량제 | 없음 | 100개 이상의 모델 | +| **💰 저렴한** | GLM-4.7 | $0.6/1M | 매일 오전 10시 | 예산 백업 | +| | 미니맥스 M2.1 | $0.2/1M | 5시간 롤링 | 가장 저렴한 옵션 | +| | 키미 K2 | $9/월 정액 | 1000만 토큰/월 | 예측 가능한 비용 | +| **🆓 무료** | 아이플로우 | $0 | 무제한 | 8개 모델 무료 | +| | 퀀 | $0 | 무제한 | 3개 모델 무료 | +| | 키로 | $0 | 무제한 | 클로드 프리 | + +**💡 전문가 팁:** Gemini CLI(월 180K 무료) + iFlow(무제한 무료) 콤보 = 비용 $0로 시작하세요! + +--- + +## 🎯 사용 사례 + +### 사례 1: "Claude Pro를 구독하고 있습니다." + +**문제:** 할당량은 사용되지 않은 상태로 만료되며, 코딩 작업이 많은 동안 속도 제한이 발생합니다. + +``` +Combo: "maximize-claude" + 1. cc/claude-opus-4-6 (use subscription fully) + 2. glm/glm-4.7 (cheap backup when quota out) + 3. if/kimi-k2-thinking (free emergency fallback) + +Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total +vs. $20 + hitting limits = frustration +``` + +### 사례 2: "비용이 0이길 원합니다" + +**문제:** 구독료를 감당할 수 없고 안정적인 AI 코딩이 필요함 + +``` +Combo: "free-forever" + 1. gc/gemini-3-flash (180K free/month) + 2. if/kimi-k2-thinking (unlimited free) + 3. qw/qwen3-coder-plus (unlimited free) + +Monthly cost: $0 +Quality: Production-ready models +``` + +### 사례 3: "중단 없이 연중무휴 코딩이 필요합니다." + +**문제:** 마감일, 가동 중지 시간을 감당할 수 없음 + +``` +Combo: "always-on" + 1. cc/claude-opus-4-6 (best quality) + 2. cx/gpt-5.2-codex (second subscription) + 3. glm/glm-4.7 (cheap, resets daily) + 4. minimax/MiniMax-M2.1 (cheapest, 5h reset) + 5. if/kimi-k2-thinking (free unlimited) + +Result: 5 layers of fallback = zero downtime +``` + +### 사례 4: "OpenClaw에서 무료 AI를 원합니다" + +**문제:** 메시징 앱에 AI 도우미가 필요하며 완전 무료입니다. + +``` +Combo: "openclaw-free" + 1. if/glm-4.7 (unlimited free) + 2. if/minimax-m2.1 (unlimited free) + 3. if/kimi-k2-thinking (unlimited free) + +Monthly cost: $0 +Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal... +``` + +--- + +## 💡 주요 기능 + +### 🧠 코어 라우팅 및 인텔리전스 + +| 기능 | 그것이 하는 일 | +| --------------------------- | ------------------------------------------------------------------------- | +| 🎯 **스마트 4계층 폴백** | 자동 경로: 구독 → API 키 → 저렴한 → 무료 | +| 📊 **실시간 할당량 추적** | 라이브 토큰 수 + 공급자별 카운트다운 재설정 | +| 🔄 **형식 번역** | OpenAI ⇔ Claude ⇔ Gemini ⇔ Cursor ⇔ Kiro 심리스 + 반응위생 | +| 👥 **다중 계정 지원** | 지능적인 선택을 통해 공급자당 여러 계정 | +| 🔄 **자동 토큰 새로고침** | 재시도 시 OAuth 토큰이 자동으로 새로 고쳐집니다. | +| 🎨 **맞춤형 콤보** | 6가지 전략: 채우기 우선, 라운드 로빈, p2c, 무작위, 최소 사용, 비용 최적화 | +| 🧩 **맞춤형 모델** | 모든 공급자에 모델 ID 추가 | +| 🌐 **와일드카드 라우터** | `provider/*` 패턴을 모든 공급자에게 동적으로 라우팅 | +| 🧠 **예산 고려** | 추론 모델을 위한 패스스루, 자동, 사용자 정의 및 적응형 모드 | +| 💬 **시스템 프롬프트 삽입** | 모든 요청에 ​​전역 시스템 프롬프트 적용 | +| 📄 **응답 API** | Codex에 대한 전체 OpenAI 응답 API(`/v1/responses`) 지원 | + +### 🎵 다중 모드 API + +| 기능 | 그것이 하는 일 | +| ----------------------- | ------------------------------------------------------ | +| 🖼️ **이미지 생성** | `/v1/images/generations` — 4개 공급자, 9개 이상의 모델 | +| 📐 **임베딩** | `/v1/embeddings` — 6개 공급자, 9개 이상의 모델 | +| 🎤 **오디오 전사** | `/v1/audio/transcriptions` — 속삭임 호환 | +| 🔊 **텍스트 음성 변환** | `/v1/audio/speech` — 다중 제공자 오디오 합성 | +| 🛡️ **조정** | `/v1/moderations` — 콘텐츠 안전 확인 | +| 🔀 **재순위** | `/v1/rerank` — 문서 관련성 재순위 | + +### 🛡️ 복원력 및 보안 + +| 기능 | 그것이 하는 일 | +| ---------------------------- | -------------------------------------------------------------------------- | +| 🔌 **회로 차단기** | 구성 가능한 임계값을 사용하여 공급자별 자동 열기/닫기 | +| 🛡️ **천둥 방지 무리** | API 키 공급자에 대한 뮤텍스 + 세마포 속도 제한 | +| 🧠 **의미론적 캐시** | 2계층 캐시(서명 + 의미 체계)로 비용 및 대기 시간 감소 | +| ⚡ **멱등성 요청** | 중복 요청에 대한 5초 중복 제거 기간 | +| 🔒 **TLS 지문 스푸핑** | wreq-js를 통해 TLS 기반 봇 감지 우회 | +| 🌐 **IP 필터링** | API 액세스 제어를 위한 허용 목록/차단 목록 | +| 📊 **편집 가능한 속도 제한** | 시스템 수준에서 구성 가능한 RPM, 최소 간격 및 최대 동시 | +| 🛡 **API 엔드포인트 보호** | `/models` 엔드포인트에 대한 인증 게이팅 + 공급자 차단 | +| 🔒 **프록시 가시성** | 색상으로 구분된 배지: 🟢 글로벌, 🟡 공급자, 🔵 IP 디스플레이를 통한 연결별 | +| 🌐 **3단계 프록시 구성** | 글로벌, 공급자별 또는 연결별 수준에서 프록시 구성 | + +### 📊 관찰 가능성 및 분석 + +| 기능 | 그것이 하는 일 | +| ------------------------- | -------------------------------------------------------------------- | +| 📝 **로깅 요청** | 전체 요청/응답 로그가 포함된 디버그 모드 | +| 💾 **SQLite 프록시 로그** | 영구 프록시 로그는 서버를 다시 시작해도 유지됩니다. | +| 📊 **분석 대시보드** | Recharts 기반: 통계 카드, 모델 사용 차트, 공급자 테이블 | +| 📈 **진행 상황 추적** | 스트리밍을 위한 옵트인 SSE 진행 이벤트 | +| 🧪 **LLM 평가** | 4가지 매치 전략을 사용한 골든 세트 테스트 | +| 🔍 **원격 측정 요청** | p50/p95/p99 대기 시간 집계 + X-요청-ID 추적 | +| 📋 **로그 대시보드** | 통합된 4개 탭 페이지: 요청 로그, 프록시 로그, 감사 로그, 콘솔 | +| 🖥️ **콘솔 로그 뷰어** | 레벨 필터, 검색, 자동 스크롤 기능을 갖춘 실시간 터미널 스타일 뷰어 | +| 📑 **파일 기반 로깅** | 콘솔 인터셉터는 회전을 통해 모든 출력을 JSON 로그 파일로 캡처합니다. | +| 🏥 **건강 대시보드** | 시스템 가동 시간, 회로 차단기 상태, 잠금, 캐시 통계 | +| 💰 **비용 추적** | 예산 관리 + 모델별 가격 구성 | + +### ☁️ 배포 및 동기화 + +| 기능 | 그것이 하는 일 | +| ---------------------------------- | ----------------------------------------------------------------- | +| 💾 **클라우드 동기화** | Cloudflare Workers를 통해 장치 간 구성 동기화 | +| 🌐 **어디서나 배포** | 로컬호스트, VPS, Docker, Cloudflare 작업자 | +| 🔑 **API 키 관리** | 공급자별 API 키 생성, 회전 및 범위 지정 | +| 🧙 **온보딩 마법사** | 처음 사용자를 위한 4단계 안내 설정 | +| 🔧 **CLI 도구 대시보드** | 원클릭 구성 Claude, Codex, Cline, OpenClaw, Kilo, Antigravity | +| 🔄 **DB 백업** | 모든 설정에 대한 자동 백업, 복원, 내보내기 및 가져오기 | +| 🌐 **국제화** | next-intl이 포함된 전체 i18n — 영어 + 포르투갈어(브라질) 지원 | +| 🌍 **언어 선택기** | 실시간 언어 전환을 위한 헤더의 지구본 아이콘(🇺🇸/🇧🇷) | +| 📂 **사용자 정의 데이터 디렉터리** | `DATA_DIR` env var는 기본 `~/.omniroute` 저장 경로를 재정의합니다 | + +
+📖 기능 세부정보 + +### 🎯 스마트 4계층 폴백 + +자동 대체 기능을 사용하여 콤보 만들기: + +``` +Combo: "my-coding-stack" + 1. cc/claude-opus-4-6 (your subscription) + 2. nvidia/llama-3.3-70b (free NVIDIA API) + 3. glm/glm-4.7 (cheap backup, $0.6/1M) + 4. if/kimi-k2-thinking (free fallback) + +→ Auto switches when quota runs out or errors occur +``` + +### 📊 실시간 할당량 추적 + +- 제공자별 토큰 소비 +- 카운트다운 재설정(5시간, 매일, 매주) +- 유료 계층에 대한 비용 추정 +- 월별 지출 보고서 + +### 🔄 형식 번역 + +형식 간 원활한 번역: + +- **OpenAI** ← **Claude** ← **Gemini** ← **OpenAI 응답** +- CLI 도구가 OpenAI 형식 전송 → OmniRoute 변환 → 공급자가 기본 형식 수신 +- 맞춤형 OpenAI 엔드포인트를 지원하는 모든 도구와 함께 작동 +- **응답 삭제** — 엄격한 OpenAI SDK 호환성을 위해 비표준 필드를 제거합니다. +- **역할 정규화** — OpenAI가 아닌 경우 `developer` → `system`; `system` → GLM/ERNIE 모델의 경우 `user` +- **사고 태그 추출** — 사고 모델의 경우 `` 블록 → `reasoning_content` +- **구조화된 출력** — `json_schema` → Gemini의 `responseMimeType`/`responseSchema` + +### 👥 다중 계정 지원 + +- 공급자당 여러 계정 추가 +- 자동 라운드 로빈 또는 우선순위 기반 라우팅 +- 한 계정이 할당량에 도달하면 다음 계정으로 대체 + +### 🔄 자동 토큰 새로고침 + +- OAuth 토큰은 만료되기 전에 자동으로 새로 고쳐집니다. +- 수동 재인증이 필요하지 않습니다. +- 모든 제공업체에 걸친 원활한 경험 + +### 🎨 맞춤 콤보 + +- 무제한 모델 조합 생성 +- 6가지 전략: 채우기 우선, 라운드 로빈, 두 가지 선택의 힘, 무작위, 최소 사용, 비용 최적화 +- Cloud Sync를 통해 여러 기기에서 콤보를 공유하세요 + +### 🏥 건강 대시보드 + +- 시스템 상태(가동 시간, 버전, 메모리 사용량) +- 공급자별 회로 차단기 상태(Closed/Open/Half-Open) +- 속도 제한 상태 및 활성 잠금 +- 서명 캐시 통계 +- 대기 시간 원격 측정(p50/p95/p99) + 프롬프트 캐시 +- 한 번의 클릭으로 건강 상태 재설정 + +### 🔧 번역기 놀이터 + +OmniRoute에는 API 번역 디버깅, 테스트 및 모니터링을 위한 **4가지 모드**를 갖춘 강력한 내장 번역기 플레이그라운드가 포함되어 있습니다. + +| 모드 | 설명 | +| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **💻 놀이터** | 직접 형식 변환 — API 요청 본문을 붙여넣고 OmniRoute가 공급자 형식(OpenAI ← Claude ← Gemini ← Responses API) 간에 이를 어떻게 변환하는지 즉시 확인하세요. 예제 템플릿과 형식 자동 감지가 포함되어 있습니다. | +| **💬 채팅 테스터** | OmniRoute를 통해 실제 채팅 요청을 보내고 전체 왕복(입력, 번역된 요청, 공급자 응답, 번역된 응답)을 확인하세요. 콤보 라우팅을 검증하는 데 매우 중요합니다. | +| **🧪 테스트 벤치** | 배치 테스트 모드 — 서로 다른 입력과 예상 출력으로 여러 테스트 케이스를 정의하고, 이를 모두 한 번에 실행하고, 공급자와 모델 간에 결과를 비교합니다. | +| **📱 라이브 모니터** | 실시간 요청 모니터링 — OmniRoute를 통해 들어오는 요청을 감시하고, 실시간으로 발생하는 형식 변환을 확인하고, 문제를 즉시 식별합니다. | + +**액세스:** 대시보드 → 번역기(사이드바) + +### 💾 클라우드 동기화 + +- 여러 장치에서 공급자, 콤보 및 설정을 동기화합니다. +- 자동 백그라운드 동기화 +- 안전한 암호화 저장 + +
+ +--- + +## 📖 설정 가이드 + +
+💳 구독 제공업체 + +### 클로드 코드(Pro/Max) + +```bash +Dashboard → Providers → Connect Claude Code +→ OAuth login → Auto token refresh +→ 5-hour + weekly quota tracking + +Models: + cc/claude-opus-4-6 + cc/claude-sonnet-4-5-20250929 + cc/claude-haiku-4-5-20251001 +``` + +**프로 팁:** 복잡한 작업에는 Opus를 사용하고, 속도를 높이려면 Sonnet을 사용하세요. OmniRoute는 모델당 할당량을 추적합니다! + +### OpenAI 코덱스(Plus/Pro) + +```bash +Dashboard → Providers → Connect Codex +→ OAuth login (port 1455) +→ 5-hour + weekly reset + +Models: + cx/gpt-5.2-codex + cx/gpt-5.1-codex-max +``` + +### Gemini CLI(월 180,000 무료!) + +```bash +Dashboard → Providers → Connect Gemini CLI +→ Google OAuth +→ 180K completions/month + 1K/day + +Models: + gc/gemini-3-flash-preview + gc/gemini-2.5-pro +``` + +**최고의 가치:** 엄청난 무료 등급! 유료 등급 이전에 사용하세요. + +### GitHub 코파일럿 + +```bash +Dashboard → Providers → Connect GitHub +→ OAuth via GitHub +→ Monthly reset (1st of month) + +Models: + gh/gpt-5 + gh/claude-4.5-sonnet + gh/gemini-3-pro +``` + +
+ +
+🔑 API 키 제공자 + +### NVIDIA NIM(무료 1000 크레딧!) + +1. 가입: [build.nvidia.com](https://build.nvidia.com) +2. 무료 API 키 받기(1000 추론 크레딧 포함) +3. 대시보드 → 공급자 추가 → NVIDIA NIM: + - API 키: `nvapi-your-key` + +**모델:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct` 외 50개 이상 + +**프로 팁:** OpenAI 호환 API — OmniRoute의 형식 변환과 원활하게 작동합니다! + +### 딥시크 + +1. 가입: [platform.deepseek.com](https://platform.deepseek.com) +2. API 키 받기 +3. 대시보드 → 공급자 추가 → DeepSeek + +**모델:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder` + +### Groq(무료 등급 사용 가능!) + +1. 가입: [console.groq.com](https://console.groq.com) +2. API 키 받기(무료 등급 포함) +3. 대시보드 → 공급자 추가 → Groq + +**모델:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b` + +**프로 팁:** 초고속 추론 — 실시간 코딩에 가장 적합합니다! + +### OpenRouter(100개 이상의 모델) + +1. 가입: [openrouter.ai](https://openrouter.ai) +2. API 키 받기 +3. 대시보드 → 공급자 추가 → OpenRouter + +**모델:** 단일 API 키를 통해 모든 주요 제공업체의 100개 이상의 모델에 액세스할 수 있습니다. + +
+ +
+💰 저렴한 공급자(백업) + +### GLM-4.7 (일일 재설정, $0.6/1M) + +1. 가입: [Zhipu AI](https://open.bigmodel.cn/) +2. Coding Plan에서 API Key 받기 +3. 대시보드 → API 키 추가: + - 제공자: `glm` + - API 키: `your-key` + +**사용:** `glm/glm-4.7` + +**프로 팁:** 코딩 계획은 1/7 비용으로 3배 할당량을 제공합니다! 매일 오전 10시에 초기화됩니다. + +### MiniMax M2.1(5시간 재설정, $0.20/1M) + +1. 가입: [MiniMax](https://www.minimax.io/) +2. API 키 받기 +3. 대시보드 → API Key 추가 + +**사용:** `minimax/MiniMax-M2.1` + +**프로 팁:** 긴 컨텍스트(100만 토큰)를 위한 가장 저렴한 옵션입니다! + +### Kimi K2($9/월 정액) + +1. 구독: [Moonshot AI](https://platform.moonshot.ai/) +2. API 키 받기 +3. 대시보드 → API Key 추가 + +**사용:** `kimi/kimi-latest` + +**프로 팁:** 1,000만 토큰에 대해 고정 $9/월 = $0.90/1M 유효 비용! + +
+ +
+🆓 무료 제공업체(긴급 백업) + +### iFlow(8개 무료 모델) + +```bash +Dashboard → Connect iFlow +→ iFlow OAuth login +→ Unlimited usage + +Models: + if/kimi-k2-thinking + if/qwen3-coder-plus + if/glm-4.7 + if/minimax-m2 + if/deepseek-r1 +``` + +### Qwen(3개 무료 모델) + +```bash +Dashboard → Connect Qwen +→ Device code authorization +→ Unlimited usage + +Models: + qw/qwen3-coder-plus + qw/qwen3-coder-flash +``` + +### 키로(클로드 프리) + +```bash +Dashboard → Connect Kiro +→ AWS Builder ID or Google/GitHub +→ Unlimited usage + +Models: + kr/claude-sonnet-4.5 + kr/claude-haiku-4.5 +``` + +
+ +
+🎨 콤보 만들기 + +### 예시 1: 구독 최대화 → 저렴한 백업 + +``` +Dashboard → Combos → Create New + +Name: premium-coding +Models: + 1. cc/claude-opus-4-6 (Subscription primary) + 2. glm/glm-4.7 (Cheap backup, $0.6/1M) + 3. minimax/MiniMax-M2.1 (Cheapest fallback, $0.20/1M) + +Use in CLI: premium-coding +``` + +### 예시 2: 무료 전용(비용 없음) + +``` +Name: free-combo +Models: + 1. gc/gemini-3-flash-preview (180K free/month) + 2. if/kimi-k2-thinking (unlimited) + 3. qw/qwen3-coder-plus (unlimited) + +Cost: $0 forever! +``` + +
+ +
+🔧 CLI 통합 + +### 커서 IDE + +``` +Settings → Models → Advanced: + OpenAI API Base URL: http://localhost:20128/v1 + OpenAI API Key: [from OmniRoute dashboard] + Model: cc/claude-opus-4-6 +``` + +### 클로드 코드 + +원클릭 구성을 위해 대시보드의 **CLI 도구** 페이지를 사용하거나 `~/.claude/settings.json`을 수동으로 편집하세요. + +### 코덱스 CLI + +```bash +export OPENAI_BASE_URL="http://localhost:20128" +export OPENAI_API_KEY="your-omniroute-api-key" + +codex "your prompt" +``` + +### 오픈클로 + +**옵션 1 - 대시보드(권장):** + +``` +Dashboard → CLI Tools → OpenClaw → Select Model → Apply +``` + +**옵션 2 — 수동:** `~/.openclaw/openclaw.json` 편집: + +```json +{ + "models": { + "providers": { + "omniroute": { + "baseUrl": "http://127.0.0.1:20128/v1", + "apiKey": "sk_omniroute", + "api": "openai-completions" + } + } + } +} +``` + +> **참고:** OpenClaw는 로컬 OmniRoute에서만 작동합니다. IPv6 확인 문제를 방지하려면 `localhost` 대신 `127.0.0.1`을 사용하세요. + +### 클라인 / 계속 / RooCode + +``` +Settings → API Configuration: + Provider: OpenAI Compatible + Base URL: http://localhost:20128/v1 + API Key: [from OmniRoute dashboard] + Model: if/kimi-k2-thinking +``` + +
+ +--- + +## 📊 사용 가능한 모델 + +
+사용 가능한 모든 모델 보기 + +**Claude 코드(`cc/`)** - Pro/Max: + +- `cc/claude-opus-4-6` +- `cc/claude-sonnet-4-5-20250929` +- `cc/claude-haiku-4-5-20251001` + +**코덱스(`cx/`)** - 플러스/프로: + +- `cx/gpt-5.2-codex` +- `cx/gpt-5.1-codex-max` + +**Gemini CLI(`gc/`)** - 무료: + +- `gc/gemini-3-flash-preview` +- `gc/gemini-2.5-pro` + +**GitHub 부조종사(`gh/`)**: + +- `gh/gpt-5` +- `gh/claude-4.5-sonnet` + +**NVIDIA NIM(`nvidia/`)** - 무료 크레딧: + +- `nvidia/llama-3.3-70b-instruct` +- `nvidia/mistral-7b-instruct` +- [build.nvidia.com](https://build.nvidia.com)의 50개 이상의 모델 + +**GLM(`glm/`)** - $0.6/1M: + +- `glm/glm-4.7` + +**MiniMax(`minimax/`)** - $0.2/1M: + +- `minimax/MiniMax-M2.1` + +**iFlow(`if/`)** - 무료: + +- `if/kimi-k2-thinking` +- `if/qwen3-coder-plus` +- `if/deepseek-r1` +- `if/glm-4.7` +- `if/minimax-m2` + +**Qwen(`qw/`)** - 무료: + +- `qw/qwen3-coder-plus` +- `qw/qwen3-coder-flash` + +**키로(`kr/`)** - 무료: + +- `kr/claude-sonnet-4.5` +- `kr/claude-haiku-4.5` + +**OpenRouter(`or/`)** - 100개 이상의 모델: + +- `or/anthropic/claude-4-sonnet` +- `or/google/gemini-2.5-pro` +- [openrouter.ai/models](https://openrouter.ai/models)의 모든 모델 + +
+ +--- + +## 🧪 평가(Evals) + +OmniRoute에는 골든 세트에 대해 LLM 응답 품질을 테스트하기 위한 내장 평가 프레임워크가 포함되어 있습니다. 대시보드의 **분석 → 평가**를 통해 액세스하세요. + +### 내장 골든 세트 + +사전 로드된 "OmniRoute Golden Set"에는 다음을 다루는 10개의 테스트 사례가 포함되어 있습니다. + +- 인사말, 수학, 지리, 코드 생성 +- JSON 형식 준수, 번역, 마크다운 +- 안전 거부(유해 콘텐츠), 카운팅, 부울 논리 + +### 평가 전략 + +| 전략 | 설명 | 예 | +| ---------- | -------------------------------------------------------------- | -------------------------------- | +| `exact` | 출력은 정확히 일치해야 합니다 | `"4"` | +| `contains` | 출력에는 하위 문자열(대소문자 구분 안 함)이 포함되어야 합니다. | `"Paris"` | +| `regex` | 출력은 정규식 패턴과 일치해야 합니다 | `"1.*2.*3"` | +| `custom` | 사용자 정의 JS 함수가 true/false를 반환합니다. | `(output) => output.length > 10` | + +--- + +## 🔐 OAuth em Servidor Remoto(원격 OAuth 설정) + + + +> **⚠️ VPS/Docker/remotor의 OmniRoute를 사용하는 경우 중요** + +### OAuth에서 Antigravity/Gemini CLI를 원격 서비스로 사용하려면 어떻게 해야 합니까? + +Os는 **반중력** 및 **Gemini CLI**를 인증하기 위해 **Google OAuth 2.0**을 입증했습니다. O Google exige que a `redirect_uri` usada no fluxo OAuth seja **exatamente** uma das URIs pre-cadastradas no Google Cloud Console do aplicativo. + +OAuth는 OmniRoute에 대한 신용 정보를 포함하지 않으므로 **`localhost`**에 대한 액세스 권한을 갖습니다. Quando você acessa o OmniRoute em um servidor remoto (예: `https://omniroute.meuservidor.com`), o Google rejeita autenticação com: + +``` +Error 400: redirect_uri_mismatch +``` + +### 해결책: 개인 정보 보호 OAuth 구성 + +Você precisa criar um **OAuth 2.0 Client ID** no Google Cloud Console com a URI do seu servidor. + +#### 파쏘 아 파소 + +**1. Google Cloud Console에 액세스** + +아브라: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials) + +**2. Crie um novo OAuth 2.0 클라이언트 ID** + +- em 클릭 **"+ 자격 증명 만들기"** → **"OAuth 클라이언트 ID"** +- 적용 분야: **"웹 애플리케이션"** +- 이름: escolha qualquer nome (예: `OmniRoute Remote`) + +**3. 승인된 리디렉션 URI로서의 Adicione** + +아니요 **"승인된 리디렉션 URI"**, 추가: + +``` +https://seu-servidor.com/callback +``` + +> `seu-servidor.com` pelo domínio 또는 IP do seu servidor로 대체합니다(필요한 포트 포함, 예: `http://45.33.32.156:20128/callback`). + +**4. 사본을 자격 증명으로 저장** + +Após criar, o Google morerá o **클라이언트 ID** e o **클라이언트 비밀번호**. + +**5. 다양한 주변 환경으로 구성** + +`.env`(Docker의 주변 환경에 따라 다름)이 없습니다. + +```bash +# Para Antigravity: +ANTIGRAVITY_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret + +# Para Gemini CLI: +GEMINI_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +``` + +**6. Reinicie 또는 OmniRoute** + +```bash +# Se usando npm: +npm run dev + +# Se usando Docker: +docker restart omniroute +``` + +**7. Tente conectar novamente** + +대시보드 → 공급자 → Antigravity(또는 Gemini CLI) → OAuth + +Agora는 `https://seu-servidor.com/callback` 및 자동 기능에 대한 Google 리디렉션을 수정합니다. + +--- + +### 임시 해결 방법(sem configurar credenciais próprias) + +Se não quiser criar credenciais próprias agora, ainda é possível usar o fluxo **manual de URL**: + +1. OmniRoute는 Google 자동 생성 URL을 확인합니다. +2. Após você autorizar, o Google tentará redirectionar para `localhost` (que falha no servidor remoto) +3. **URL 복사 완료** da barra de endereço do seu browser (mesmo que a página não carregue) +4. Cole essa URL no campo que aparece no modal de conexão do OmniRoute +5. Clique em **"연결"** + +> 이 해결 방법은 URL을 통해 자동으로 코드를 확인하거나 독립적으로 리디렉션할 수 있도록 하는 것입니다. + +--- + +## 🐛 문제 해결 + +
+문제 해결 가이드를 확장하려면 클릭하세요 + +**"언어 모델이 메시지를 제공하지 않았습니다"** + +- 공급자 할당량 소진 → 대시보드 할당량 추적기 확인 +- 해결 방법: 콤보 폴백을 사용하거나 더 저렴한 계층으로 전환하세요. + +**비율 제한** + +- 구독 할당량 초과 → GLM/MiniMax로 대체 +- 콤보 추가: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking` + +**OAuth 토큰이 만료되었습니다** + +- OmniRoute에 의해 자동 새로고침 +- 문제가 지속되는 경우: Dashboard → Provider → Reconnect + +**높은 비용** + +- 대시보드 → 비용에서 사용 통계를 확인하세요. +- 기본 모델을 GLM/MiniMax로 전환 +- 중요하지 않은 작업에는 무료 계층(Gemini CLI, iFlow)을 사용합니다. + +**대시보드가 잘못된 포트에서 열립니다** + +- `PORT=20128` 및 `NEXT_PUBLIC_BASE_URL=http://localhost:20128` 설정 + +**클라우드 동기화 오류** + +- `BASE_URL`이 실행 중인 인스턴스를 가리키는지 확인합니다. +- `CLOUD_URL`이 예상 클라우드 엔드포인트를 가리키는지 확인하세요. +- `NEXT_PUBLIC_*` 값을 서버측 값과 일치하도록 유지합니다. + +**첫 번째 로그인이 작동하지 않습니다** + +- `.env`에서 `INITIAL_PASSWORD`을 확인하세요. +- 설정되지 않은 경우 대체 비밀번호는 `123456`입니다. + +**요청 로그 없음** + +- `.env`에 `ENABLE_REQUEST_LOGS=true`을 설정합니다. + +**OpenAI 호환 공급자에 대한 연결 테스트에서 "잘못됨"이 표시됩니다** + +- 많은 공급자가 `/models` 엔드포인트를 노출하지 않습니다. +- OmniRoute v1.0.6+에는 채팅 완료를 통한 대체 검증이 포함되어 있습니다. +- 기본 URL에 `/v1` 접미사가 포함되어 있는지 확인하세요. + +
+ +--- + +## 🛠️ 기술 스택 + +- **런타임**: Node.js 18–22 LTS(⚠️ Node.js 24+는 **지원되지 않습니다** — `better-sqlite3` 네이티브 바이너리는 호환되지 않습니다) +- **언어**: TypeScript 5.9 — `src/` 및 `open-sse/`에서 **100% TypeScript**(v1.0.6) +- **프레임워크**: Next.js 16 + React 19 + Tailwind CSS 4 +- **데이터베이스**: LowDB(JSON) + SQLite(도메인 상태 + 프록시 로그) +- **스트리밍**: 서버에서 보낸 이벤트(SSE) +- **인증**: OAuth 2.0(PKCE) + JWT + API 키 +- **테스트**: Node.js 테스트 실행기(368개 이상의 단위 테스트) +- **CI/CD**: GitHub Actions(자동 npm 게시 + 출시 시 Docker Hub) +- **웹사이트**: [omniroute.online](https://omniroute.online) +- **패키지**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute) +- **도커**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute) +- **복원력**: 회로 차단기, 지수 백오프, 천둥 방지 무리, TLS 스푸핑 + +--- + +## 📖 문서 + +| 문서 | 설명 | +| -------------------------------------------- | ------------------------------------------ | +| [User Guide](docs/USER_GUIDE.md) | 공급자, 콤보, CLI 통합, 배포 | +| [API Reference](docs/API_REFERENCE.md) | 예제가 포함된 모든 엔드포인트 | +| [Troubleshooting](docs/TROUBLESHOOTING.md) | 일반적인 문제 및 해결 방법 | +| [Architecture](docs/ARCHITECTURE.md) | 시스템 아키텍처 및 내부 | +| [Contributing](CONTRIBUTING.md) | 개발 설정 및 지침 | +| [OpenAPI Spec](docs/openapi.yaml) | OpenAPI 3.0 사양 | +| [Security Policy](SECURITY.md) | 취약점 보고 및 보안 관행 | +| [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | 전체 가이드: VM + nginx + Cloudflare 설정 | +| [Features Gallery](docs/FEATURES.md) | 스크린샷을 포함한 시각적 대시보드 둘러보기 | + +### 📸 대시보드 미리보기 + +
+대시보드 스크린샷을 보려면 클릭하세요. + +| 페이지 | 스크린샷 | +| -------------- | ------------------------------------------------- | +| **공급자** | ![Providers](docs/screenshots/01-providers.png) | +| **콤보** | ![Combos](docs/screenshots/02-combos.png) | +| **분석** | ![Analytics](docs/screenshots/03-analytics.png) | +| **건강** | ![Health](docs/screenshots/04-health.png) | +| **번역가** | ![Translator](docs/screenshots/05-translator.png) | +| **설정** | ![Settings](docs/screenshots/06-settings.png) | +| **CLI 도구** | ![CLI Tools](docs/screenshots/07-cli-tools.png) | +| **사용 로그** | ![Usage](docs/screenshots/08-usage.png) | +| **엔드포인트** | ![Endpoint](docs/screenshots/09-endpoint.png) | + +
+ +--- + +## 🗺️ 로드맵 + +OmniRoute에는 여러 개발 단계에 걸쳐 **210개 이상의 기능이 계획되어 있습니다**. 주요 영역은 다음과 같습니다. + +| 카테고리 | 계획된 기능 | 하이라이트 | +| --------------------------- | ----------- | ------------------------------------------------------------------------------ | +| 🧠 **라우팅 및 인텔리전스** | 25세 이상 | 최저 대기 시간 라우팅, 태그 기반 라우팅, 실행 전 할당량, P2C 계정 선택 | +| 🔒 **보안 및 규정 준수** | 20세 이상 | SSRF 강화, 자격 증명 클로킹, 엔드포인트당 속도 제한, 관리 키 범위 지정 | +| 📊 **관측성** | 15세 이상 | OpenTelemetry 통합, 실시간 할당량 모니터링, 모델별 비용 추적 | +| 🔄 **공급자 통합** | 20세 이상 | 동적 모델 레지스트리, 공급자 쿨다운, 다중 계정 Codex, Copilot 할당량 구문 분석 | +| ⚡ **성능** | 15세 이상 | 듀얼 캐시 레이어, 프롬프트 캐시, 응답 캐시, 스트리밍 Keepalive, 배치 API | +| 🌐 **생태계** | 10세 이상 | WebSocket API, 구성 핫 리로드, 분산 구성 저장소, 상용 모드 | + +### 🔜 출시 예정 + +- 🔗 **OpenCode 통합** — OpenCode AI 코딩 IDE에 대한 기본 공급자 지원 +- 🔗 **TRAE 통합** — TRAE AI 개발 프레임워크를 완벽하게 지원 +- 📦 **Batch API** — 대량 요청에 대한 비동기식 일괄 처리 +- 🎯 **태그 기반 라우팅** — 사용자 정의 태그 및 메타데이터를 기반으로 요청 라우팅 +- 💰 **최저 비용 전략** — 가장 저렴한 제공업체를 자동으로 선택합니다. + +> 📝 [**OMNI_TOKEN_147**](docs/new-features/)에서 사용 가능한 전체 기능 사양(217개 세부 사양) + +--- + +## 📧 지원 + +> 💬 **커뮤니티에 가입하세요!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — 도움을 받고, 팁을 공유하고, 최신 소식을 받아보세요. + +- **웹사이트**: [omniroute.online](https://omniroute.online) +- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) +- **문제**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) +- **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) +- **원래 프로젝트**: [9router by decolua](https://github.com/decolua/9router) + +--- + +## 👥 기여자 + +[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) + +### 기여 방법 + +1. 저장소 포크 +2. 기능 분기 생성(`git checkout -b feature/amazing-feature`) +3. 변경 사항을 커밋합니다(`git commit -m 'Add amazing feature'`). +4. 브랜치(`git push origin feature/amazing-feature`)로 푸시 +5. 풀 리퀘스트 열기 + +자세한 지침은 [CONTRIBUTING.md](CONTRIBUTING.md)을 참조하세요. + +### 새 버전 출시 + +```bash +# Create a release — npm publish happens automatically +gh release create v1.0.6 --title "v1.0.6" --generate-notes +``` + +--- + +## 📊 스타 히스토리 + + + + + + Star History Chart + + + +--- + +## 🙏 감사의 말씀 + +이 포크에 영감을 준 원본 프로젝트인 **[decolua](https://github.com/decolua)**의 **[9router](https://github.com/decolua/9router)**에게 특별히 감사드립니다. OmniRoute는 추가 기능, 다중 모드 API 및 전체 TypeScript 재작성을 통해 놀라운 기반을 구축합니다. + +이 JavaScript 포트에 영감을 준 최초의 Go 구현인 **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)**에게 특별히 감사드립니다. + +--- + +## 📄 라이센스 + +MIT 라이선스 - 자세한 내용은 [LICENSE](LICENSE)을 참조하세요. + +--- + +--- + +## 🇧🇷 OmniRoute — IA 무료 게이트웨이 + + + +### Nunca pare de codar. **IA 무료 모델 및 사용자 정의**가 자동 대체 기능으로 지능화되었습니다. + +_Seu 프록시 범용 API — 음 엔드포인트, 36개 이상의 Prodoores, 가동 중지 시간 없음._ + +### 🌐 국제화(i18n) + +O 대시보드는 OmniRoute를 지원하여 **다양한 관용어**를 지원합니다. 불만이 있는 경우: + +| 관용구 | 코디고 | 상태 | +| --------------------- | ------- | ------- | +| 🇺🇸 영어 | `en` | ✅ 완료 | +| 🇧🇷 포르투갈어(브라질) | `pt-BR` | ✅ 완료 | + +**Para trocar o idioma:** Clique no seletor de idioma(🇺🇸 EN) 헤더 없음 대시보드 → selecione o idioma desejado. + +**추가적인 표현:** + +1. `src/i18n/messages/{codigo}.json` 소리 지르기 `en.json` 기반으로 +2. `src/i18n/config.ts` → `LOCALES` e `LANGUAGES` 코드를 사용하세요. +3. Reinicie o servidor + +### ⚡ 이니시오 라피도 + +```bash +# Instalar via npm +npx omniroute@latest + +# Ou rodar do código-fonte +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +### 🐳 도커 + +```bash +docker run -d --name omniroute -p 20128:20128 diegosouzapw/omniroute:latest +``` + +### 🔑 Funcionalidades Principais + +- **36개 이상의 IA 인증** — Claude, GPT, Gemini, Llama, Qwen, DeepSeek 등 +- **지능형 회전** — 예비 자동 대체 +- **Tradução de formato** — OpenAI ⇔ Claude ⇔ Gemini 자동 번역 +- **다중 연결** — 지능적인 선택을 통해 입증된 여러 콘타스 +- **캐시 의미** — Reduz custos and latência +- **OAuth 자동** — 토큰 자동 업데이트 +- **맞춤형 콤보** — 6가지 기본 전략 +- **대시보드 완료** — 모니터링, 로그, 분석, 구성 +- **CLI 도구** — Claude Code, Codex, Cursor, Cline com um clique 구성 +- **100% TypeScript** — Código limpo etipado + +### 📖 문서 + +| 도큐멘토 | 설명 | +| ----------------------------------------------- | ------------------------------------ | +| [Guia do Usuário](docs/USER_GUIDE.md) | Provedore, 콤보, CLI, 배포 | +| [Referência da API](docs/API_REFERENCE.md) | 예를 들어 Todos OS 엔드포인트 | +| [Solução de Problemas](docs/TROUBLESHOOTING.md) | 문제 및 솔루션 문제 | +| [Arquitetura](docs/ARCHITECTURE.md) | Arquitetura e internos do sistema | +| [Contribuição](CONTRIBUTING.md) | 자유 의지 설정 지침 | +| [Deploy em VM](docs/VM_DEPLOYMENT_GUIDE.md) | 완전한 기능: VM + nginx + Cloudflare | + +### 📧 지원 + +> 💬 **공동체에 참여하세요!** [Grupo WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Tire dúvidas, compartilhe dicas e fique atualizado. + +- **웹사이트**: [omniroute.online](https://omniroute.online) +- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) +- **문제**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) + +--- + +
+ 연중무휴을 코딩하는 개발자를 위해 ❤️으로 구축됨 +
+ omniroute.online +
diff --git a/README.md b/README.md index e34800fd62..45eb79cd15 100644 --- a/README.md +++ b/README.md @@ -106,7 +106,7 @@ _Connect any AI-powered IDE or CLI tool through OmniRoute — free API gateway f [🌐 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](README.pt-BR.md) | [Español](README.es.md) | [Русский](README.ru.md) | [中文](README.zh-CN.md) | [Deutsch](README.de.md) | [Français](README.fr.md) | [Italiano](README.it.md) +🌐 **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) diff --git a/README.ms.md b/README.ms.md new file mode 100644 index 0000000000..a388bdb4d6 --- /dev/null +++ b/README.ms.md @@ -0,0 +1,1238 @@ +
+ OmniRoute Dashboard + + # 🚀 OmniRoute — Gerbang AI Percuma + +🌐 **[English](#-omniroute--the-free-ai-gateway)** | **[Português (BR)](#-omniroute--gateway-de-ia-gratuito)** + +### Jangan sekali-kali berhenti mengekod. Penghalaan pintar ke **model AI PERCUMA & kos rendah** dengan sandaran automatik. + +_Proksi API universal anda — satu titik akhir, 36+ pembekal, masa henti sifar._ + +**Penyelesaian Sembang • Pembenaman • Penjanaan Imej • Audio • Kedudukan Semula • 100% TypeScript** + +--- + +### 🤖 Pembekal AI percuma untuk ejen pengekodan kegemaran anda + +_Sambungkan mana-mana alat IDE atau CLI berkuasa AI melalui OmniRoute — get laluan API percuma untuk pengekodan tanpa had._ + + + + + + + + + + + + + + + + +
+ + OpenClaw
+ OpenClaw +

+ ⭐ 205K +
+ + NanoBot
+ NanoBot +

+ ⭐ 20.9K +
+ + PicoClaw
+ PicoClaw +

+ ⭐ 14.6K +
+ + ZeroClaw
+ ZeroClaw +

+ ⭐ 9.9K +
+ + IronClaw
+ IronClaw +

+ ⭐ 2.1K +
+ + OpenCode
+ OpenCode +

+ ⭐ 106K +
+ + Codex CLI
+ Codex CLI +

+ ⭐ 60.8K +
+ + Claude Code
+ Claude Code +

+ ⭐ 67.3K +
+ + Gemini CLI
+ Gemini CLI +

+ ⭐ 94.7K +
+ + Kilo Code
+ Kilo Code +

+ ⭐ 15.5K +
+ +📡 Semua ejen menyambung melalui http://localhost:20128/v1 atau http://cloud.omniroute.online/v1 atau model http://cloud.omniroute.online/v1__OMNI_TOKEN —i_24_TOKEN dan satu —i_konfigurasi kuota + +--- + +[![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) +[![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) +[![License](https://img.shields.io/github/license/diegosouzapw/OmniRoute)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE) +[![Website](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) +[![WhatsApp](https://img.shields.io/badge/WhatsApp-Community-25D366?logo=whatsapp&logoColor=white)](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) + +
+ +--- + +## 🤔 Mengapa OmniRoute? + +**Berhenti membazir wang dan mencapai had:** + +- Kuota langganan tamat tempoh tidak digunakan setiap bulan +- Had kadar menghalang anda pertengahan pengekodan +- API Mahal ($20-50/bulan bagi setiap pembekal) +- Pertukaran manual antara pembekal + +**OmniRoute menyelesaikan ini:** + +- ✅ **Maksimumkan langganan** - Jejaki kuota, gunakan setiap bit sebelum ditetapkan semula +- ✅ **Auto sandaran** - Langganan → Kunci API → Murah → Percuma, masa henti sifar +- ✅ **Berbilang akaun** - Round-robin antara akaun bagi setiap pembekal +- ✅ **Universal** - Berfungsi dengan Kod Claude, Codex, Gemini CLI, Kursor, Cline, OpenClaw, sebarang alat CLI + +--- + +## 🔄 Cara Ia Berfungsi + +``` +┌─────────────┐ +│ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) +│ Tool │ +└──────┬──────┘ + │ http://localhost:20128/v1 + ↓ +┌─────────────────────────────────────────┐ +│ OmniRoute (Smart Router) │ +│ • Format translation (OpenAI ↔ Claude) │ +│ • Quota tracking + Embeddings + Images │ +│ • Auto token refresh │ +└──────┬──────────────────────────────────┘ + │ + ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI + │ ↓ quota exhausted + ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc. + │ ↓ budget limit + ├─→ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M) + │ ↓ budget limit + └─→ [Tier 4: FREE] iFlow, Qwen, Kiro (unlimited) + +Result: Never stop coding, minimal cost +``` + +--- + +## ⚡ Mula Pantas + +**1. Pasang secara global:** + +```bash +npm install -g omniroute +omniroute +``` + +🎉 Papan pemuka dibuka pada `http://localhost:20128` + +| Perintah | Penerangan | +| ----------------------- | ---------------------------------- | +| `omniroute` | Mulakan pelayan (port lalai 20128) | +| `omniroute --port 3000` | Gunakan port tersuai | +| `omniroute --no-open` | Jangan auto buka penyemak imbas | +| `omniroute --help` | Tunjukkan bantuan | + +**2. Sambungkan pembekal PERCUMA:** + +Papan pemuka → Pembekal → Sambung **Kod Claude** atau **Antigraviti** → Log masuk OAuth → Selesai! + +**3. Gunakan dalam alat CLI anda:** + +``` +Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings: + Endpoint: http://localhost:20128/v1 + API Key: [copy from dashboard] + Model: if/kimi-k2-thinking +``` + +**Itu sahaja!** Mulakan pengekodan dengan model AI PERCUMA. + +**Alternatif — dijalankan dari sumber:** + +```bash +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +--- + +## 🐳 Docker + +OmniRoute tersedia sebagai imej Docker awam pada [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute). + +**Larian pantas:** + +```bash +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**Dengan fail persekitaran:** + +```bash +# Copy and edit .env first +cp .env.example .env + +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + --env-file .env \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**Menggunakan Docker Compose:** + +```bash +# Base profile (no CLI tools) +docker compose --profile base up -d + +# CLI profile (Claude Code, Codex, OpenClaw built-in) +docker compose --profile cli up -d +``` + +| Imej | Tag | Saiz | Penerangan | +| ------------------------ | -------- | ------ | ----------------------- | +| `diegosouzapw/omniroute` | `latest` | ~250MB | Keluaran stabil terkini | +| `diegosouzapw/omniroute` | `1.0.3` | ~250MB | Versi semasa | + +--- + +## 💰 Sekilas Pandang Harga + +| Peringkat | Pembekal | Kos | Set Semula Kuota | Terbaik Untuk | +| ---------------- | ---------------- | ---------------------------- | ------------------ | ----------------------- | +| **💳 LANGGANAN** | Kod Claude (Pro) | $20/bln | 5j + mingguan | Sudah melanggan | +| | Codex (Plus/Pro) | $20-200/bln | 5j + mingguan | Pengguna OpenAI | +| | Gemini CLI | **PERCUMA** | 180K/bln + 1K/hari | Semua orang! | +| | GitHub Copilot | $10-19/bln | Bulanan | Pengguna GitHub | +| **🔑 KUNCI API** | NVIDIA NIM | **PERCUMA** (1000 kredit) | Satu kali | Ujian peringkat percuma | +| | DeepSeek | Bayar setiap penggunaan | Tiada | Harga/kualiti terbaik | +| | Groq | Peringkat percuma + berbayar | Kadar terhad | Inferens sangat pantas | +| | xAI (Grok) | Bayar setiap penggunaan | Tiada | Model Grok | +| | Mistral | Peringkat percuma + berbayar | Kadar terhad | AI Eropah | +| | OpenRouter | Bayar setiap penggunaan | Tiada | 100+ model | +| **💰 MURAH** | GLM-4.7 | $0.6/1J | Setiap hari 10AM | Sandaran belanjawan | +| | MiniMax M2.1 | $0.2/1J | 5 jam bergolek | Pilihan termurah | +| | Kimi K2 | $9/bln flat | 10 juta token/bln | Kos yang boleh diramal | +| **🆓 PERCUMA** | iFlow | $0 | tanpa had | 8 model percuma | +| | Qwen | $0 | tanpa had | 3 model percuma | +| | Kiro | $0 | tanpa had | Claude percuma | + +**💡 Petua Pro:** Mulakan dengan Gemini CLI (180K percuma/bulan) + iFlow (percuma tanpa had) kombo = $0 kos! + +--- + +## 🎯 Kes Penggunaan + +### Kes 1: "Saya mempunyai langganan Claude Pro" + +**Masalah:** Kuota tamat tempoh tidak digunakan, had kadar semasa pengekodan berat + +``` +Combo: "maximize-claude" + 1. cc/claude-opus-4-6 (use subscription fully) + 2. glm/glm-4.7 (cheap backup when quota out) + 3. if/kimi-k2-thinking (free emergency fallback) + +Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total +vs. $20 + hitting limits = frustration +``` + +### Kes 2: "Saya mahu kos sifar" + +**Masalah:** Tidak mampu membayar langganan, memerlukan pengekodan AI yang boleh dipercayai + +``` +Combo: "free-forever" + 1. gc/gemini-3-flash (180K free/month) + 2. if/kimi-k2-thinking (unlimited free) + 3. qw/qwen3-coder-plus (unlimited free) + +Monthly cost: $0 +Quality: Production-ready models +``` + +### Kes 3: "Saya memerlukan pengekodan 24/7, tiada gangguan" + +**Masalah:** Tarikh akhir, tidak mampu membayar masa henti + +``` +Combo: "always-on" + 1. cc/claude-opus-4-6 (best quality) + 2. cx/gpt-5.2-codex (second subscription) + 3. glm/glm-4.7 (cheap, resets daily) + 4. minimax/MiniMax-M2.1 (cheapest, 5h reset) + 5. if/kimi-k2-thinking (free unlimited) + +Result: 5 layers of fallback = zero downtime +``` + +### Kes 4: "Saya mahukan AI PERCUMA dalam OpenClaw" + +**Masalah:** Memerlukan pembantu AI dalam apl pemesejan, percuma sepenuhnya + +``` +Combo: "openclaw-free" + 1. if/glm-4.7 (unlimited free) + 2. if/minimax-m2.1 (unlimited free) + 3. if/kimi-k2-thinking (unlimited free) + +Monthly cost: $0 +Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal... +``` + +--- + +## 💡 Ciri Utama + +### 🧠 Penghalaan Teras & Kepintaran + +| Ciri | Apa yang Dilakukan | +| ---------------------------------- | --------------------------------------------------------------------------------------------- | +| 🎯 **Smart 4-Tier Fallback** | Laluan automatik: Langganan → Kunci API → Murah → Percuma | +| 📊 **Penjejakan Kuota Masa Nyata** | Kiraan token langsung + tetapan semula kira detik setiap pembekal | +| 🔄 **Terjemahan Format** | OpenAI ↔ Claude ↔ Gemini ↔ Kursor ↔ Kiro lancar + pembersihan tindak balas | +| 👥 **Sokongan Berbilang Akaun** | Berbilang akaun bagi setiap pembekal dengan pemilihan pintar | +| 🔄 **Muat Semula Token Auto** | Token OAuth dimuat semula secara automatik dengan cuba semula | +| 🎨 **Kombo Tersuai** | 6 strategi: isikan dahulu, round-robin, p2c, rawak, paling kurang digunakan, dioptimumkan kos | +| 🧩 **Model Tersuai** | Tambahkan sebarang ID model pada mana-mana pembekal | +| 🌐 **Penghala Wildcard** | Halakan corak `provider/*` kepada mana-mana pembekal secara dinamik | +| 🧠 **Anggaran Berfikir** | Mod laluan, auto, tersuai dan adaptif untuk model penaakulan | +| 💬 **System Prompt Suntikan** | Gesaan sistem global digunakan merentas semua permintaan | +| 📄 **API Respons** | Sokongan OpenAI Responses API (`/v1/responses`) penuh untuk Codex | + +### 🎵 API Berbilang Modal + +| Ciri | Apa yang Dilakukan | +| ------------------------ | ------------------------------------------------------ | +| 🖼️ **Penjanaan Imej** | `/v1/images/generations` — 4 pembekal, 9+ model | +| 📐 **Pembenaman** | `/v1/embeddings` — 6 pembekal, 9+ model | +| 🎤 **Transkripsi Audio** | `/v1/audio/transcriptions` — Serasi dengan bisikan | +| 🔊 **Teks-ke-Ucapan** | `/v1/audio/speech` — Sintesis audio berbilang pembekal | +| 🛡️ **Kesederhanaan** | `/v1/moderations` — Pemeriksaan keselamatan kandungan | +| 🔀 **Penyusunan semula** | `/v1/rerank` — Penarafan semula perkaitan dokumen | + +### 🛡️ Ketahanan & Keselamatan + +| Ciri | Apa yang Dilakukan | +| ----------------------------------- | ----------------------------------------------------------------------------------- | +| 🔌 **Pemutus Litar** | Auto buka/tutup setiap pembekal dengan ambang boleh dikonfigurasikan | +| 🛡️ **Kawanan Anti Guruh** | Had kadar Mutex + semaphore untuk pembekal kunci API | +| 🧠 **Cache Semantik** | Cache dua peringkat (tandatangan + semantik) mengurangkan kos & kependaman | +| ⚡ **Minta Idepotency** | Tetingkap pendua 5s untuk permintaan pendua | +| 🔒 **TLS Fingerprint Spoofing** | Pintas pengesanan bot berasaskan TLS melalui wreq-js | +| 🌐 **Penapisan IP** | Senarai kebenaran/senarai sekat untuk kawalan akses API | +| 📊 **Had Kadar Boleh Diedit** | RPM boleh dikonfigurasikan, jurang min dan serentak maksimum pada tahap sistem | +| 🛡 **Perlindungan Titik Akhir API** | Gating pengesahan + penyekatan penyedia untuk titik akhir `/models` | +| 🔒 **Keterlihatan Proksi** | Lencana berkod warna: 🟢 global, 🟡 pembekal, 🔵 setiap sambungan dengan paparan IP | +| 🌐 **Konfigurasi Proksi 3 Tahap** | Konfigurasikan proksi pada peringkat global, setiap pembekal atau setiap sambungan | + +### 📊 Kebolehlihatan & Analitis + +| Ciri | Apa yang Dilakukan | +| --------------------------------- | ------------------------------------------------------------------------------ | +| 📝 **Minta Pembalakan** | Mod nyahpepijat dengan log permintaan/tindak balas penuh | +| 💾 **Log Proksi SQLite** | Log proksi berterusan bertahan dimulakan semula pelayan | +| 📊 **Papan Pemuka Analitik** | Dikuasakan semula: kad statistik, carta penggunaan model, jadual pembekal | +| 📈 **Penjejakan Kemajuan** | Ikut serta acara kemajuan SSE untuk penstriman | +| 🧪 **Penilaian LLM** | Ujian set emas dengan 4 strategi perlawanan | +| 🔍 **Minta Telemetri** | p50/p95/p99 pengagregatan kependaman + pengesanan X-Request-Id | +| 📋 **Papan Pemuka Log** | Halaman 4 tab bersatu: Log Permintaan, Log Proksi, Log Audit, Konsol | +| 🖥️ **Pemapar Log Konsol** | Pemapar gaya terminal masa nyata dengan penapis tahap, carian, tatal automatik | +| 📑 **Pengelogan Berasaskan Fail** | Pemintas konsol menangkap semua output ke fail log JSON dengan putaran | +| 🏥 **Papan Pemuka Kesihatan** | Masa beroperasi sistem, keadaan pemutus litar, sekatan keluar, statistik cache | +| 💰 **Penjejakan Kos** | Pengurusan belanjawan + konfigurasi harga setiap model | + +### ☁️ Penyerahan & Penyegerakan + +| Ciri | Apa yang Dilakukan | +| ----------------------------- | ----------------------------------------------------------------------- | +| 💾 **Penyegerakan Awan** | Segerakkan konfigurasi merentas peranti melalui Cloudflare Workers | +| 🌐 **Kerahkan Di Mana-mana** | Localhost, VPS, Docker, Pekerja Cloudflare | +| 🔑 **Pengurusan Kunci API** | Jana, putar dan skop kunci API bagi setiap pembekal | +| 🧙 **Onboarding Wizard** | Persediaan berpandu 4 langkah untuk pengguna kali pertama | +| 🔧 **Papan Pemuka Alat CLI** | Konfigurasi satu klik Claude, Codex, Cline, OpenClaw, Kilo, Antigravity | +| 🔄 **Sandaran DB** | Sandaran automatik, pulihkan, eksport & import untuk semua tetapan | +| 🌐 **Pengantarabangsaan** | i18n penuh dengan next-intl — sokongan Inggeris + Portugis (Brazil) | +| 🌍 **Pemilih Bahasa** | Ikon glob dalam pengepala untuk penukaran bahasa masa nyata (🇺🇸/🇧🇷) | +| 📂 **Direktori Data Tersuai** | `DATA_DIR` env var untuk mengatasi laluan storan lalai `~/.omniroute` | + +
+📖 Butiran Ciri + +### 🎯 Kemunduran 4 Peringkat Pintar + +Cipta gabungan dengan sandaran automatik: + +``` +Combo: "my-coding-stack" + 1. cc/claude-opus-4-6 (your subscription) + 2. nvidia/llama-3.3-70b (free NVIDIA API) + 3. glm/glm-4.7 (cheap backup, $0.6/1M) + 4. if/kimi-k2-thinking (free fallback) + +→ Auto switches when quota runs out or errors occur +``` + +### 📊 Penjejakan Kuota Masa Nyata + +- Penggunaan token setiap pembekal +- Tetapkan semula kira detik (5 jam, harian, mingguan) +- Anggaran kos untuk peringkat berbayar +- Laporan perbelanjaan bulanan + +### 🔄 Terjemahan Format + +Terjemahan lancar antara format: + +- **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **Respons OpenAI** +- Alat CLI anda menghantar format OpenAI → OmniRoute menterjemah → Pembekal menerima format asli +- Berfungsi dengan mana-mana alat yang menyokong titik akhir OpenAI tersuai +- **Pembersihan tindak balas** — Menghapuskan medan bukan standard untuk keserasian OpenAI SDK yang ketat +- **Penormalan peranan** — `developer` → `system` untuk bukan OpenAI; `system` → `user` untuk model GLM/ERNIE +- **Pengekstrakan teg Think** — `` blok → `reasoning_content` untuk model pemikiran +- **Output berstruktur** — `json_schema` → Gemini's `responseMimeType`/`responseSchema` + +### 👥 Sokongan Berbilang Akaun + +- Tambah berbilang akaun bagi setiap pembekal +- Auto round-robin atau penghalaan berasaskan keutamaan +- Berundur ke akaun seterusnya apabila seseorang mencapai kuota + +### 🔄 Muat Semula Token Auto + +- Token OAuth dimuat semula secara automatik sebelum tamat tempoh +- Tiada pengesahan semula manual diperlukan +- Pengalaman lancar merentas semua pembekal + +### 🎨 Kombo Tersuai + +- Buat kombinasi model tanpa had +- 6 strategi: isikan dahulu, round-robin, kuasa dua pilihan, rawak, paling kurang digunakan, dioptimumkan kos +- Kongsi gabungan merentas peranti dengan Cloud Sync + +### 🏥 Papan Pemuka Kesihatan + +- Status sistem (masa hidup, versi, penggunaan memori) +- Keadaan pemutus litar bagi setiap pembekal (Tertutup/Terbuka/Separuh Terbuka) +- Status had kadar dan sekatan aktif +- Statistik cache tandatangan +- Telemetri kependaman (p50/p95/p99) + cache segera +- Tetapkan semula status kesihatan dengan satu klik + +### 🔧 Taman Permainan Penterjemah + +OmniRoute termasuk Taman Permainan Penterjemah terbina dalam yang berkuasa dengan **4 mod** untuk penyahpepijatan, ujian dan pemantauan terjemahan API: + +| Mod | Penerangan | +| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **💻 Taman permainan** | Terjemahan format langsung — tampal mana-mana badan permintaan API dan lihat serta-merta cara OmniRoute menterjemahkannya antara format pembekal (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). Termasuk templat contoh dan pengesanan automatik format. | +| **💬 Penguji Sembang** | Hantar permintaan sembang sebenar melalui OmniRoute dan lihat perjalanan pergi balik penuh: input anda, permintaan yang diterjemahkan, respons pembekal dan balasan yang diterjemahkan kembali. Tidak ternilai untuk mengesahkan penghalaan kombo. | +| **🧪 Bangku Ujian** | Mod ujian kelompok — tentukan berbilang kes ujian dengan input dan output yang dijangkakan berbeza, jalankan semuanya sekali gus dan bandingkan hasil merentas pembekal dan model. | +| **📱 Pemantau Langsung** | Pemantauan permintaan masa nyata — tonton permintaan masuk semasa ia mengalir melalui OmniRoute, lihat terjemahan format berlaku secara langsung dan kenal pasti isu serta-merta. | + +**Akses:** Papan Pemuka → Penterjemah (bar sisi) + +### 💾 Penyegerakan Awan + +- Penyegerakan penyedia, gabungan dan tetapan merentas peranti +- Penyegerakan latar belakang automatik +- Storan yang disulitkan selamat + +
+ +--- + +## 📖 Panduan Persediaan + +
+💳 Pembekal Langganan + +### Kod Claude (Pro/Max) + +```bash +Dashboard → Providers → Connect Claude Code +→ OAuth login → Auto token refresh +→ 5-hour + weekly quota tracking + +Models: + cc/claude-opus-4-6 + cc/claude-sonnet-4-5-20250929 + cc/claude-haiku-4-5-20251001 +``` + +**Petua Pro:** Gunakan Opus untuk tugas yang rumit, Sonnet untuk kelajuan. OmniRoute menjejaki kuota setiap model! + +### OpenAI Codex (Plus/Pro) + +```bash +Dashboard → Providers → Connect Codex +→ OAuth login (port 1455) +→ 5-hour + weekly reset + +Models: + cx/gpt-5.2-codex + cx/gpt-5.1-codex-max +``` + +### Gemini CLI (PERCUMA 180K/bulan!) + +```bash +Dashboard → Providers → Connect Gemini CLI +→ Google OAuth +→ 180K completions/month + 1K/day + +Models: + gc/gemini-3-flash-preview + gc/gemini-2.5-pro +``` + +**Nilai Terbaik:** Peringkat percuma yang besar! Gunakan ini sebelum peringkat berbayar. + +### Copilot GitHub + +```bash +Dashboard → Providers → Connect GitHub +→ OAuth via GitHub +→ Monthly reset (1st of month) + +Models: + gh/gpt-5 + gh/claude-4.5-sonnet + gh/gemini-3-pro +``` + +
+ +
+🔑 Pembekal Kunci API + +### NVIDIA NIM (PERCUMA 1000 kredit!) + +1. Daftar: [build.nvidia.com](https://build.nvidia.com) +2. Dapatkan kunci API percuma (1000 kredit inferens disertakan) +3. Papan Pemuka → Tambah Pembekal → NVIDIA NIM: + - Kunci API: `nvapi-your-key` + +**Model:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct` dan 50+ lagi + +**Petua Pro:** API serasi OpenAI — berfungsi dengan lancar dengan terjemahan format OmniRoute! + +### DeepSeek + +1. Daftar: [platform.deepseek.com](https://platform.deepseek.com) +2. Dapatkan kunci API +3. Papan Pemuka → Tambah Pembekal → DeepSeek + +**Model:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder` + +### Groq (Tier Percuma Tersedia!) + +1. Daftar: [console.groq.com](https://console.groq.com) +2. Dapatkan kunci API (termasuk peringkat percuma) +3. Papan Pemuka → Tambah Pembekal → Groq + +**Model:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b` + +**Petua Pro:** Inferens sangat pantas — terbaik untuk pengekodan masa nyata! + +### OpenRouter (100+ Model) + +1. Daftar: [openrouter.ai](https://openrouter.ai) +2. Dapatkan kunci API +3. Papan Pemuka → Tambah Pembekal → OpenRouter + +**Model:** Akses 100+ model daripada semua pembekal utama melalui kunci API tunggal. + +
+ +
+💰 Penyedia Murah (Sandaran) + +### GLM-4.7 (Tetapan semula harian, $0.6/1J) + +1. Daftar: [Zhipu AI](https://open.bigmodel.cn/) +2. Dapatkan kunci API daripada Pelan Pengekodan +3. Papan Pemuka → Tambah Kunci API: + - Pembekal: `glm` + - Kunci API: `your-key` + +**Gunakan:** `glm/glm-4.7` + +**Petua Pro:** Pelan Pengekodan menawarkan kuota 3× pada kos 1/7! Tetapkan semula setiap hari 10:00 AM. + +### MiniMax M2.1 (tetapan semula 5j, $0.20/1J) + +1. Daftar: [MiniMax](https://www.minimax.io/) +2. Dapatkan kunci API +3. Papan Pemuka → Tambah Kunci API + +**Gunakan:** `minimax/MiniMax-M2.1` + +**Petua Pro:** Pilihan termurah untuk konteks panjang (token 1M)! + +### Kimi K2 ($9/bulan rata) + +1. Langgan: [Moonshot AI](https://platform.moonshot.ai/) +2. Dapatkan kunci API +3. Papan Pemuka → Tambah Kunci API + +**Gunakan:** `kimi/kimi-latest` + +**Petua Pro:** Tetap $9/bulan untuk 10J token = $0.90/1J kos efektif! + +
+ +
+🆓 Pembekal PERCUMA (Sandaran Kecemasan) + +### iFlow (8 model PERCUMA) + +```bash +Dashboard → Connect iFlow +→ iFlow OAuth login +→ Unlimited usage + +Models: + if/kimi-k2-thinking + if/qwen3-coder-plus + if/glm-4.7 + if/minimax-m2 + if/deepseek-r1 +``` + +### Qwen (3 model PERCUMA) + +```bash +Dashboard → Connect Qwen +→ Device code authorization +→ Unlimited usage + +Models: + qw/qwen3-coder-plus + qw/qwen3-coder-flash +``` + +### Kiro (Claude PERCUMA) + +```bash +Dashboard → Connect Kiro +→ AWS Builder ID or Google/GitHub +→ Unlimited usage + +Models: + kr/claude-sonnet-4.5 + kr/claude-haiku-4.5 +``` + +
+ +
+🎨 Cipta Kombo + +### Contoh 1: Maksimumkan Langganan → Sandaran Murah + +``` +Dashboard → Combos → Create New + +Name: premium-coding +Models: + 1. cc/claude-opus-4-6 (Subscription primary) + 2. glm/glm-4.7 (Cheap backup, $0.6/1M) + 3. minimax/MiniMax-M2.1 (Cheapest fallback, $0.20/1M) + +Use in CLI: premium-coding +``` + +### Contoh 2: Percuma-Sahaja (Kos Sifar) + +``` +Name: free-combo +Models: + 1. gc/gemini-3-flash-preview (180K free/month) + 2. if/kimi-k2-thinking (unlimited) + 3. qw/qwen3-coder-plus (unlimited) + +Cost: $0 forever! +``` + +
+ +
+🔧 CLI Integrasi + +### IDE Kursor + +``` +Settings → Models → Advanced: + OpenAI API Base URL: http://localhost:20128/v1 + OpenAI API Key: [from OmniRoute dashboard] + Model: cc/claude-opus-4-6 +``` + +### Kod Claude + +Gunakan halaman **Alat CLI** dalam papan pemuka untuk konfigurasi satu klik atau edit `~/.claude/settings.json` secara manual. + +### Codex CLI + +```bash +export OPENAI_BASE_URL="http://localhost:20128" +export OPENAI_API_KEY="your-omniroute-api-key" + +codex "your prompt" +``` + +### OpenClaw + +**Pilihan 1 — Papan Pemuka (disyorkan):** + +``` +Dashboard → CLI Tools → OpenClaw → Select Model → Apply +``` + +**Pilihan 2 — Manual:** Edit `~/.openclaw/openclaw.json`: + +```json +{ + "models": { + "providers": { + "omniroute": { + "baseUrl": "http://127.0.0.1:20128/v1", + "apiKey": "sk_omniroute", + "api": "openai-completions" + } + } + } +} +``` + +> **Nota:** OpenClaw hanya berfungsi dengan OmniRoute tempatan. Gunakan `127.0.0.1` dan bukannya `localhost` untuk mengelakkan isu resolusi IPv6. + +### Cline / Teruskan / RooCode + +``` +Settings → API Configuration: + Provider: OpenAI Compatible + Base URL: http://localhost:20128/v1 + API Key: [from OmniRoute dashboard] + Model: if/kimi-k2-thinking +``` + +
+ +--- + +## 📊 Model Tersedia + +
+Lihat semua model yang tersedia + +**Kod Claude (`cc/`)** - Pro/Max: + +- `cc/claude-opus-4-6` +- `cc/claude-sonnet-4-5-20250929` +- `cc/claude-haiku-4-5-20251001` + +**Codex (`cx/`)** - Plus/Pro: + +- `cx/gpt-5.2-codex` +- `cx/gpt-5.1-codex-max` + +**Gemini CLI (`gc/`)** - PERCUMA: + +- `gc/gemini-3-flash-preview` +- `gc/gemini-2.5-pro` + +**GitHub Copilot (`gh/`)**: + +- `gh/gpt-5` +- `gh/claude-4.5-sonnet` + +**NVIDIA NIM (`nvidia/`)** - Kredit PERCUMA: + +- `nvidia/llama-3.3-70b-instruct` +- `nvidia/mistral-7b-instruct` +- 50+ lagi model di [build.nvidia.com](https://build.nvidia.com) + +**GLM (`glm/`)** - $0.6/1J: + +- `glm/glm-4.7` + +**MiniMax (`minimax/`)** - $0.2/1J: + +- `minimax/MiniMax-M2.1` + +**iFlow (`if/`)** - PERCUMA: + +- `if/kimi-k2-thinking` +- `if/qwen3-coder-plus` +- `if/deepseek-r1` +- `if/glm-4.7` +- `if/minimax-m2` + +**Qwen (`qw/`)** - PERCUMA: + +- `qw/qwen3-coder-plus` +- `qw/qwen3-coder-flash` + +**Kiro (`kr/`)** - PERCUMA: + +- `kr/claude-sonnet-4.5` +- `kr/claude-haiku-4.5` + +**OpenRouter (`or/`)** - 100+ model: + +- `or/anthropic/claude-4-sonnet` +- `or/google/gemini-2.5-pro` +- Mana-mana model daripada [openrouter.ai/models](https://openrouter.ai/models) + +
+ +--- + +## 🧪 Penilaian (Evals) + +OmniRoute termasuk rangka kerja penilaian terbina dalam untuk menguji kualiti tindak balas LLM terhadap set emas. Aksesnya melalui **Analytics → Evals** dalam papan pemuka. + +### Set Emas Terbina dalam + +"Set Emas OmniRoute" pra-muat mengandungi 10 kes ujian yang meliputi: + +- Salam, matematik, geografi, penjanaan kod +- Pematuhan format JSON, terjemahan, penurunan harga +- Penolakan keselamatan (kandungan berbahaya), pengiraan, logik boolean + +### Strategi Penilaian + +| Strategi | Penerangan | Contoh | +| ---------- | --------------------------------------------------------------------- | -------------------------------- | +| `exact` | Output mesti sepadan dengan tepat | `"4"` | +| `contains` | Output mesti mengandungi subrentetan (tidak peka huruf besar-besaran) | `"Paris"` | +| `regex` | Output mesti sepadan dengan corak regex | `"1.*2.*3"` | +| `custom` | Fungsi JS tersuai mengembalikan benar/salah | `(output) => output.length > 10` | + +--- + +## 🔐 OAuth em Servidor Remoto (Persediaan OAuth Jauh) + + + +> **⚠️ PENTING untuk biasa menggunakan OmniRoute em VPS/Docker/servidor remoto** + +### Adakah OAuth melakukan Antigraviti / Gemini CLI tidak menggunakan perkhidmatan anda? + +Ia membuktikan **Antigraviti** dan **Gemini CLI** menggunakan **Google OAuth 2.0** untuk autenticação. O Google exige que a `redirect_uri` gunakan tiada fluks OAuth seja **exatamente** uma das URIs sebelum kadastrada tiada Google Cloud Console untuk aplicativo. + +Sebagai credenciais OAuth embutidas no OmniRoute estão cadastradas **apenas untuk `localhost`**. Quando você acessa o OmniRoute em um servidor remoto (cth: `https://omniroute.meuservidor.com`), o Google rejeita a autenticação com: + +``` +Error 400: redirect_uri_mismatch +``` + +### Penyelesaian: Konfigurasikan suas próprias credenciais OAuth + +Você precisa criar um **OAuth 2.0 Client ID** no Google Cloud Console com a URI do seu servidor. + +#### Passo a passo + +**1. Akses ke Konsol Awan Google** + +Abra: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials) + +**2. Crie um novo ID Pelanggan OAuth 2.0** + +- Klik em **"+ Cipta Bukti Kelayakan"** → **"ID klien OAuth"** +- Tipo de aplicativo: **"Aplikasi web"** +- Nama: escolha qualquer nome (cth: `OmniRoute Remote`) + +**3. Tambah sebagai URI Ubah Hala Dibenarkan** + +Tiada **"URI ubah hala yang dibenarkan"**, tambahan: + +``` +https://seu-servidor.com/callback +``` + +> Gantikan `seu-servidor.com` pelo domínio ou IP do seu servidor (termasuk porta se necessário, cth: `http://45.33.32.156:20128/callback`). + +**4. Simpan dan salin sebagai kredensia** + +Após criar, o Google mostrará o **ID Pelanggan** e o **Rahsia Pelanggan**. + +**5. Konfigurasikan sebagai variáveis de ambiente** + +No seu `.env` (ou nas variáveis de ambiente do Docker): + +```bash +# Para Antigravity: +ANTIGRAVITY_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret + +# Para Gemini CLI: +GEMINI_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +``` + +**6. Reinicie o OmniRoute** + +```bash +# Se usando npm: +npm run dev + +# Se usando Docker: +docker restart omniroute +``` + +**7. Tente conectar novamente** + +Papan pemuka → Pembekal → Antigraviti (ou Gemini CLI) → OAuth + +Agora o Google redirectionará corretamente untuk `https://seu-servidor.com/callback` dan a autenticação funcionará. + +--- + +### Penyelesaian sementara (sem configurar credenciais próprias) + +Jika anda ingin mendapatkan credenciais próprias agora, ada kemungkinan penggunaan atau fluks **manual de URL**: + +1. OmniRoute abrirá a URL de authorização do Google +2. Após você authorizar, o Google tentará redirectionar para `localhost` (que falha no servidor remoto) +3. **Salin URL lengkap** pada penyemak imbas barra de endereço do seu (mesmo que a página não carregue) +4. Cole essa URL no campo que aparece no modal de conexão do OmniRoute +5. Klik em **"Sambung"** + +> Penyelesaian ini berfungsi sebagai kodigo de autorização na URL adalah bebas untuk mengubah hala mengikut arahan atau tidak. + +--- + +## 🐛 Menyelesaikan masalah + +
+Klik untuk mengembangkan panduan penyelesaian masalah + +**"Model bahasa tidak memberikan mesej"** + +- Kuota pembekal habis → Semak penjejak kuota papan pemuka +- Penyelesaian: Gunakan sandaran kombo atau tukar kepada peringkat yang lebih murah + +**Penghadan kadar** + +- Kuota langganan habis → Sandar kepada GLM/MiniMax +- Tambah kombo: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking` + +**Token OAuth tamat tempoh** + +- Dikemas semula secara automatik oleh OmniRoute +- Jika isu berterusan: Papan Pemuka → Pembekal → Sambung semula + +**Kos tinggi** + +- Semak statistik penggunaan dalam Papan Pemuka → Kos +- Tukar model utama kepada GLM/MiniMax +- Gunakan peringkat percuma (Gemini CLI, iFlow) untuk tugasan yang tidak kritikal + +**Papan pemuka dibuka pada port yang salah** + +- Tetapkan `PORT=20128` dan `NEXT_PUBLIC_BASE_URL=http://localhost:20128` + +**Ralat penyegerakan awan** + +- Sahkan `BASE_URL` mata pada contoh larian anda +- Sahkan `CLOUD_URL` mata ke titik akhir awan anda yang dijangkakan +- Pastikan nilai `NEXT_PUBLIC_*` sejajar dengan nilai sebelah pelayan + +**Log masuk pertama tidak berfungsi** + +- Semak `INITIAL_PASSWORD` dalam `.env` +- Jika tidak ditetapkan, kata laluan sandaran ialah `123456` + +**Tiada log permintaan** + +- Tetapkan `ENABLE_REQUEST_LOGS=true` dalam `.env` + +**Ujian sambungan menunjukkan "Tidak sah" untuk pembekal yang serasi dengan OpenAI** + +- Banyak pembekal tidak mendedahkan titik akhir `/models` +- OmniRoute v1.0.6+ termasuk pengesahan sandaran melalui pelengkapan sembang +- Pastikan URL asas mengandungi akhiran `/v1` + +
+ +--- + +## 🛠️ Timbunan Teknologi + +- **Waktu Jalan**: Node.js 18–22 LTS (⚠️ Node.js 24+ **tidak disokong** — `better-sqlite3` binari asli tidak serasi) +- **Bahasa**: TypeScript 5.9 — **100% TypeScript** merentas `src/` dan `open-sse/` (v1.0.6) +- **Kerangka**: Next.js 16 + React 19 + Tailwind CSS 4 +- **Pangkalan Data**: LowDB (JSON) + SQLite (keadaan domain + log proksi) +- **Penstriman**: Acara Dihantar Pelayan (SSE) +- **Auth**: OAuth 2.0 (PKCE) + JWT + Kunci API +- **Ujian**: Pelari ujian Node.js (368+ ujian unit) +- **CI/CD**: GitHub Actions (auto npm publish + Docker Hub pada keluaran) +- **Laman web**: [omniroute.online](https://omniroute.online) +- **Pakej**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute) +- **Docker**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute) +- **Ketahanan**: Pemutus litar, mundur eksponen, kumpulan anti gemuruh, penipuan TLS + +--- + +## 📖 Dokumentasi + +| Dokumen | Penerangan | +| -------------------------------------------- | --------------------------------------------------- | +| [User Guide](docs/USER_GUIDE.md) | Pembekal, kombo, penyepaduan CLI, penggunaan | +| [API Reference](docs/API_REFERENCE.md) | Semua titik akhir dengan contoh | +| [Troubleshooting](docs/TROUBLESHOOTING.md) | Masalah dan penyelesaian biasa | +| [Architecture](docs/ARCHITECTURE.md) | Seni bina sistem dan dalaman | +| [Contributing](CONTRIBUTING.md) | Persediaan pembangunan dan garis panduan | +| [OpenAPI Spec](docs/openapi.yaml) | Spesifikasi OpenAPI 3.0 | +| [Security Policy](SECURITY.md) | Pelaporan kerentanan dan amalan keselamatan | +| [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | Panduan lengkap: Persediaan VM + nginx + Cloudflare | +| [Features Gallery](docs/FEATURES.md) | Lawatan papan pemuka visual dengan tangkapan skrin | + +### 📸 Pratonton Papan Pemuka + +
+Klik untuk melihat tangkapan skrin papan pemuka + +| Halaman | Tangkapan skrin | +| ------------------ | ------------------------------------------------- | +| **Pembekal** | ![Providers](docs/screenshots/01-providers.png) | +| **Kombo** | ![Combos](docs/screenshots/02-combos.png) | +| **Analisis** | ![Analytics](docs/screenshots/03-analytics.png) | +| **Kesihatan** | ![Health](docs/screenshots/04-health.png) | +| **Penterjemah** | ![Translator](docs/screenshots/05-translator.png) | +| **Tetapan** | ![Settings](docs/screenshots/06-settings.png) | +| **Alat CLI** | ![CLI Tools](docs/screenshots/07-cli-tools.png) | +| **Log Penggunaan** | ![Usage](docs/screenshots/08-usage.png) | +| **Titik Akhir** | ![Endpoint](docs/screenshots/09-endpoint.png) | + +
+ +--- + +## 🗺️ Pelan Hala Tuju + +OmniRoute mempunyai **210+ ciri yang dirancang** merentas berbilang fasa pembangunan. Berikut adalah bidang utama: + +| Kategori | Ciri Terancang | Sorotan | +| ------------------------------ | -------------- | ---------------------------------------------------------------------------------------------------- | +| 🧠 **Penghalaan & Perisikan** | 25+ | Penghalaan kependaman terendah, penghalaan berasaskan teg, kuota prapenerbangan, pemilihan akaun P2C | +| 🔒 **Keselamatan & Pematuhan** | 20+ | Pengerasan SSRF, penyelubungan kelayakan, had kadar setiap titik akhir, skop kunci pengurusan | +| 📊 **Kebolehlihatan** | 15+ | Penyepaduan OpenTelemetry, pemantauan kuota masa nyata, penjejakan kos setiap model | +| 🔄 **Integrasi Pembekal** | 20+ | Pendaftaran model dinamik, penyejukan pembekal, Codex berbilang akaun, penghuraian kuota Copilot | +| ⚡ **Prestasi** | 15+ | Lapisan cache dwi, ​​cache gesaan, cache respons, penstriman keepalive, API kelompok | +| 🌐 **Ekosistem** | 10+ | API WebSocket, konfigurasi hot-reload, kedai konfigurasi teragih, mod komersial | + +### 🔜 Akan Datang + +- 🔗 **OpenCode Integration** — Sokongan pembekal asli untuk IDE pengekodan AI OpenCode +- 🔗 **Pengintegrasian TRAE** — Sokongan penuh untuk rangka kerja pembangunan TRAE AI +- 📦 **API Kelompok** — Pemprosesan kelompok tak segerak untuk permintaan pukal +- 🎯 **Penghalaan Berasaskan Teg** — Permintaan laluan berdasarkan teg tersuai dan metadata +- 💰 **Strategi Kos Terendah** — Pilih pembekal yang tersedia paling murah secara automatik + +> 📝 Spesifikasi ciri penuh tersedia dalam [**OMNI_TOKEN_147**](docs/new-features/) (217 spesifikasi terperinci) + +--- + +## 📧 Sokongan + +> 💬 **Sertai komuniti kami!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Dapatkan bantuan, kongsi petua dan kekal kemas kini. + +- **Laman web**: [omniroute.online](https://omniroute.online) +- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) +- **Isu**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) +- **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) +- **Projek Asal**: [9router by decolua](https://github.com/decolua/9router) + +--- + +## 👥 Penyumbang + +[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) + +### Cara Menyumbang + +1. Garpu repositori +2. Buat cawangan ciri anda (`git checkout -b feature/amazing-feature`) +3. Serahkan perubahan anda (`git commit -m 'Add amazing feature'`) +4. Tolak ke cawangan (`git push origin feature/amazing-feature`) +5. Buka Permintaan Tarik + +Lihat [CONTRIBUTING.md](CONTRIBUTING.md) untuk garis panduan terperinci. + +### Mengeluarkan Versi Baharu + +```bash +# Create a release — npm publish happens automatically +gh release create v1.0.6 --title "v1.0.6" --generate-notes +``` + +--- + +## 📊 Sejarah Bintang + + + + + + Star History Chart + + + +--- + +## 🙏 Ucapan terima kasih + +Terima kasih khas kepada **[9router](https://github.com/decolua/9router)** oleh **[decolua](https://github.com/decolua)** — projek asal yang mengilhamkan garpu ini. OmniRoute membina asas yang luar biasa itu dengan ciri tambahan, API berbilang modal dan penulisan semula TypeScript penuh. + +Terima kasih khas kepada **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — pelaksanaan Go asal yang mengilhamkan port JavaScript ini. + +--- + +## 📄 Lesen + +Lesen MIT - lihat [LICENSE](LICENSE) untuk butiran. + +--- + +--- + +## 🇧🇷 OmniRoute — Gateway de IA Gratuito + + + +### Nunca pare de codar. Roteamento intelligente para **models de IA GRATUITOS e de baixo custo** com fallback automático. + +_Seu proksi universal de API — titik akhir, 36+ bukti, masa henti sifar._ + +### 🌐 Internacionalização (i18n) + +Papan pemuka buat OmniRoute menyokong **multipplos idiomas**. Anda boleh membelinya: + +| Idioma | Código | Status | +| --------------------- | ------- | ---------- | +| 🇺🇸 Bahasa Inggeris | `en` | ✅ Lengkap | +| 🇧🇷 Português (Brasil) | `pt-BR` | ✅ Lengkap | + +**Para trocar o idioma:** Clique no seletor de idioma (🇺🇸 EN) no header do dashboard → selecione o idioma desejado. + +**Para adicionar um novo idioma:** + +1. Menangis `src/i18n/messages/{codigo}.json` baseado em `en.json` +2. Tambah código em `src/i18n/config.ts` → `LOCALES` e `LANGUAGES` +3. Reinicie o servidor + +### ⚡ Início Rápido + +```bash +# Instalar via npm +npx omniroute@latest + +# Ou rodar do código-fonte +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +### 🐳 Docker + +```bash +docker run -d --name omniroute -p 20128:20128 diegosouzapw/omniroute:latest +``` + +### 🔑 Funcionalidades Principais + +- **36+ bukti IA** — Claude, GPT, Gemini, Llama, Qwen, DeepSeek, dan lain-lain +- **Roteamento intelligente** — Fallback automático entre provedores +- **Tradução de formato** — OpenAI ↔ Claude ↔ Gemini automaticamente +- **Multi-conta** — Múltiplas contas por provedor com seleção intelligente +- **Cache semântico** — Reduz custos e latência +- **OAuth automático** — Token renovam automaticamente +- **Kombo personalizados** — 6 estratégias de roteamento +- **Papan pemuka siap** — Pemantauan, log, analisis, konfigurasi +- **Alat CLI** — Konfigurasikan Kod Claude, Codex, Kursor, Cline com um clique +- **100% TypeScript** — Código limpo dan tipado + +### 📖 Dokumentasi + +| Dokumentasi | Penerangan | +| ----------------------------------------------- | -------------------------------------------- | +| [Guia do Usuário](docs/USER_GUIDE.md) | Provedores, gabungan, CLI, gunakan | +| [Referência da API](docs/API_REFERENCE.md) | Todos os endpoints com exemplos | +| [Solução de Problemas](docs/TROUBLESHOOTING.md) | Masalah komun dan penyelesaian | +| [Arquitetura](docs/ARCHITECTURE.md) | Arquitetura dan internos do sistema | +| [Contribuição](CONTRIBUTING.md) | Persediaan desenvolvimento dan garis panduan | +| [Deploy em VM](docs/VM_DEPLOYMENT_GUIDE.md) | Panduan lengkap: VM + nginx + Cloudflare | + +### 📧 Sokongan + +> 💬 **Entre for a comunidade!** [Grupo WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Tire dúvidas, compartilhe dicas and fique atualizado. + +- **Laman web**: [omniroute.online](https://omniroute.online) +- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) +- **Isu**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) + +--- + +
+ Dibina dengan ❤️ untuk pembangun yang kod 24/7 +
+ omniroute.online +
diff --git a/README.nl.md b/README.nl.md new file mode 100644 index 0000000000..9c203f6ab0 --- /dev/null +++ b/README.nl.md @@ -0,0 +1,1238 @@ +
+ OmniRoute Dashboard + + # 🚀 OmniRoute — De gratis AI-gateway + +🌐 **[English](#-omniroute--the-free-ai-gateway)** | **[Português (BR)](#-omniroute--gateway-de-ia-gratuito)** + +### Stop nooit met coderen. Slimme routering naar **GRATIS en voordelige AI-modellen** met automatische terugval. + +_Uw universele API-proxy: één eindpunt, meer dan 36 providers, geen downtime._ + +**Chatvoltooiingen • Insluitingen • Afbeelding genereren • Audio • Herrangschikking • 100% TypeScript** + +--- + +### 🤖 Gratis AI-provider voor uw favoriete codeeragenten + +_Verbind elke AI-aangedreven IDE- of CLI-tool via OmniRoute: gratis API-gateway voor onbeperkte codering._ + + + + + + + + + + + + + + + + +
+ + OpenClaw
+ OpenClaw +

+ ⭐ 205K +
+ + NanoBot
+ NanoBot +

+ ⭐ 20.9K +
+ + PicoClaw
+ PicoClaw +

+ ⭐ 14.6K +
+ + ZeroClaw
+ ZeroClaw +

+ ⭐ 9.9K +
+ + IronClaw
+ IronClaw +

+ ⭐ 2.1K +
+ + OpenCode
+ OpenCode +

+ ⭐ 106K +
+ + Codex CLI
+ Codex CLI +

+ ⭐ 60.8K +
+ + Claude Code
+ Claude Code +

+ ⭐ 67.3K +
+ + Gemini CLI
+ Gemini CLI +

+ ⭐ 94.7K +
+ + Kilo Code
+ Kilo Code +

+ ⭐ 15.5K +
+ +📡 Alle agenten maken verbinding via http://localhost:20128/v1 of http://cloud.omniroute.online/v1 — één configuratie, onbeperkte modellen en quota + +--- + +[![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) +[![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) +[![License](https://img.shields.io/github/license/diegosouzapw/OmniRoute)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE) +[![Website](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) +[![WhatsApp](https://img.shields.io/badge/WhatsApp-Community-25D366?logo=whatsapp&logoColor=white)](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) + +
+ +--- + +## 🤔 Waarom OmniRoute? + +**Stop met het verspillen van geld en het bereiken van grenzen:** + +- Het abonnementsquotum verloopt elke maand ongebruikt +- Snelheidslimieten voorkomen dat u halverwege codeert +- Dure API's ($20-50/maand per provider) +- Handmatig schakelen tussen providers + +**OmniRoute lost dit op:** + +- ✅ **Maximaliseer abonnementen** - Houd quota bij, gebruik elk bit voordat u het opnieuw instelt +- ✅ **Automatische fallback** - Abonnement → API-sleutel → Goedkoop → Gratis, geen downtime +- ✅ **Multi-account** - Round-robin tussen accounts per provider +- ✅ **Universeel** - Werkt met Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, elke CLI-tool + +--- + +## 🔄 Hoe het werkt + +``` +┌─────────────┐ +│ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) +│ Tool │ +└──────┬──────┘ + │ http://localhost:20128/v1 + ↓ +┌─────────────────────────────────────────┐ +│ OmniRoute (Smart Router) │ +│ • Format translation (OpenAI ↔ Claude) │ +│ • Quota tracking + Embeddings + Images │ +│ • Auto token refresh │ +└──────┬──────────────────────────────────┘ + │ + ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI + │ ↓ quota exhausted + ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc. + │ ↓ budget limit + ├─→ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M) + │ ↓ budget limit + └─→ [Tier 4: FREE] iFlow, Qwen, Kiro (unlimited) + +Result: Never stop coding, minimal cost +``` + +--- + +## ⚡ Snelle start + +**1. Wereldwijd installeren:** + +```bash +npm install -g omniroute +omniroute +``` + +🎉 Dashboard wordt geopend op `http://localhost:20128` + +| Commando | Beschrijving | +| ----------------------- | ---------------------------------- | +| `omniroute` | Startserver (standaardpoort 20128) | +| `omniroute --port 3000` | Gebruik aangepaste poort | +| `omniroute --no-open` | Browser niet automatisch openen | +| `omniroute --help` | Hulp tonen | + +**2. Sluit een GRATIS provider aan:** + +Dashboard → Providers → **Claude Code** of **Antigravity** verbinden → OAuth-aanmelding → Klaar! + +**3. Gebruik in uw CLI-tool:** + +``` +Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings: + Endpoint: http://localhost:20128/v1 + API Key: [copy from dashboard] + Model: if/kimi-k2-thinking +``` + +**Dat is alles!** Begin met coderen met GRATIS AI-modellen. + +**Alternatief — uitvoeren vanaf bron:** + +```bash +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +--- + +## 🐳 Docker + +OmniRoute is beschikbaar als openbare Docker-image op [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute). + +**Snelle uitvoering:** + +```bash +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**Met omgevingsbestand:** + +```bash +# Copy and edit .env first +cp .env.example .env + +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + --env-file .env \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +** Docker Compose gebruiken:** + +```bash +# Base profile (no CLI tools) +docker compose --profile base up -d + +# CLI profile (Claude Code, Codex, OpenClaw built-in) +docker compose --profile cli up -d +``` + +| Afbeelding | Label | Maat | Beschrijving | +| ------------------------ | -------- | ------ | ------------------------- | +| `diegosouzapw/omniroute` | `latest` | ~250MB | Nieuwste stabiele release | +| `diegosouzapw/omniroute` | `1.0.3` | ~250MB | Huidige versie | + +--- + +## 💰 Prijzen in één oogopslag + +| Niveau | Aanbieder | Kosten | Quotum opnieuw instellen | Beste voor | +| ------------------ | ----------------- | ------------------------- | ------------------------ | -------------------------- | +| **💳 ABONNEMENT** | Claude Code (Pro) | $ 20/maand | 5u + wekelijks | Al geabonneerd | +| | Codex (Plus/Pro) | $ 20-200/maand | 5u + wekelijks | OpenAI-gebruikers | +| | Tweeling CLI | **GRATIS** | 180K/maand + 1K/dag | Iedereen! | +| | GitHub-copiloot | $ 10-19/maand | Maandelijks | GitHub-gebruikers | +| **🔑 API-SLEUTEL** | NVIDIA NIM | **GRATIS** (1000 credits) | Eenmalig | Gratis niveautesten | +| | DeepSeek | Betalen per gebruik | Geen | Beste prijs/kwaliteit | +| | Groq | Gratis niveau + betaald | Tarief beperkt | Ultrasnelle gevolgtrekking | +| | xAI (Grok) | Betalen per gebruik | Geen | Grok-modellen | +| | Mistral | Gratis niveau + betaald | Tarief beperkt | Europese AI | +| | OpenRouter | Betalen per gebruik | Geen | 100+ modellen | +| **💰GOEDKOOP** | GLM-4.7 | $ 0,6/1 miljoen | Dagelijks 10.00 uur | Budgetback-up | +| | MiniMax M2.1 | $ 0,2/1 miljoen | 5-uurs rollen | Goedkoopste optie | +| | Kimi K2 | $ 9/maand plat | 10 miljoen tokens/maand | Voorspelbare kosten | +| **🆓 GRATIS** | iFlow | $0 | Onbeperkt | 8 modellen gratis | +| | Qwen | $0 | Onbeperkt | 3 modellen gratis | +| | Kiro | $0 | Onbeperkt | Claude vrij | + +**💡 Pro-tip:** Begin met Gemini CLI (180K gratis/maand) + iFlow (onbeperkt gratis) combo = $ 0 kosten! + +--- + +## 🎯 Gebruiksscenario's + +### Geval 1: "Ik heb een Claude Pro-abonnement" + +**Probleem:** Quotum verloopt ongebruikt, snelheidslimieten tijdens intensief coderen + +``` +Combo: "maximize-claude" + 1. cc/claude-opus-4-6 (use subscription fully) + 2. glm/glm-4.7 (cheap backup when quota out) + 3. if/kimi-k2-thinking (free emergency fallback) + +Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total +vs. $20 + hitting limits = frustration +``` + +### Geval 2: "Ik wil geen kosten" + +**Probleem:** Ik kan geen abonnementen betalen, heb betrouwbare AI-codering nodig + +``` +Combo: "free-forever" + 1. gc/gemini-3-flash (180K free/month) + 2. if/kimi-k2-thinking (unlimited free) + 3. qw/qwen3-coder-plus (unlimited free) + +Monthly cost: $0 +Quality: Production-ready models +``` + +### Geval 3: "Ik heb 24/7 codering nodig, geen onderbrekingen" + +**Probleem:** Deadlines, downtime is niet mogelijk + +``` +Combo: "always-on" + 1. cc/claude-opus-4-6 (best quality) + 2. cx/gpt-5.2-codex (second subscription) + 3. glm/glm-4.7 (cheap, resets daily) + 4. minimax/MiniMax-M2.1 (cheapest, 5h reset) + 5. if/kimi-k2-thinking (free unlimited) + +Result: 5 layers of fallback = zero downtime +``` + +### Case 4: "Ik wil GRATIS AI in OpenClaw" + +**Probleem:** AI-assistent nodig in berichtenapps, geheel gratis + +``` +Combo: "openclaw-free" + 1. if/glm-4.7 (unlimited free) + 2. if/minimax-m2.1 (unlimited free) + 3. if/kimi-k2-thinking (unlimited free) + +Monthly cost: $0 +Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal... +``` + +--- + +## 💡 Belangrijkste kenmerken + +### 🧠 Kernroutering en intelligentie + +| Kenmerk | Wat het doet | +| ------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| 🎯 **Slimme terugval op 4 niveaus** | Autoroute: Abonnement → API-sleutel → Goedkoop → Gratis | +| 📊 **Realtime quota bijhouden** | Live tokentelling + reset-aftelling per provider | +| 🔄 **Formaatvertaling** | OpenAI ↔ Claude ↔ Gemini ↔ Cursor ↔ Kiro naadloos + responsopschoning | +| 👥 **Ondersteuning voor meerdere accounts** | Meerdere accounts per aanbieder met intelligente selectie | +| 🔄 **Automatische tokenvernieuwing** | OAuth-tokens worden automatisch vernieuwd bij nieuwe poging | +| 🎨 **Aangepaste combo's** | 6 strategieën: eerst vullen, round-robin, p2c, willekeurig, minst gebruikt, kostengeoptimaliseerd | +| 🧩 **Aangepaste modellen** | Voeg elke model-ID toe aan elke provider | +| 🌐 **Wildcard-router** | Stuur `provider/*` patronen dynamisch naar elke provider | +| 🧠 **Denkbudget** | Passthrough-, automatische, aangepaste en adaptieve modi voor redeneermodellen | +| 💬 **Systeempromptinjectie** | Algemene systeemprompt toegepast op alle verzoeken | +| 📄 **Reacties-API** | Volledige OpenAI Responses API (`/v1/responses`) ondersteuning voor Codex | + +### 🎵 Multimodale API's + +| Kenmerk | Wat het doet | +| ------------------------ | --------------------------------------------------------- | +| 🖼️ **Beeldgeneratie** | `/v1/images/generations` — 4 providers, 9+ modellen | +| 📐 **Insluitingen** | `/v1/embeddings` — 6 providers, 9+ modellen | +| 🎤 **Audiotranscriptie** | `/v1/audio/transcriptions` — Whisper-compatibel | +| 🔊 **Tekst-naar-spraak** | `/v1/audio/speech` — Audiosynthese van meerdere providers | +| 🛡️ **Moderaties** | `/v1/moderations` — Veiligheidscontroles van inhoud | +| 🔀 **Herschikking** | `/v1/rerank` — Herschikking van documentrelevantie | + +### 🛡️ Veerkracht en veiligheid + +| Kenmerk | Wat het doet | +| ------------------------------------- | ---------------------------------------------------------------------------------------- | +| 🔌 **Stroomonderbreker** | Automatisch openen/sluiten per provider met configureerbare drempels | +| 🛡️ **Anti-donderende kudde** | Mutex + semafoorsnelheidslimiet voor API-sleutelproviders | +| 🧠 **Semantische cache** | Tweelaagse cache (handtekening + semantisch) verlaagt de kosten en latentie | +| ⚡ **Idempotentie aanvragen** | 5s ontdubbelingsvenster voor dubbele verzoeken | +| 🔒 **TLS-vingerafdrukspoofing** | Omzeil TLS-gebaseerde botdetectie via wreq-js | +| 🌐 **IP-filtering** | Toelatingslijst/blokkeerlijst voor API-toegangscontrole | +| 📊 **Bewerkbare tarieflimieten** | Configureerbare RPM, minimale tussenruimte en maximale gelijktijdigheid op systeemniveau | +| 🛡 **API-eindpuntbescherming** | Auth-gating + providerblokkering voor het `/models` eindpunt | +| 🔒 **Proxyzichtbaarheid** | Kleurgecodeerde badges: 🟢 wereldwijd, 🟡 provider, 🔵 per verbinding met IP-display | +| 🌐 **Proxyconfiguratie op 3 niveaus** | Configureer proxy's op globaal, per provider of per verbindingsniveau | + +### 📊 Waarneembaarheid en analyse + +| Kenmerk | Wat het doet | +| ------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| 📝 **Logboekregistratie aanvragen** | Foutopsporingsmodus met volledige aanvraag-/antwoordlogboeken | +| 💾 **SQLite Proxy-logboeken** | Aanhoudende proxylogboeken overleven het opnieuw opstarten van de server | +| 📊 **Analytics-dashboard** | Recharts-aangedreven: statistische kaarten, modelgebruiksgrafiek, providertabel | +| 📈 **Voortgang bijhouden** | SSE-voortgangsgebeurtenissen aanmelden voor streaming | +| 🧪 **LLM-evaluaties** | Gouden settesten met 4 wedstrijdstrategieën | +| 🔍 **Telemetrie aanvragen** | p50/p95/p99 latentie-aggregatie + X-Request-Id-tracering | +| 📋 **Logdashboard** | Uniforme pagina met 4 tabbladen: aanvraaglogboeken, proxylogboeken, auditlogboeken, console | +| 🖥️ **Consolelogviewer** | Realtime viewer in terminalstijl met niveaufilter, zoeken, automatisch scrollen | +| 📑 **Op bestanden gebaseerde logboekregistratie** | Console-interceptor legt alle uitvoer vast naar JSON-logbestand met rotatie | +| 🏥 **Gezondheidsdashboard** | Systeemuptime, status van stroomonderbrekers, uitsluitingen, cachestatistieken | +| 💰 **Kosten bijhouden** | Budgetbeheer + prijsconfiguratie per model | + +### ☁️ Implementatie en synchronisatie + +| Kenmerk | Wat het doet | +| ----------------------------- | ------------------------------------------------------------------------------- | +| 💾 **Cloudsynchronisatie** | Synchroniseer de configuratie op verschillende apparaten via Cloudflare Workers | +| 🌐 **Overal implementeren** | Localhost, VPS, Docker, Cloudflare Workers | +| 🔑 **API-sleutelbeheer** | Genereer, roteer en bereik API-sleutels per provider | +| 🧙 **Onboarding-wizard** | Begeleide installatie in 4 stappen voor nieuwe gebruikers | +| 🔧 **CLI Tools-dashboard** | Configureer met één klik Claude, Codex, Cline, OpenClaw, Kilo, Antigravity | +| 🔄 **DB-back-ups** | Automatische back-up, herstel, export en import voor alle instellingen | +| 🌐 **Internationalisering** | Volledige i18n met next-intl — Engels + Portugees (Brazilië) ondersteuning | +| 🌍 **Taalkiezer** | Wereldbolpictogram in koptekst voor realtime taalwisseling (🇺🇸/🇧🇷) | +| 📂 **Aangepaste gegevensmap** | `DATA_DIR` env var om standaard `~/.omniroute` opslagpad te overschrijven | + +
+📖 Functiedetails + +### 🎯 Slimme terugval op 4 niveaus + +Creëer combo's met automatische terugval: + +``` +Combo: "my-coding-stack" + 1. cc/claude-opus-4-6 (your subscription) + 2. nvidia/llama-3.3-70b (free NVIDIA API) + 3. glm/glm-4.7 (cheap backup, $0.6/1M) + 4. if/kimi-k2-thinking (free fallback) + +→ Auto switches when quota runs out or errors occur +``` + +### 📊 Realtime quota bijhouden + +- Tokenverbruik per aanbieder +- Aftellen resetten (5 uur, dagelijks, wekelijks) +- Kostenraming voor betaalde niveaus +- Maandelijkse uitgavenrapporten + +### 🔄 Formaatvertaling + +Naadloze vertaling tussen formaten: + +- **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **OpenAI-reacties** +- Uw CLI-tool verzendt OpenAI-formaat → OmniRoute vertaalt → Provider ontvangt native formaat +- Werkt met elke tool die aangepaste OpenAI-eindpunten ondersteunt +- **Reactieopschoning** — Verwijdert niet-standaardvelden voor strikte OpenAI SDK-compatibiliteit +- **Rolnormalisatie** — `developer` → `system` voor niet-OpenAI; `system` → `user` voor GLM/ERNIE-modellen +- **Extractie van Think-tags** — `` blokken → `reasoning_content` voor denkmodellen +- **Gestructureerde uitvoer** — `json_schema` → Gemini's `responseMimeType`/`responseSchema` + +### 👥 Ondersteuning voor meerdere accounts + +- Voeg meerdere accounts per aanbieder toe +- Automatische round-robin of op prioriteit gebaseerde routering +- Terugval naar het volgende account wanneer één het quotum bereikt + +### 🔄 Automatische tokenvernieuwing + +- OAuth-tokens worden automatisch vernieuwd voordat ze verlopen +- Geen handmatige herauthenticatie nodig +- Naadloze ervaring bij alle providers + +### 🎨 Aangepaste combo's + +- Creëer onbeperkte modelcombinaties +- 6 strategieën: eerst vullen, round-robin, macht van twee keuzes, willekeurig, minst gebruikt, kostengeoptimaliseerd +- Deel combo's op verschillende apparaten met Cloud Sync + +### 🏥 Gezondheidsdashboard + +- Systeemstatus (uptime, versie, geheugengebruik) +- Status van de stroomonderbrekers per provider (Gesloten/Open/Half-Open) +- Tarieflimietstatus en actieve uitsluitingen +- Kenmerkende cachestatistieken +- Latency-telemetrie (p50/p95/p99) + promptcache +- Reset de gezondheidsstatus met één klik + +### 🔧 Vertalerspeeltuin + +OmniRoute bevat een krachtige ingebouwde Translator Playground met **4 modi** voor het debuggen, testen en monitoren van API-vertalingen: + +| Modus | Beschrijving | +| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **💻 Speeltuin** | Directe formaatvertaling: plak de hoofdtekst van een API-verzoek en zie direct hoe OmniRoute deze vertaalt tussen providerformaten (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). Bevat voorbeeldsjablonen en automatische detectie van formaten. | +| **💬 Chattester** | Stuur echte chatverzoeken via OmniRoute en bekijk het volledige overzicht: uw invoer, het vertaalde verzoek, het antwoord van de provider en het vertaalde antwoord terug. Van onschatbare waarde voor het valideren van combo-routering. | +| **🧪 Proefbank** | Batchtestmodus: definieer meerdere testgevallen met verschillende inputs en verwachte outputs, voer ze allemaal tegelijk uit en vergelijk de resultaten van verschillende providers en modellen. | +| **📱Livemonitor** | Real-time monitoring van verzoeken: bekijk binnenkomende verzoeken terwijl ze door OmniRoute stromen, bekijk de formaatvertalingen live en identificeer problemen direct. | + +**Toegang:** Dashboard → Vertaler (zijbalk) + +### 💾Cloudsynchronisatie + +- Synchroniseer providers, combo's en instellingen op verschillende apparaten +- Automatische achtergrondsynchronisatie +- Veilige gecodeerde opslag + +
+ +--- + +## 📖 Installatiehandleiding + +
+💳 Abonnementaanbieders + +### Claude-code (Pro/Max) + +```bash +Dashboard → Providers → Connect Claude Code +→ OAuth login → Auto token refresh +→ 5-hour + weekly quota tracking + +Models: + cc/claude-opus-4-6 + cc/claude-sonnet-4-5-20250929 + cc/claude-haiku-4-5-20251001 +``` + +**Pro-tip:** Gebruik Opus voor complexe taken, Sonnet voor snelheid. OmniRoute houdt quota bij per model! + +### OpenAI-codex (Plus/Pro) + +```bash +Dashboard → Providers → Connect Codex +→ OAuth login (port 1455) +→ 5-hour + weekly reset + +Models: + cx/gpt-5.2-codex + cx/gpt-5.1-codex-max +``` + +### Gemini CLI (GRATIS 180K/maand!) + +```bash +Dashboard → Providers → Connect Gemini CLI +→ Google OAuth +→ 180K completions/month + 1K/day + +Models: + gc/gemini-3-flash-preview + gc/gemini-2.5-pro +``` + +**Beste waarde:** Enorm gratis niveau! Gebruik dit vóór betaalde niveaus. + +### GitHub-copiloot + +```bash +Dashboard → Providers → Connect GitHub +→ OAuth via GitHub +→ Monthly reset (1st of month) + +Models: + gh/gpt-5 + gh/claude-4.5-sonnet + gh/gemini-3-pro +``` + +
+ +
+🔑 API-sleutelproviders + +### NVIDIA NIM (GRATIS 1000 credits!) + +1. Aanmelden: [build.nvidia.com](https://build.nvidia.com) +2. Ontvang een gratis API-sleutel (inclusief 1000 inferentiecredits) +3. Dashboard → Provider toevoegen → NVIDIA NIM: + - API-sleutel: `nvapi-your-key` + +**Modellen:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct` en nog meer dan 50 + +**Pro-tip:** OpenAI-compatibele API — werkt naadloos samen met de formaatvertaling van OmniRoute! + +### Diepzoeken + +1. Aanmelden: [platform.deepseek.com](https://platform.deepseek.com) +2. Haal de API-sleutel op +3. Dashboard → Provider toevoegen → DeepSeek + +**Modellen:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder` + +### Groq (gratis niveau beschikbaar!) + +1. Aanmelden: [console.groq.com](https://console.groq.com) +2. Ontvang een API-sleutel (inclusief gratis laag) +3. Dashboard → Provider toevoegen → Groq + +**Modellen:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b` + +**Pro-tip:** Ultrasnelle gevolgtrekking — het beste voor realtime coderen! + +### OpenRouter (meer dan 100 modellen) + +1. Aanmelden: [openrouter.ai](https://openrouter.ai) +2. Haal de API-sleutel op +3. Dashboard → Provider toevoegen → OpenRouter + +**Modellen:** Krijg toegang tot meer dan 100 modellen van alle grote providers via één API-sleutel. + +
+ +
+💰 Goedkope providers (back-up) + +### GLM-4.7 (dagelijkse reset, $0,6/1 miljoen) + +1. Aanmelden: [Zhipu AI](https://open.bigmodel.cn/) +2. Haal de API-sleutel op uit het Coderingsplan +3. Dashboard → API-sleutel toevoegen: + - Aanbieder: `glm` + - API-sleutel: `your-key` + +**Gebruik:** `glm/glm-4.7` + +**Pro-tip:** Coderingsplan biedt 3× quotum tegen 1/7 kosten! Dagelijks resetten om 10:00 uur. + +### MiniMax M2.1 (5 uur resetten, $0,20/1M) + +1. Aanmelden: [MiniMax](https://www.minimax.io/) +2. Haal de API-sleutel op +3. Dashboard → API-sleutel toevoegen + +**Gebruik:** `minimax/MiniMax-M2.1` + +**Pro-tip:** Goedkoopste optie voor lange context (1 miljoen tokens)! + +### Kimi K2 ($9/maand vast) + +1. Abonneer je: [Moonshot AI](https://platform.moonshot.ai/) +2. Haal de API-sleutel op +3. Dashboard → API-sleutel toevoegen + +**Gebruik:** `kimi/kimi-latest` + +**Pro-tip:** Vaste $ 9/maand voor 10 miljoen tokens = $ 0,90/1 miljoen effectieve kosten! + +
+ +
+🆓 GRATIS providers (noodback-up) + +### iFlow (8 GRATIS modellen) + +```bash +Dashboard → Connect iFlow +→ iFlow OAuth login +→ Unlimited usage + +Models: + if/kimi-k2-thinking + if/qwen3-coder-plus + if/glm-4.7 + if/minimax-m2 + if/deepseek-r1 +``` + +### Qwen (3 GRATIS modellen) + +```bash +Dashboard → Connect Qwen +→ Device code authorization +→ Unlimited usage + +Models: + qw/qwen3-coder-plus + qw/qwen3-coder-flash +``` + +### Kiro (Claude GRATIS) + +```bash +Dashboard → Connect Kiro +→ AWS Builder ID or Google/GitHub +→ Unlimited usage + +Models: + kr/claude-sonnet-4.5 + kr/claude-haiku-4.5 +``` + +
+ +
+🎨 Combo's maken + +### Voorbeeld 1: Maximaliseer abonnement → Goedkope back-up + +``` +Dashboard → Combos → Create New + +Name: premium-coding +Models: + 1. cc/claude-opus-4-6 (Subscription primary) + 2. glm/glm-4.7 (Cheap backup, $0.6/1M) + 3. minimax/MiniMax-M2.1 (Cheapest fallback, $0.20/1M) + +Use in CLI: premium-coding +``` + +### Voorbeeld 2: Alleen gratis (geen kosten) + +``` +Name: free-combo +Models: + 1. gc/gemini-3-flash-preview (180K free/month) + 2. if/kimi-k2-thinking (unlimited) + 3. qw/qwen3-coder-plus (unlimited) + +Cost: $0 forever! +``` + +
+ +
+🔧 CLI-integratie + +### Cursor-IDE + +``` +Settings → Models → Advanced: + OpenAI API Base URL: http://localhost:20128/v1 + OpenAI API Key: [from OmniRoute dashboard] + Model: cc/claude-opus-4-6 +``` + +### Claude-code + +Gebruik de pagina **CLI Tools** in het dashboard voor configuratie met één klik, of bewerk `~/.claude/settings.json` handmatig. + +### Codex-CLI + +```bash +export OPENAI_BASE_URL="http://localhost:20128" +export OPENAI_API_KEY="your-omniroute-api-key" + +codex "your prompt" +``` + +### Open Klauw + +**Optie 1 — Dashboard (aanbevolen):** + +``` +Dashboard → CLI Tools → OpenClaw → Select Model → Apply +``` + +**Optie 2 — Handmatig:** Bewerk `~/.openclaw/openclaw.json`: + +```json +{ + "models": { + "providers": { + "omniroute": { + "baseUrl": "http://127.0.0.1:20128/v1", + "apiKey": "sk_omniroute", + "api": "openai-completions" + } + } + } +} +``` + +> **Opmerking:** OpenClaw werkt alleen met lokale OmniRoute. Gebruik `127.0.0.1` in plaats van `localhost` om IPv6-resolutieproblemen te voorkomen. + +### Cline / Doorgaan / RooCode + +``` +Settings → API Configuration: + Provider: OpenAI Compatible + Base URL: http://localhost:20128/v1 + API Key: [from OmniRoute dashboard] + Model: if/kimi-k2-thinking +``` + +
+ +--- + +## 📊 Beschikbare modellen + +
+Bekijk alle beschikbare modellen + +**Claude-code (`cc/`)** - Pro/Max: + +- `cc/claude-opus-4-6` +- `cc/claude-sonnet-4-5-20250929` +- `cc/claude-haiku-4-5-20251001` + +**Codex (`cx/`)** - Plus/Pro: + +- `cx/gpt-5.2-codex` +- `cx/gpt-5.1-codex-max` + +**Gemini CLI (`gc/`)** - GRATIS: + +- `gc/gemini-3-flash-preview` +- `gc/gemini-2.5-pro` + +**GitHub-copiloot (`gh/`)**: + +- `gh/gpt-5` +- `gh/claude-4.5-sonnet` + +**NVIDIA NIM (`nvidia/`)** - GRATIS tegoeden: + +- `nvidia/llama-3.3-70b-instruct` +- `nvidia/mistral-7b-instruct` +- 50+ meer modellen op [build.nvidia.com](https://build.nvidia.com) + +**GLM (`glm/`)** - $ 0,6/1 miljoen: + +- `glm/glm-4.7` + +**MiniMax (`minimax/`)** - $ 0,2/1 miljoen: + +- `minimax/MiniMax-M2.1` + +**iFlow (`if/`)** - GRATIS: + +- `if/kimi-k2-thinking` +- `if/qwen3-coder-plus` +- `if/deepseek-r1` +- `if/glm-4.7` +- `if/minimax-m2` + +**Qwen (`qw/`)** - GRATIS: + +- `qw/qwen3-coder-plus` +- `qw/qwen3-coder-flash` + +**Kiro (`kr/`)** - GRATIS: + +- `kr/claude-sonnet-4.5` +- `kr/claude-haiku-4.5` + +**OpenRouter (`or/`)** - 100+ modellen: + +- `or/anthropic/claude-4-sonnet` +- `or/google/gemini-2.5-pro` +- Elk model vanaf [openrouter.ai/models](https://openrouter.ai/models) + +
+ +--- + +## 🧪 Evaluaties (Evals) + +OmniRoute bevat een ingebouwd evaluatieframework om de LLM-responskwaliteit te testen aan de hand van een gouden set. U kunt deze openen via **Analytics → Evaluaties** in het dashboard. + +### Ingebouwde gouden set + +De vooraf geladen "OmniRoute Golden Set" bevat 10 testcases die betrekking hebben op: + +- Groeten, wiskunde, aardrijkskunde, codegeneratie +- Naleving van JSON-formaat, vertaling, prijsverlaging +- Veiligheidsweigering (schadelijke inhoud), tellen, booleaanse logica + +### Evaluatiestrategieën + +| Strategie | Beschrijving | Voorbeeld | +| ---------- | --------------------------------------------------------------------- | -------------------------------- | +| `exact` | De uitvoer moet exact overeenkomen met | `"4"` | +| `contains` | De uitvoer moet een subtekenreeks bevatten (niet hoofdlettergevoelig) | `"Paris"` | +| `regex` | Uitvoer moet overeenkomen met regex-patroon | `"1.*2.*3"` | +| `custom` | Aangepaste JS-functie retourneert waar/onwaar | `(output) => output.length > 10` | + +--- + +## 🔐 OAuth em Servidor Remoto (OAuth-installatie op afstand) + + + +> **⚠️ BELANGRIJK voor gebruik met OmniRoute op VPS/Docker/server op afstand** + +### Waarom werkt OAuth met Antigravity / Gemini CLI op externe servers? + +Deze bewijzen **Antigravity** en **Gemini CLI** gebruiken **Google OAuth 2.0** voor authenticatie. O Google vraagt ​​dat `redirect_uri` geen OAuth-stroom gebruikt **exatamente** een van de URI's vóór de kadaster zonder toepassing van Google Cloud Console. + +Omdat OAuth geen OmniRoute heeft geregistreerd, is dit **apenas para `localhost`**. Wanneer u OmniRoute op een externe server opent (bijvoorbeeld: `https://omniroute.meuservidor.com`), of Google een authenticatie aanvraagt: + +``` +Error 400: redirect_uri_mismatch +``` + +### Oplossing: Configureer uw eigen OAuth-credenciais + +U kunt precies zien hoe **OAuth 2.0 Client ID** geen Google Cloud Console heeft met een URI van zijn server. + +#### Passo een passo + +**1. Toegang tot Google Cloud Console** + +Abra: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials) + +**2. Nieuwe OAuth 2.0 client-ID** + +- Klik op **"+ Credentials aanmaken"** → **"OAuth-client-ID"** +- Applicatietip: **"Webapplicatie"** +- Nome: escolha qualquer nome (bijvoorbeeld: `OmniRoute Remote`) + +**3. Adicione als geautoriseerde omleidings-URI's** + +Geen campagne **"Geautoriseerde omleidings-URI's"**, aanbevolen: + +``` +https://seu-servidor.com/callback +``` + +> Vervang `seu-servidor.com` door de domicilie of het IP-adres van uw server (inclusief een noodzakelijke poort, bijvoorbeeld: `http://45.33.32.156:20128/callback`). + +**4. Bewaar en kopieer als credenciais** + +U kunt ook op Google klikken op **Client-ID** en **Clientgeheim**. + +**5. Configureer als variáveis de ambiente** + +Geen `.env` (of de verschillende omgevingen van Docker): + +```bash +# Para Antigravity: +ANTIGRAVITY_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret + +# Para Gemini CLI: +GEMINI_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +``` + +**6. Reinicie van OmniRoute** + +```bash +# Se usando npm: +npm run dev + +# Se usando Docker: +docker restart omniroute +``` + +**7. Nieuwe verbinding** + +Dashboard → Providers → Antigravity (ou Gemini CLI) → OAuth + +Nadat Google de juiste verwijzing naar `https://seu-servidor.com/callback` heeft gemaakt, is deze autenticaal functioneel geworden. + +--- + +### Tijdelijke tijdelijke oplossing (sem credenciais próprias configureren) + +Als u geen geloofwaardige geloofwaardigheid meer heeft, is het mogelijk om de stroom **handleiding van de URL** te gebruiken: + +1. OmniRoute gebruikt een autorisatie-URL van Google +2. Als u de autorisatie heeft gegeven, zal Google de doorverwijzing naar `localhost` uitvoeren (die geen externe service biedt) +3. **Kopieer een volledige URL** door de browser van uw browser (het bericht dat de pagina niet verder gaat) +4. Cole essa URL is niet beschikbaar op de verbindingswijze van OmniRoute +5. Klik op **"Verbinden"** + +> Deze tijdelijke oplossing werkt door de autorisatiecode van de URL en is onafhankelijk van het omleiden naar uw autorisatie of niet. + +--- + +## 🐛 Problemen oplossen + +
+Klik om de probleemoplossingsgids uit te vouwen + +**"Taalmodel heeft geen berichten verstrekt"** + +- Providerquotum opgebruikt → Controleer dashboardquotumtracker +- Oplossing: gebruik combo-fallback of schakel over naar een goedkoper niveau + +**Snelheidslimiet** + +- Abonnementquotum op → Terugval op GLM/MiniMax +- Combinatie toevoegen: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking` + +**OAuth-token verlopen** + +- Automatisch vernieuwd door OmniRoute +- Als de problemen aanhouden: Dashboard → Provider → Opnieuw verbinding maken + +**Hoge kosten** + +- Controleer gebruiksstatistieken in Dashboard → Kosten +- Schakel het primaire model over naar GLM/MiniMax +- Gebruik de gratis laag (Gemini CLI, iFlow) voor niet-kritieke taken + +**Dashboard opent op verkeerde poort** + +- Stel `PORT=20128` en `NEXT_PUBLIC_BASE_URL=http://localhost:20128` in + +**Cloudsynchronisatiefouten** + +- Controleer of `BASE_URL` verwijst naar uw actieve exemplaar +- Controleer of `CLOUD_URL` verwijst naar uw verwachte cloudeindpunt +- Houd `NEXT_PUBLIC_*` waarden afgestemd op de waarden op de server + +**Eerste login werkt niet** + +- Controleer `INITIAL_PASSWORD` in `.env` +- Indien niet ingesteld, is het reservewachtwoord `123456` + +**Geen verzoeklogboeken** + +- Stel `ENABLE_REQUEST_LOGS=true` in in `.env` + +**Verbindingstest toont "Ongeldig" voor OpenAI-compatibele providers** + +- Veel providers stellen geen `/models` eindpunt beschikbaar +- OmniRoute v1.0.6+ omvat fallback-validatie via chat-voltooiingen +- Zorg ervoor dat de basis-URL het achtervoegsel `/v1` bevat + +
+ +--- + +## 🛠️Technische stapel + +- **Runtime**: Node.js 18–22 LTS (⚠️ Node.js 24+ wordt **niet ondersteund** — `better-sqlite3` native binaire bestanden zijn incompatibel) +- **Taal**: TypeScript 5.9 — **100% TypeScript** voor `src/` en `open-sse/` (v1.0.6) +- **Framework**: Next.js 16 + React 19 + Tailwind CSS 4 +- **Database**: LowDB (JSON) + SQLite (domeinstatus + proxylogboeken) +- **Streaming**: door de server verzonden gebeurtenissen (SSE) +- **Auth**: OAuth 2.0 (PKCE) + JWT + API-sleutels +- **Testen**: Node.js-testloper (368+ unit-tests) +- **CI/CD**: GitHub-acties (automatische npm-publicatie + Docker Hub bij release) +- **Website**: [omniroute.online](https://omniroute.online) +- **Pakket**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute) +- **Docker**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute) +- **Veerkracht**: stroomonderbreker, exponentieel uitstel, anti-donderkudde, TLS-spoofing + +--- + +## 📖 Documentatie + +| Document | Beschrijving | +| -------------------------------------------- | --------------------------------------------------- | +| [User Guide](docs/USER_GUIDE.md) | Providers, combo's, CLI-integratie, implementatie | +| [API Reference](docs/API_REFERENCE.md) | Alle eindpunten met voorbeelden | +| [Troubleshooting](docs/TROUBLESHOOTING.md) | Veelvoorkomende problemen en oplossingen | +| [Architecture](docs/ARCHITECTURE.md) | Systeemarchitectuur en internals | +| [Contributing](CONTRIBUTING.md) | Ontwikkelingsopstelling en richtlijnen | +| [OpenAPI Spec](docs/openapi.yaml) | OpenAPI 3.0-specificatie | +| [Security Policy](SECURITY.md) | Kwetsbaarheidsrapportage en beveiligingspraktijken | +| [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | Volledige gids: VM + nginx + Cloudflare-installatie | +| [Features Gallery](docs/FEATURES.md) | Visuele dashboardrondleiding met screenshots | + +### 📸 Dashboardvoorbeeld + +
+Klik om dashboardscreenshots te bekijken + +| Pagina | Schermafbeelding | +| --------------------- | ------------------------------------------------- | +| **Aanbieders** | ![Providers](docs/screenshots/01-providers.png) | +| **Combo's** | ![Combos](docs/screenshots/02-combos.png) | +| **Analytics** | ![Analytics](docs/screenshots/03-analytics.png) | +| **Gezondheid** | ![Health](docs/screenshots/04-health.png) | +| **Vertaler** | ![Translator](docs/screenshots/05-translator.png) | +| **Instellingen** | ![Settings](docs/screenshots/06-settings.png) | +| **CLI-hulpmiddelen** | ![CLI Tools](docs/screenshots/07-cli-tools.png) | +| **Gebruikslogboeken** | ![Usage](docs/screenshots/08-usage.png) | +| **Eindpunt** | ![Endpoint](docs/screenshots/09-endpoint.png) | + +
+ +--- + +## 🗺️ Routekaart + +OmniRoute heeft **210+ functies gepland** over meerdere ontwikkelingsfasen. Dit zijn de belangrijkste gebieden: + +| Categorie | Geplande functies | Hoogtepunten | +| ------------------------------- | ----------------- | --------------------------------------------------------------------------------------------------------- | +| 🧠 **Routing en intelligentie** | 25+ | Routering met de laagste latentie, op tags gebaseerde routering, quota-preflight, P2C-accountselectie | +| 🔒 **Beveiliging en naleving** | 20+ | SSRF-verharding, cloaking van inloggegevens, snelheidslimiet per eindpunt, scoping van beheersleutels | +| 📊 **Waarneembaarheid** | 15+ | OpenTelemetry-integratie, realtime quotabewaking, kostenregistratie per model | +| 🔄 **Provider-integraties** | 20+ | Dynamisch modelregister, cooldowns van providers, Codex met meerdere accounts, parseren van Copilot-quota | +| ⚡ **Prestaties** | 15+ | Dubbele cachelaag, promptcache, responscache, streaming keepalive, batch-API | +| 🌐 **Ecosysteem** | 10+ | WebSocket API, configuratie hot-reload, gedistribueerde configuratieopslag, commerciële modus | + +### 🔜 Binnenkort beschikbaar + +- 🔗 **OpenCode-integratie** — Native providerondersteuning voor de OpenCode AI-coderings-IDE +- 🔗 **TRAE-integratie** — Volledige ondersteuning voor het TRAE AI-ontwikkelingsframework +- 📦 **Batch API** — Asynchrone batchverwerking voor bulkaanvragen +- 🎯 **Op tags gebaseerde routering** — Routeer verzoeken op basis van aangepaste tags en metagegevens +- 💰 **Laagste kostenstrategie** — Selecteer automatisch de goedkoopste beschikbare provider + +> 📝 Volledige functiespecificaties beschikbaar in [**OMNI_TOKEN_147**](docs/new-features/) (217 gedetailleerde specificaties) + +--- + +## 📧 Ondersteuning + +> 💬 **Word lid van onze community!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Krijg hulp, deel tips en blijf op de hoogte. + +- **Website**: [omniroute.online](https://omniroute.online) +- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) +- **Problemen**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) +- **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) +- **Origineel project**: [9router by decolua](https://github.com/decolua/9router) + +--- + +## 👥 Bijdragers + +[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) + +### Hoe u kunt bijdragen + +1. Fork de repository +2. Maak uw feature branch (`git checkout -b feature/amazing-feature`) +3. Leg uw wijzigingen vast (`git commit -m 'Add amazing feature'`) +4. Duw naar het filiaal (`git push origin feature/amazing-feature`) +5. Open een Pull Request + +Zie [CONTRIBUTING.md](CONTRIBUTING.md) voor gedetailleerde richtlijnen. + +### Er wordt een nieuwe versie uitgebracht + +```bash +# Create a release — npm publish happens automatically +gh release create v1.0.6 --title "v1.0.6" --generate-notes +``` + +--- + +## 📊 Sterrengeschiedenis + + + + + + Star History Chart + + + +--- + +## 🙏 Dankbetuigingen + +Speciale dank aan **[9router](https://github.com/decolua/9router)** door **[decolua](https://github.com/decolua)** — het originele project dat deze vork inspireerde. OmniRoute bouwt voort op die ongelooflijke basis met extra functies, multimodale API's en een volledige TypeScript-herschrijving. + +Speciale dank aan **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — de originele Go-implementatie die deze JavaScript-port inspireerde. + +--- + +## 📄 Licentie + +MIT-licentie - zie [LICENSE](LICENSE) voor details. + +--- + +--- + +## 🇧🇷 OmniRoute — Gateway de IA Gratis + + + +### Nunca de coder. Intelligente rotatie voor **gratis IA-modellen en klantgerichte** met automatische terugval. + +_Seu proxy universal de API - een eindpunt, 36+ tests, geen downtime._ + +### 🌐 Internacionalização (i18n) + +Het dashboard ondersteunt **meerdere uitdrukkingen** door OmniRoute. Uiteindelijk wordt dit afgewezen: + +| Idioom | Código | Staat | +| ----------------------- | ------- | ----------- | +| 🇺🇸 Engels | `en` | ✅ Compleet | +| 🇧🇷 Português (Brazilië) | `pt-BR` | ✅ Compleet | + +**Para trocar o idioma:** Clique no seletor de idioma (🇺🇸 EN) no header do dashboard → selectie van idioom desejado. + +**Voor een nieuw idioom:** + +1. Roep `src/i18n/messages/{codigo}.json` op `en.json` +2. Voeg een code toe aan `src/i18n/config.ts` → `LOCALES` en `LANGUAGES` +3. Reinicie of dienstverlener + +### ⚡ Início Rápido + +```bash +# Instalar via npm +npx omniroute@latest + +# Ou rodar do código-fonte +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +### 🐳 Docker + +```bash +docker run -d --name omniroute -p 20128:20128 diegosouzapw/omniroute:latest +``` + +### 🔑Funcionalidades Principais + +- **36+ IA-tests** — Claude, GPT, Gemini, Llama, Qwen, DeepSeek, en meer +- **Roteamento inteligente** — Automatische terugval tussen de bewijzen +- **Formaattraditie** — OpenAI ↔ Claude ↔ Gemini automatisch +- **Multi-conta** — Meerdere contass door bewijs of met intelligente selectie +- **Semântico cache** — Verlaag de kosten en letaliteit +- **OAuth automático** — Tokens worden automatisch vernieuwd +- **Persoonlijke combinaties** — 6 roteamento-indelingen +- **Dashboard compleet** — Monitoren, logs, analyses, configuraties +- **CLI Tools** — Configureer Claude Code, Codex, Cursor, Cline als een kliek +- **100% TypeScript** — Code is limpo en tipado + +### 📖 Documentação + +| Document | Beschrijving | +| ----------------------------------------------- | ------------------------------------------- | +| [Guia do Usuário](docs/USER_GUIDE.md) | Provedores, combo's, CLI, implementeren | +| [Referência da API](docs/API_REFERENCE.md) | Alle eindpunten met voorbeelden | +| [Solução de Problemas](docs/TROUBLESHOOTING.md) | Gemeenschappelijke problemen en oplossingen | +| [Arquitetura](docs/ARCHITECTURE.md) | Arquitetura en internos do system | +| [Contribuição](CONTRIBUTING.md) | Opstelling van de ontwikkelingsrichtlijnen | +| [Deploy em VM](docs/VM_DEPLOYMENT_GUIDE.md) | Volledige versie: VM + nginx + Cloudflare | + +### 📧 Steun + +> 💬 **Entre para a comunidade!** [Grupo WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Banden, vergelijkingen en vijf gebeurtenissen. + +- **Website**: [omniroute.online](https://omniroute.online) +- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) +- **Problemen**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) + +--- + +
+ Gebouwd met ❤️ voor ontwikkelaars die 24/7 coderen +
+ omniroute.online +
diff --git a/README.no.md b/README.no.md new file mode 100644 index 0000000000..a82a9f16d6 --- /dev/null +++ b/README.no.md @@ -0,0 +1,1238 @@ +
+ OmniRoute Dashboard + + # 🚀 OmniRoute — Den gratis AI-gatewayen + +🌐 **[English](#-omniroute--the-free-ai-gateway)** | **[Português (BR)](#-omniroute--gateway-de-ia-gratuito)** + +### Slutt aldri å kode. Smart ruting til **GRATIS og rimelige AI-modeller** med automatisk fallback. + +_Din universelle API-proxy – ett endepunkt, 36+ leverandører, null nedetid._ + +**Chatfullføringer • Innebygginger • Bildegenerering • Lyd • Omrangering • 100 % TypeScript** + +--- + +### 🤖 Gratis AI-leverandør for dine favorittkodeagenter + +_Koble til ethvert AI-drevet IDE- eller CLI-verktøy gjennom OmniRoute – gratis API-gateway for ubegrenset koding._ + + + + + + + + + + + + + + + + +
+ + OpenClaw
+ OpenClaw +

+ ⭐ 205K +
+ + NanoBot
+ NanoBot +

+ ⭐ 20.9K +
+ + PicoClaw
+ PicoClaw +

+ ⭐ 14.6K +
+ + ZeroClaw
+ ZeroClaw +

+ ⭐ 9.9K +
+ + IronClaw
+ IronClaw +

+ ⭐ 2.1K +
+ + OpenCode
+ OpenCode +

+ ⭐ 106K +
+ + Codex CLI
+ Codex CLI +

+ ⭐ 60.8K +
+ + Claude Code
+ Claude Code +

+ ⭐ 67.3K +
+ + Gemini CLI
+ Gemini CLI +

+ ⭐ 94.7K +
+ + Kilo Code
+ Kilo Code +

+ ⭐ 15.5K +
+ +📡 Alle agenter kobler til via http://localhost:20128/v1 eller http://cloud.omniroute.online/v1, —limited one models_245 kvote + +--- + +[![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) +[![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) +[![License](https://img.shields.io/github/license/diegosouzapw/OmniRoute)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE) +[![Website](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) +[![WhatsApp](https://img.shields.io/badge/WhatsApp-Community-25D366?logo=whatsapp&logoColor=white)](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) + +
+ +--- + +## 🤔 Hvorfor OmniRoute? + +**Slutt å kaste bort penger og nå grensene:** + +- Abonnementskvoten utløper ubrukt hver måned +- Takstgrenser stopper deg med midtkoding +- Dyre APIer ($20–50/måned per leverandør) +- Manuell veksling mellom tilbydere + +**OmniRoute løser dette:** + +- ✅ **Maksimer abonnementer** - Spor kvote, bruk hver bit før tilbakestilling +- ✅ **Automatisk fallback** - Abonnement → API-nøkkel → Billig → Gratis, null nedetid +- ✅ **Multi-konto** - Round-robin mellom kontoer per leverandør +- ✅ **Universal** - Fungerer med Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, hvilket som helst CLI-verktøy + +--- + +## 🔄 Hvordan det fungerer + +``` +┌─────────────┐ +│ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) +│ Tool │ +└──────┬──────┘ + │ http://localhost:20128/v1 + ↓ +┌─────────────────────────────────────────┐ +│ OmniRoute (Smart Router) │ +│ • Format translation (OpenAI ↔ Claude) │ +│ • Quota tracking + Embeddings + Images │ +│ • Auto token refresh │ +└──────┬──────────────────────────────────┘ + │ + ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI + │ ↓ quota exhausted + ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc. + │ ↓ budget limit + ├─→ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M) + │ ↓ budget limit + └─→ [Tier 4: FREE] iFlow, Qwen, Kiro (unlimited) + +Result: Never stop coding, minimal cost +``` + +--- + +## ⚡ Hurtigstart + +**1. Installer globalt:** + +```bash +npm install -g omniroute +omniroute +``` + +🎉 Dashboard åpner kl. `http://localhost:20128` + +| Kommando | Beskrivelse | +| ----------------------- | ---------------------------------- | +| `omniroute` | Start server (standard port 20128) | +| `omniroute --port 3000` | Bruk tilpasset port | +| `omniroute --no-open` | Ikke åpne nettleseren automatisk | +| `omniroute --help` | Vis hjelp | + +**2. Koble til en GRATIS leverandør:** + +Dashboard → Leverandører → Koble til **Claude-kode** eller **Antigravity** → OAuth-pålogging → Ferdig! + +**3. Bruk i CLI-verktøyet:** + +``` +Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings: + Endpoint: http://localhost:20128/v1 + API Key: [copy from dashboard] + Model: if/kimi-k2-thinking +``` + +**Det var det!** Begynn å kode med GRATIS AI-modeller. + +**Alternativt – kjør fra kilden:** + +```bash +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +--- + +## 🐳 Docker + +OmniRoute er tilgjengelig som et offentlig Docker-bilde på [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute). + +**Rask løp:** + +```bash +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**Med miljøfil:** + +```bash +# Copy and edit .env first +cp .env.example .env + +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + --env-file .env \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**Bruke Docker Compose:** + +```bash +# Base profile (no CLI tools) +docker compose --profile base up -d + +# CLI profile (Claude Code, Codex, OpenClaw built-in) +docker compose --profile cli up -d +``` + +| Bilde | Tag | Størrelse | Beskrivelse | +| ------------------------ | -------- | --------- | ----------------------- | +| `diegosouzapw/omniroute` | `latest` | ~250MB | Siste stabile utgivelse | +| `diegosouzapw/omniroute` | `1.0.3` | ~250MB | Gjeldende versjon | + +--- + +## 💰 Priser på et øyeblikk + +| Nivå | Leverandør | Kostnad | Kvote Tilbakestill | Best for | +| ----------------- | ----------------- | ----------------------------- | ----------------------- | -------------------- | +| **💳 ABONNEMENT** | Claude Code (Pro) | $20/md | 5t + ukentlig | Allerede abonnert | +| | Codex (Pluss/Pro) | $20-200/md | 5t + ukentlig | OpenAI-brukere | +| | Gemini CLI | **GRATIS** | 180K/mnd + 1K/dag | Alle sammen! | +| | GitHub Copilot | $10-19/md | Månedlig | GitHub-brukere | +| **🔑 API NØKKEL** | NVIDIA NIM | **GRATIS** (1000 studiepoeng) | Engangs | Gratis tier testing | +| | DeepSeek | Betal per bruk | Ingen | Beste pris/kvalitet | +| | Groq | Gratis lag + betalt | Begrenset pris | Ultrarask slutning | +| | xAI (Grok) | Betal per bruk | Ingen | Grok modeller | +| | Mistral | Gratis lag + betalt | Begrenset pris | Europeisk AI | +| | OpenRouter | Betal per bruk | Ingen | 100+ modeller | +| **💰 BILLIG** | GLM-4.7 | $0,6/1M | Daglig 10:00 | Budsjett backup | +| | MiniMax M2.1 | $0,2/1M | 5-timers rullende | Billigste alternativ | +| | Kimi K2 | $9/md leilighet | 10 millioner tokens/mnd | Forutsigbar kostnad | +| **🆓 GRATIS** | iFlow | $0 | Ubegrenset | 8 modeller gratis | +| | Qwen | $0 | Ubegrenset | 3 modeller gratis | +| | Kiro | $0 | Ubegrenset | Claude gratis | + +**💡 Profftips:** Start med Gemini CLI (180K gratis/måned) + iFlow (ubegrenset gratis) kombinasjon = $0 kostnad! + +--- + +## 🎯 Brukssaker + +### Sak 1: "Jeg har Claude Pro-abonnement" + +**Problem:** Kvoten utløper ubrukt, satsgrenser under tung koding + +``` +Combo: "maximize-claude" + 1. cc/claude-opus-4-6 (use subscription fully) + 2. glm/glm-4.7 (cheap backup when quota out) + 3. if/kimi-k2-thinking (free emergency fallback) + +Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total +vs. $20 + hitting limits = frustration +``` + +### Tilfelle 2: "Jeg vil ha null kostnad" + +**Problem:** Har ikke råd til abonnementer, trenger pålitelig AI-koding + +``` +Combo: "free-forever" + 1. gc/gemini-3-flash (180K free/month) + 2. if/kimi-k2-thinking (unlimited free) + 3. qw/qwen3-coder-plus (unlimited free) + +Monthly cost: $0 +Quality: Production-ready models +``` + +### Tilfelle 3: "Jeg trenger 24/7 koding, ingen avbrudd" + +**Problem:** Tidsfrister, har ikke råd til nedetid + +``` +Combo: "always-on" + 1. cc/claude-opus-4-6 (best quality) + 2. cx/gpt-5.2-codex (second subscription) + 3. glm/glm-4.7 (cheap, resets daily) + 4. minimax/MiniMax-M2.1 (cheapest, 5h reset) + 5. if/kimi-k2-thinking (free unlimited) + +Result: 5 layers of fallback = zero downtime +``` + +### Tilfelle 4: "Jeg vil ha GRATIS AI i OpenClaw" + +**Problem:** Trenger AI-assistent i meldingsapper, helt gratis + +``` +Combo: "openclaw-free" + 1. if/glm-4.7 (unlimited free) + 2. if/minimax-m2.1 (unlimited free) + 3. if/kimi-k2-thinking (unlimited free) + +Monthly cost: $0 +Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal... +``` + +--- + +## 💡 Nøkkelfunksjoner + +### 🧠 Kjerneruting og intelligens + +| Funksjon | Hva det gjør | +| ---------------------------------- | ---------------------------------------------------------------------------------------- | +| 🎯 **Smart 4-lags fallback** | Automatisk rute: Abonnement → API-nøkkel → Billig → Gratis | +| 📊 **Sanntidskvotesporing** | Live tokenantall + tilbakestilt nedtelling per leverandør | +| 🔄 **Formatoversettelse** | OpenAI ↔ Claude ↔ Gemini ↔ Markør ↔ Kiro sømløs + respons sanitization | +| 👥 **Støtte for flere kontoer** | Flere kontoer per leverandør med intelligent utvalg | +| 🔄 **Auto Token Refresh** | OAuth-tokens oppdateres automatisk med prøv på nytt | +| 🎨 **Egendefinerte kombinasjoner** | 6 strategier: fyll først, round-robin, p2c, tilfeldig, minst brukt, kostnadsoptimalisert | +| 🧩 **Egendefinerte modeller** | Legg til hvilken som helst modell-ID til en hvilken som helst leverandør | +| 🌐 **Wildcard-ruter** | Ruter `provider/*`-mønstre til enhver leverandør dynamisk | +| 🧠 **Tenkebudsjett** | Passthrough, auto, egendefinerte og adaptive moduser for resonnerende modeller | +| 💬 **Systemprompt-injeksjon** | Global systemforespørsel brukt på alle forespørsler | +| 📄 **Responses API** | Full støtte for OpenAI Responses API (`/v1/responses`) for Codex | + +### 🎵 Multi-Modal APIer + +| Funksjon | Hva det gjør | +| ----------------------- | ------------------------------------------------------ | +| 🖼️ **Bildegenerering** | `/v1/images/generations` — 4 leverandører, 9+ modeller | +| 📐 **Innbygging** | `/v1/embeddings` — 6 leverandører, 9+ modeller | +| 🎤 **Lydtranskripsjon** | `/v1/audio/transcriptions` — Whisper-kompatibel | +| 🔊 **Tekst-til-tale** | `/v1/audio/speech` — Multi-leverandør lydsyntese | +| 🛡️ **Moderasjoner** | `/v1/moderations` — Innholdssikkerhetssjekker | +| 🔀 **Omrangering** | `/v1/rerank` — Rerangering av dokumentrelevans | + +### 🛡️ Spenst og sikkerhet + +| Funksjon | Hva det gjør | +| --------------------------------- | ----------------------------------------------------------------------------- | +| 🔌 **Circuit Breaker** | Automatisk åpning/lukking per leverandør med konfigurerbare terskler | +| 🛡️ **Anti-tordenflokk** | Mutex + semaforhastighetsgrense for API-nøkkelleverandører | +| 🧠 **Semantisk cache** | To-lags cache (signatur + semantisk) reduserer kostnader og ventetid | +| ⚡ **Be om idempotens** | 5s dedup-vindu for dupliserte forespørsler | +| 🔒 **TLS-fingeravtrykkspoofing** | Omgå TLS-basert botdeteksjon via wreq-js | +| 🌐 **IP-filtrering** | Tillatelsesliste/blokkeringsliste for API-tilgangskontroll | +| 📊 **Redigerbare satsgrenser** | Konfigurerbar RPM, min gap og maks samtidig på systemnivå | +| 🛡 **API-endepunktbeskyttelse** | Auth-gate + leverandørblokkering for `/models`-endepunktet | +| 🔒 **Proxy-synlighet** | Fargekodede merker: 🟢 global, 🟡 leverandør, 🔵 per tilkobling med IP-skjerm | +| 🌐 **3-nivå proxy-konfigurasjon** | Konfigurer proxyer på globalt nivå, per leverandør eller per tilkoblingsnivå | + +### 📊 Observerbarhet og analyse + +| Funksjon | Hva det gjør | +| -------------------------- | ----------------------------------------------------------------------------------- | +| 📝 **Be om logging** | Feilsøkingsmodus med fullstendige forespørsels-/svarlogger | +| 💾 **SQLite proxy-logger** | Vedvarende proxy-logger overlever omstart av server | +| 📊 **Analytics Dashboard** | Recharts-drevet: statistikkkort, modellbruksdiagram, leverandørtabell | +| 📈 **Fremdriftssporing** | Opt-in SSE-fremdriftshendelser for streaming | +| 🧪 **LLM-evalueringer** | Gylden sett-testing med 4 kampstrategier | +| 🔍 **Be om telemetri** | p50/p95/p99 latensaggregering + X-Request-Id-sporing | +| 📋 **Logger Dashboard** | Samlet side med 4 faner: Forespørselslogger, proxy-logger, revisjonslogger, konsoll | +| 🖥️ **Konsollloggvisning** | Viser i sanntid i terminalstil med nivåfilter, søk, automatisk rulling | +| 📑 **Filbasert logging** | Console interceptor fanger opp all utgang til JSON-loggfil med rotasjon | +| 🏥 **Helse Dashboard** | Systemoppetid, strømbrytertilstander, sperringer, cachestatistikk | +| 💰 **Kostnadssporing** | Budsjettadministrasjon + priskonfigurasjon per modell | + +### ☁️ Implementering og synkronisering + +| Funksjon | Hva det gjør | +| -------------------------------- | ---------------------------------------------------------------------------------------- | +| 💾 **Cloud Sync** | Synkroniser konfigurasjon på tvers av enheter via Cloudflare Workers | +| 🌐 **Distribuer hvor som helst** | Localhost, VPS, Docker, Cloudflare Workers | +| 🔑 **API Key Management** | Generer, roter og omfang API-nøkler per leverandør | +| 🧙 **Onboarding Wizard** | 4-trinns veiledet oppsett for førstegangsbrukere | +| 🔧 **CLI Tools Dashboard** | Ett-klikk konfigurer Claude, Codex, Cline, OpenClaw, Kilo, Antigravity | +| 🔄 **DB-sikkerhetskopier** | Automatisk sikkerhetskopiering, gjenoppretting, eksport og import for alle innstillinger | +| 🌐 **Internasjonalisering** | Full i18n med neste-intl — støtte for engelsk + portugisisk (Brasil) | +| 🌍 **Språkvelger** | Globusikon i overskriften for sanntids språkbytte (🇺🇸/🇧🇷) | +| 📂 **Tilpasset datakatalog** | `DATA_DIR` env var for å overstyre standard `~/.omniroute` lagringsbane | + +
+📖 Funksjonsdetaljer + +### 🎯 Smart 4-lags fallback + +Lag kombinasjoner med automatisk fallback: + +``` +Combo: "my-coding-stack" + 1. cc/claude-opus-4-6 (your subscription) + 2. nvidia/llama-3.3-70b (free NVIDIA API) + 3. glm/glm-4.7 (cheap backup, $0.6/1M) + 4. if/kimi-k2-thinking (free fallback) + +→ Auto switches when quota runs out or errors occur +``` + +### 📊 Sanntidskvotesporing + +- Tokenforbruk per leverandør +- Tilbakestill nedtellingen (5 timer, daglig, ukentlig) +- Kostnadsestimat for betalte nivåer +- Månedlige utgiftsrapporter + +### 🔄 Formatoversettelse + +Sømløs oversettelse mellom formater: + +- **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **OpenAI-svar** +- CLI-verktøyet ditt sender OpenAI-format → OmniRoute oversetter → Leverandøren mottar eget format +- Fungerer med alle verktøy som støtter tilpassede OpenAI-endepunkter +- **Responssanering** - Fjerner ikke-standardfelter for streng OpenAI SDK-kompatibilitet +- **Rollenormalisering** — `developer` → `system` for ikke-OpenAI; `system` → `user` for GLM/ERNIE-modeller +- **Tenk tag-utvinning** — `` blokker → `reasoning_content` for tenkemodeller +- **Strukturert utgang** — `json_schema` → Gemini's `responseMimeType`/`responseSchema` + +### 👥 Støtte for flere kontoer + +- Legg til flere kontoer per leverandør +- Auto round-robin eller prioritetsbasert ruting +- Tilbakeslag til neste konto når en når kvoten + +### 🔄 Automatisk tokenoppdatering + +- OAuth-tokens oppdateres automatisk før utløp +- Ingen manuell re-autentisering nødvendig +- Sømløs opplevelse på tvers av alle leverandører + +### 🎨 Egendefinerte kombinasjoner + +- Lag ubegrensede modellkombinasjoner +- 6 strategier: fyll-først, round-robin, kraft-av-to-valg, tilfeldig, minst brukt, kostnadsoptimalisert +- Del kombinasjoner på tvers av enheter med Cloud Sync + +### 🏥 Helse Dashboard + +- Systemstatus (oppetid, versjon, minnebruk) +- Strømbrytertilstander per leverandør (lukket/åpen/halvåpen) +- Takstgrensestatus og aktive sperringer +- Signaturbufferstatistikk +- Latency-telemetri (p50/p95/p99) + hurtigbuffer +- Tilbakestill helsestatus med ett klikk + +### 🔧 Oversetter Lekeplass + +OmniRoute inkluderer en kraftig innebygd oversetterlekeplass med **4 moduser** for feilsøking, testing og overvåking av API-oversettelser: + +| Modus | Beskrivelse | +| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **💻 Lekeplass** | Direkte formatoversettelse – lim inn hvilken som helst API-forespørselstekst og se umiddelbart hvordan OmniRoute oversetter den mellom leverandørformater (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). Inkluderer eksempelmaler og automatisk gjenkjenning av formater. | +| **💬 Chat Tester** | Send ekte chatteforespørsler gjennom OmniRoute og se hele rundturen: innspillet ditt, den oversatte forespørselen, leverandørens svar og det oversatte svaret tilbake. Uvurderlig for validering av kombinasjonsruting. | +| **🧪 Testbenk** | Batch-testmodus – definer flere testtilfeller med forskjellige innganger og forventede utganger, kjør dem alle samtidig og sammenlign resultater på tvers av leverandører og modeller. | +| **📱 Live Monitor** | Sanntidsovervåking av forespørsler – se innkommende forespørsler mens de strømmer gjennom OmniRoute, se formatoversettelser som skjer live, og identifiser problemer umiddelbart. | + +**Tilgang:** Dashboard → Oversetter (sidefelt) + +### 💾 Cloud Sync + +- Synkroniser leverandører, kombinasjoner og innstillinger på tvers av enheter +- Automatisk bakgrunnssynkronisering +- Sikker kryptert lagring + +
+ +--- + +## 📖 Oppsettveiledning + +
+💳 Abonnementsleverandører + +### Claude Code (Pro/Max) + +```bash +Dashboard → Providers → Connect Claude Code +→ OAuth login → Auto token refresh +→ 5-hour + weekly quota tracking + +Models: + cc/claude-opus-4-6 + cc/claude-sonnet-4-5-20250929 + cc/claude-haiku-4-5-20251001 +``` + +**Profftips:** Bruk Opus for komplekse oppgaver, Sonnet for hastighet. OmniRoute sporer kvote per modell! + +### OpenAI Codex (Plus/Pro) + +```bash +Dashboard → Providers → Connect Codex +→ OAuth login (port 1455) +→ 5-hour + weekly reset + +Models: + cx/gpt-5.2-codex + cx/gpt-5.1-codex-max +``` + +### Gemini CLI (GRATIS 180K/måned!) + +```bash +Dashboard → Providers → Connect Gemini CLI +→ Google OAuth +→ 180K completions/month + 1K/day + +Models: + gc/gemini-3-flash-preview + gc/gemini-2.5-pro +``` + +**Mest verdi:** Enormt gratis nivå! Bruk dette før betalte nivåer. + +### GitHub Copilot + +```bash +Dashboard → Providers → Connect GitHub +→ OAuth via GitHub +→ Monthly reset (1st of month) + +Models: + gh/gpt-5 + gh/claude-4.5-sonnet + gh/gemini-3-pro +``` + +
+ +
+🔑 API nøkkelleverandører + +### NVIDIA NIM (GRATIS 1000 studiepoeng!) + +1. Registrer deg: [build.nvidia.com](https://build.nvidia.com) +2. Få gratis API-nøkkel (1000 slutningspoeng inkludert) +3. Dashboard → Legg til leverandør → NVIDIA NIM: + - API-nøkkel: `nvapi-your-key` + +**Modeller:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct` og 50+ til + +**Profftips:** OpenAI-kompatibel API — fungerer sømløst med OmniRoutes formatoversettelse! + +### DeepSeek + +1. Registrer deg: [platform.deepseek.com](https://platform.deepseek.com) +2. Få API-nøkkel +3. Dashboard → Legg til leverandør → DeepSeek + +**Modeller:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder` + +### Groq (gratis nivå tilgjengelig!) + +1. Registrer deg: [console.groq.com](https://console.groq.com) +2. Få API-nøkkel (gratis nivå inkludert) +3. Dashboard → Legg til leverandør → Groq + +**Modeller:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b` + +**Profftips:** Ultrarask slutning — best for sanntidskoding! + +### OpenRouter (100+ modeller) + +1. Registrer deg: [openrouter.ai](https://openrouter.ai) +2. Få API-nøkkel +3. Dashboard → Legg til leverandør → OpenRouter + +**Modeller:** Få tilgang til 100+ modeller fra alle store leverandører gjennom én enkelt API-nøkkel. + +
+ +
+💰 Billige leverandører (backup) + +### GLM-4.7 (Daglig tilbakestilling, $0,6/1M) + +1. Registrer deg: [Zhipu AI](https://open.bigmodel.cn/) +2. Få API-nøkkel fra Coding Plan +3. Dashboard → Legg til API-nøkkel: + - Leverandør: `glm` + - API-nøkkel: `your-key` + +**Bruk:** `glm/glm-4.7` + +**Profftips:** Coding Plan tilbyr 3× kvote til 1/7 kostnad! Tilbakestill daglig 10:00. + +### MiniMax M2.1 (5t tilbakestilling, $0,20/1M) + +1. Registrer deg: [MiniMax](https://www.minimax.io/) +2. Få API-nøkkel +3. Dashboard → Legg til API-nøkkel + +**Bruk:** `minimax/MiniMax-M2.1` + +**Profftips:** Billigste alternativet for lang kontekst (1M tokens)! + +### Kimi K2 ($9/mnd leilighet) + +1. Abonner: [Moonshot AI](https://platform.moonshot.ai/) +2. Få API-nøkkel +3. Dashboard → Legg til API-nøkkel + +**Bruk:** `kimi/kimi-latest` + +**Profftips:** Fast $9/måned for 10M tokens = $0,90/1M effektiv kostnad! + +
+ +
+🆓 GRATIS Leverandører (Emergency Backup) + +### iFlow (8 GRATIS modeller) + +```bash +Dashboard → Connect iFlow +→ iFlow OAuth login +→ Unlimited usage + +Models: + if/kimi-k2-thinking + if/qwen3-coder-plus + if/glm-4.7 + if/minimax-m2 + if/deepseek-r1 +``` + +### Qwen (3 GRATIS modeller) + +```bash +Dashboard → Connect Qwen +→ Device code authorization +→ Unlimited usage + +Models: + qw/qwen3-coder-plus + qw/qwen3-coder-flash +``` + +### Kiro (Claude FREE) + +```bash +Dashboard → Connect Kiro +→ AWS Builder ID or Google/GitHub +→ Unlimited usage + +Models: + kr/claude-sonnet-4.5 + kr/claude-haiku-4.5 +``` + +
+ +
+🎨 Lag kombinasjoner + +### Eksempel 1: Maksimer abonnement → Billig sikkerhetskopi + +``` +Dashboard → Combos → Create New + +Name: premium-coding +Models: + 1. cc/claude-opus-4-6 (Subscription primary) + 2. glm/glm-4.7 (Cheap backup, $0.6/1M) + 3. minimax/MiniMax-M2.1 (Cheapest fallback, $0.20/1M) + +Use in CLI: premium-coding +``` + +### Eksempel 2: Kun gratis (nullkostnad) + +``` +Name: free-combo +Models: + 1. gc/gemini-3-flash-preview (180K free/month) + 2. if/kimi-k2-thinking (unlimited) + 3. qw/qwen3-coder-plus (unlimited) + +Cost: $0 forever! +``` + +
+ +
+🔧 CLI-integrasjon + +### Markør IDE + +``` +Settings → Models → Advanced: + OpenAI API Base URL: http://localhost:20128/v1 + OpenAI API Key: [from OmniRoute dashboard] + Model: cc/claude-opus-4-6 +``` + +### Claude Code + +Bruk **CLI Tools**-siden i dashbordet for ett-klikks konfigurasjon, eller rediger `~/.claude/settings.json` manuelt. + +### Codex CLI + +```bash +export OPENAI_BASE_URL="http://localhost:20128" +export OPENAI_API_KEY="your-omniroute-api-key" + +codex "your prompt" +``` + +### OpenClaw + +**Alternativ 1 – Dashboard (anbefalt):** + +``` +Dashboard → CLI Tools → OpenClaw → Select Model → Apply +``` + +**Alternativ 2 — Manuell:** Rediger `~/.openclaw/openclaw.json`: + +```json +{ + "models": { + "providers": { + "omniroute": { + "baseUrl": "http://127.0.0.1:20128/v1", + "apiKey": "sk_omniroute", + "api": "openai-completions" + } + } + } +} +``` + +> **Merk:** OpenClaw fungerer bare med lokale OmniRoute. Bruk `127.0.0.1` i stedet for `localhost` for å unngå problemer med IPv6-oppløsning. + +### Cline / Fortsett / RooCode + +``` +Settings → API Configuration: + Provider: OpenAI Compatible + Base URL: http://localhost:20128/v1 + API Key: [from OmniRoute dashboard] + Model: if/kimi-k2-thinking +``` + +
+ +--- + +## 📊 Tilgjengelige modeller + +
+Se alle tilgjengelige modeller + +**Claude-kode (`cc/`)** - Pro/Max: + +- `cc/claude-opus-4-6` +- `cc/claude-sonnet-4-5-20250929` +- `cc/claude-haiku-4-5-20251001` + +**Kodex (`cx/`)** - Pluss/Proff: + +- `cx/gpt-5.2-codex` +- `cx/gpt-5.1-codex-max` + +**Gemini CLI (`gc/`)** - GRATIS: + +- `gc/gemini-3-flash-preview` +- `gc/gemini-2.5-pro` + +**GitHub Copilot (`gh/`)**: + +- `gh/gpt-5` +- `gh/claude-4.5-sonnet` + +**NVIDIA NIM (`nvidia/`)** - GRATIS kreditter: + +- `nvidia/llama-3.3-70b-instruct` +- `nvidia/mistral-7b-instruct` +- 50+ flere modeller på [build.nvidia.com](https://build.nvidia.com) + +**GLM (`glm/`)** - $0,6/1M: + +- `glm/glm-4.7` + +**MiniMax (`minimax/`)** - $0,2/1M: + +- `minimax/MiniMax-M2.1` + +**iFlow (`if/`)** - GRATIS: + +- `if/kimi-k2-thinking` +- `if/qwen3-coder-plus` +- `if/deepseek-r1` +- `if/glm-4.7` +- `if/minimax-m2` + +**Qwen (`qw/`)** - GRATIS: + +- `qw/qwen3-coder-plus` +- `qw/qwen3-coder-flash` + +**Kiro (`kr/`)** - GRATIS: + +- `kr/claude-sonnet-4.5` +- `kr/claude-haiku-4.5` + +**OpenRouter (`or/`)** - 100+ modeller: + +- `or/anthropic/claude-4-sonnet` +- `or/google/gemini-2.5-pro` +- Alle modeller fra [openrouter.ai/models](https://openrouter.ai/models) + +
+ +--- + +## 🧪 Evalueringer (evalueringer) + +OmniRoute inkluderer et innebygd evalueringsrammeverk for å teste LLM-responskvaliteten mot et gyldent sett. Få tilgang til den via **Analytics → Evals** i dashbordet. + +### Innebygd gyldent sett + +Det forhåndsinstallerte "OmniRoute Golden Set" inneholder 10 testcases som dekker: + +- Hilsen, matematikk, geografi, kodegenerering +- JSON-formatoverholdelse, oversettelse, markdown +- Sikkerhetsavslag (skadelig innhold), telling, boolsk logikk + +### Evalueringsstrategier + +| Strategi | Beskrivelse | Eksempel | +| ---------- | --------------------------------------------------------------------- | -------------------------------- | +| `exact` | Utdata må samsvare nøyaktig med | `"4"` | +| `contains` | Utdata må inneholde understreng (uavhengig av store og små bokstaver) | `"Paris"` | +| `regex` | Utdata må samsvare med regulært uttrykksmønster | `"1.*2.*3"` | +| `custom` | Egendefinert JS-funksjon returnerer true/false | `(output) => output.length > 10` | + +--- + +## 🔐 OAuth em Servidor Remoto (Ekstern OAuth-oppsett) + + + +> **⚠️ VIKTIG for bruk av OmniRoute med VPS/Docker/server-fjernkontroll** + +### Hva med OAuth gjør Antigravity / Gemini CLI falha em servidores remotos? + +Os testedores **Antigravity** og **Gemini CLI** usam **Google OAuth 2.0** for autenticação. O Google exige que a `redirect_uri` usada no fluxo OAuth seja **exatamente** uma das URIs pre-cadastradas no Google Cloud Console do aplicativo. + +Som credenciais OAuth embutidas no OmniRoute estão cadastradas **apenas para `localhost`**. Quando você acessa o OmniRoute em um servidor remoto (eks: `https://omniroute.meuservidor.com`), o Google avviser autenticação com: + +``` +Error 400: redirect_uri_mismatch +``` + +### Løsning: Konfigurer OAuth-tilbehør + +Você precisa criar um **OAuth 2.0 Client ID** no Google Cloud Console com en URI for seu service. + +#### Passo a passo + +**1. Tilgang til Google Cloud Console** + +Abra: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials) + +**2. Crie um novo OAuth 2.0 Client ID** + +- Klikk dem **"+ Opprett legitimasjon"** → **"OAuth-klient-ID"** +- Tipo de aplicativo: **"Nettapplikasjon"** +- Navn: escolha qualquer nome (eks.: `OmniRoute Remote`) + +**3. Adicione som autorisert omdirigerings-URI** + +Ingen campo **"Authorized redirect URIs"**, adicione: + +``` +https://seu-servidor.com/callback +``` + +> Substitua `seu-servidor.com` pelo domínio ou IP do seu servidor (inclua a porta se necessário, ex: `http://45.33.32.156:20128/callback`). + +**4. Salve e copy as credenciais** + +Após criar, o Google mostrará o **Client ID** e o **Client Secret**. + +**5. Konfigurer som variáveis de ambiente** + +No seu `.env` (ou nas variáveis de ambiente do Docker): + +```bash +# Para Antigravity: +ANTIGRAVITY_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret + +# Para Gemini CLI: +GEMINI_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +``` + +**6. Reinicie o OmniRoute** + +```bash +# Se usando npm: +npm run dev + +# Se usando Docker: +docker restart omniroute +``` + +**7. Tente conectar novamente** + +Dashboard → Leverandører → Antigravity (ou Gemini CLI) → OAuth + +Agora o Google redirecionará corretamente para `https://seu-servidor.com/callback` e autenticação funcionará. + +--- + +### Midlertidig midlertidig løsning (som konfigureres på forhånd) + +Se não quiser criar credenciais próprias agora, ainda é possível usar o fluxo **manual de URL**: + +1. O OmniRoute abrirá en URL fra autorização til Google +2. Após você autorizar, o Google tentará redirecionar for `localhost` (que falha no servidor remoto) +3. **Kopier en URL fullført** da barra de endereço do seu nettleseren (mesmo que a página não carregue) +4. Cole essa URL no campo que aparece no modal de conexão do OmniRoute +5. Klikk på **"Koble til"** + +> Este workaround funciona porque or código de autorização na URL é válido independente do redirect ter carregado or não. + +--- + +## 🐛 Feilsøking + +
+Klikk for å utvide feilsøkingsveiledningen + +**«Språkmodellen ga ikke meldinger»** + +- Leverandørkvoten er oppbrukt → Sjekk dashboardkvotesporing +- Løsning: Bruk kombinasjonsalternativ eller bytt til et billigere nivå + +**Satsbegrensning** + +- Abonnementskvote ut → Fallback til GLM/MiniMax +- Legg til kombinasjon: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking` + +**OAuth-token er utløpt** + +- Automatisk oppdatering av OmniRoute +- Hvis problemene vedvarer: Dashboard → Leverandør → Koble til på nytt + +**Høye kostnader** + +- Sjekk bruksstatistikk i Dashboard → Kostnader +- Bytt primærmodell til GLM/MiniMax +- Bruk gratis nivå (Gemini CLI, iFlow) for ikke-kritiske oppgaver + +**Dashboard åpnes på feil port** + +- Sett `PORT=20128` og `NEXT_PUBLIC_BASE_URL=http://localhost:20128` + +**Skysynkroniseringsfeil** + +- Bekreft at `BASE_URL` peker på løpeforekomsten din +- Bekreft `CLOUD_URL` poeng til det forventede skyendepunktet +- Hold `NEXT_PUBLIC_*` verdier på linje med verdiene på tjenersiden + +**Første pålogging fungerer ikke** + +- Sjekk `INITIAL_PASSWORD` i `.env` +- Hvis det ikke er angitt, er reservepassordet `123456` + +**Ingen forespørselslogger** + +- Sett `ENABLE_REQUEST_LOGS=true` i `.env` + +**Test viser «Ugyldig» for OpenAI-kompatible leverandører** + +- Mange leverandører avslører ikke et `/models`-endepunkt +- OmniRoute v1.0.6+ inkluderer reservevalidering via chatfullføringer +- Sørg for at basis-URL inkluderer suffikset `/v1` + +
+ +--- + +## 🛠️ Tech Stack + +- **Kjøretid**: Node.js 18–22 LTS (⚠️ Node.js 24+ støttes **ikke** — `better-sqlite3` native binærfiler er inkompatible) +- **Språk**: TypeScript 5.9 — **100 % TypeScript** på tvers av `src/` og `open-sse/` (v1.0.6) +- **Rammeverk**: Next.js 16 + React 19 + Tailwind CSS 4 +- **Database**: LowDB (JSON) + SQLite (domenetilstand + proxy-logger) +- **Streaming**: Server-sendte hendelser (SSE) +- **Auth**: OAuth 2.0 (PKCE) + JWT + API-nøkler +- **Test**: Node.js-testløper (368+ enhetstester) +- **CI/CD**: GitHub-handlinger (automatisk npm-publisering + Docker Hub ved utgivelse) +- **Nettsted**: [omniroute.online](https://omniroute.online) +- **Pakke**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute) +- **Dokker**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute) +- **Resiliens**: Strømbryter, eksponentiell backoff, anti-trdnende flokk, TLS-spoofing + +--- + +## 📖 Dokumentasjon + +| Dokument | Beskrivelse | +| -------------------------------------------- | ---------------------------------------------------------- | +| [User Guide](docs/USER_GUIDE.md) | Leverandører, kombinasjoner, CLI-integrasjon, distribusjon | +| [API Reference](docs/API_REFERENCE.md) | Alle endepunkter med eksempler | +| [Troubleshooting](docs/TROUBLESHOOTING.md) | Vanlige problemer og løsninger | +| [Architecture](docs/ARCHITECTURE.md) | Systemarkitektur og innvendig | +| [Contributing](CONTRIBUTING.md) | Utviklingsoppsett og retningslinjer | +| [OpenAPI Spec](docs/openapi.yaml) | OpenAPI 3.0-spesifikasjon | +| [Security Policy](SECURITY.md) | Sårbarhetsrapportering og sikkerhetspraksis | +| [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | Komplett guide: VM + nginx + Cloudflare-oppsett | +| [Features Gallery](docs/FEATURES.md) | Visuell dashbordomvisning med skjermbilder | + +### 📸 Forhåndsvisning av dashbord + +
+Klikk for å se skjermbilder av dashbordet + +| Side | Skjermbilde | +| ----------------- | ------------------------------------------------- | +| **Tilbydere** | ![Providers](docs/screenshots/01-providers.png) | +| **Komboer** | ![Combos](docs/screenshots/02-combos.png) | +| **Analyse** | ![Analytics](docs/screenshots/03-analytics.png) | +| **Helse** | ![Health](docs/screenshots/04-health.png) | +| **Oversetter** | ![Translator](docs/screenshots/05-translator.png) | +| **Innstillinger** | ![Settings](docs/screenshots/06-settings.png) | +| **CLI-verktøy** | ![CLI Tools](docs/screenshots/07-cli-tools.png) | +| **Brukslogger** | ![Usage](docs/screenshots/08-usage.png) | +| **Endepunkt** | ![Endpoint](docs/screenshots/09-endpoint.png) | + +
+ +--- + +## 🗺️ Veikart + +OmniRoute har **210+ funksjoner planlagt** på tvers av flere utviklingsfaser. Her er nøkkelområdene: + +| Kategori | Planlagte funksjoner | Høydepunkter | +| -------------------------------- | -------------------- | ---------------------------------------------------------------------------------------------- | +| 🧠 **Routing og intelligens** | 25+ | Ruting med lavest ventetid, tag-basert ruting, forhåndskontroll av kvoter, valg av P2C-konto | +| 🔒 **Sikkerhet og overholdelse** | 20+ | SSRF-herding, tilsløring av legitimasjon, hastighetsgrense per endepunkt, styringsnøkkelomfang | +| 📊 **Observerbarhet** | 15+ | OpenTelemetry-integrasjon, kvoteovervåking i sanntid, kostnadssporing per modell | +| 🔄 **Tilbyderintegrasjoner** | 20+ | Dynamisk modellregister, leverandørnedkjøling, multi-konto Codex, Copilot-kvoteparsing | +| ⚡ **Ytelse** | 15+ | Dobbelt hurtigbufferlag, promptbuffer, svarbuffer, streaming keepalive, batch API | +| 🌐 **Økosystem** | 10+ | WebSocket API, config hot-reload, distribuert config store, kommersiell modus | + +### 🔜 Kommer snart + +- 🔗 **OpenCode Integration** — Innebygd leverandørstøtte for OpenCode AI-kodings-IDE +- 🔗 **TRAE-integrasjon** — Full støtte for utviklingsrammeverket for TRAE AI +- 📦 **Batch API** — Asynkron batchbehandling for bulkforespørsler +- 🎯 **Tag-basert ruting** — Ruteforespørsler basert på tilpassede tagger og metadata +- 💰 **Laveste kostnadsstrategi** — Velg automatisk den billigste tilgjengelige leverandøren + +> 📝 Full funksjonsspesifikasjoner tilgjengelig i [**OMNI_TOKEN_147**](docs/new-features/) (217 detaljerte spesifikasjoner) + +--- + +## 📧 Støtte + +> 💬 **Bli med i fellesskapet vårt!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Få hjelp, del tips og hold deg oppdatert. + +- **Nettsted**: [omniroute.online](https://omniroute.online) +- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) +- **Problemer**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) +- **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) +- **Originalt prosjekt**: [9router by decolua](https://github.com/decolua/9router) + +--- + +## 👥 Bidragsytere + +[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) + +### Hvordan bidra + +1. Fordel depotet +2. Lag din funksjonsgren (`git checkout -b feature/amazing-feature`) +3. Bekreft endringene dine (`git commit -m 'Add amazing feature'`) +4. Skyv til grenen (`git push origin feature/amazing-feature`) +5. Åpne en pull-forespørsel + +Se [CONTRIBUTING.md](CONTRIBUTING.md) for detaljerte retningslinjer. + +### Slipper en ny versjon + +```bash +# Create a release — npm publish happens automatically +gh release create v1.0.6 --title "v1.0.6" --generate-notes +``` + +--- + +## 📊 Stjernehistorie + + + + + + Star History Chart + + + +--- + +## 🙏 Anerkjennelser + +Spesiell takk til **[9router](https://github.com/decolua/9router)** av **[decolua](https://github.com/decolua)** — det originale prosjektet som inspirerte denne gaffelen. OmniRoute bygger på det utrolige grunnlaget med tilleggsfunksjoner, multimodale APIer og en full TypeScript-omskriving. + +Spesiell takk til **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — den originale Go-implementeringen som inspirerte denne JavaScript-porten. + +--- + +## 📄 Lisens + +MIT-lisens - se [LICENSE](LICENSE) for detaljer. + +--- + +--- + +## 🇧🇷 OmniRoute — Gateway de IA Gratuito + + + +### Nunca pare de codar. Roteamento inteligente for **modeller av IA GRATUITOS og de baixo custo** com reserve automático. + +_Seu proxy universal de API — et endepunkt, 36+ tester, null nedetid._ + +### 🌐 Internacionalização (i18n) + +O dashbordet for OmniRoute støtter **multiplos idiomas**. Atualmente disponível em: + +| Idioma | Kode | Status | +| --------------------- | ------- | ----------- | +| 🇺🇸 Engelsk | `en` | ✅ Komplett | +| 🇧🇷 Português (Brasil) | `pt-BR` | ✅ Komplett | + +**Para trocar o idioma:** Clique no selector de idioma (🇺🇸 EN) no header do dashboard → selection o idioma desejado. + +**Tillegg et nytt uttrykk:** + +1. Crie `src/i18n/messages/{codigo}.json` baseado em `en.json` +2. Adicione o código em `src/i18n/config.ts` → `LOCALES` og `LANGUAGES` +3. Reinicie o servidor + +### ⚡ Início Rápido + +```bash +# Instalar via npm +npx omniroute@latest + +# Ou rodar do código-fonte +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +### 🐳 Docker + +```bash +docker run -d --name omniroute -p 20128:20128 diegosouzapw/omniroute:latest +``` + +### 🔑 Funcionalidades Principais + +- **36+ provedores de IA** - Claude, GPT, Gemini, Llama, Qwen, DeepSeek, e mais +- **Roteamento inteligente** — Fallback automático entre provedores +- **Tradução de formato** — OpenAI ↔ Claude ↔ Gemini automaticamente +- **Multi-conta** — Multiplas-innhold for testing com seleção inteligente +- **Cache semântico** — Reduz custos e latência +- **OAuth automático** — Tokens renovam automaticamente +- **Personlig kombinasjoner** — 6 estratégias de roteamento +- **Dashboard komplett** — Monitoramento, logger, analyser, konfigurasjoner +- **CLI Tools** — Konfigurer Claude Code, Codex, Cursor, Cline com um clique +- **100 % TypeScript** — Código limpo e tipado + +### 📖 Dokumentasjon + +| Documento | Beskrivelse | +| ----------------------------------------------- | -------------------------------------------- | +| [Guia do Usuário](docs/USER_GUIDE.md) | Provedores, combos, CLI, distribuere | +| [Referência da API](docs/API_REFERENCE.md) | Todos os endepunkter med eksempler | +| [Solução de Problemas](docs/TROUBLESHOOTING.md) | Problemas comuns e soluções | +| [Arquitetura](docs/ARCHITECTURE.md) | Arquitetura e internos do sistema | +| [Contribuição](CONTRIBUTING.md) | Oppsett av desenvolvimento og retningslinjer | +| [Deploy em VM](docs/VM_DEPLOYMENT_GUIDE.md) | Fullfør: VM + nginx + Cloudflare | + +### 📧 Støtte + +> 💬 **Entre para a comunidade!** [Grupo WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Tire dúvidas, compartilhe dicas e fique atualizado. + +- **Nettsted**: [omniroute.online](https://omniroute.online) +- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) +- **Problemer**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) + +--- + +
+ Bygget med ❤️ for utviklere som koder 24/7 +
+ omniroute.online +
diff --git a/README.phi.md b/README.phi.md new file mode 100644 index 0000000000..ecbdc8373a --- /dev/null +++ b/README.phi.md @@ -0,0 +1,1238 @@ +
+ OmniRoute Dashboard + + # 🚀 OmniRoute — Ang Libreng AI Gateway + +🌐 **[English](#-omniroute--the-free-ai-gateway)** | **[Português (BR)](#-omniroute--gateway-de-ia-gratuito)** + +### Huwag kailanman ihinto ang coding. Smart routing sa **LIBRE at murang mga modelo ng AI** na may awtomatikong fallback. + +_Iyong unibersal na API proxy — isang endpoint, 36+ provider, zero downtime._ + +**Mga Pagkumpleto ng Chat • Mga Pag-embed • Pagbuo ng Imahe • Audio • Pag-rerank • 100% TypeScript** + +--- + +### 🤖 Libreng AI Provider para sa iyong mga paboritong coding agent + +_Ikonekta ang anumang AI-powered IDE o CLI tool sa pamamagitan ng OmniRoute — libreng API gateway para sa walang limitasyong coding._ + + + + + + + + + + + + + + + + +
+ + OpenClaw
+ OpenClaw +

+ ⭐ 205K +
+ + NanoBot
+ NanoBot +

+ ⭐ 20.9K +
+ + PicoClaw
+ PicoClaw +

+ ⭐ 14.6K +
+ + ZeroClaw
+ ZeroClaw +

+ ⭐ 9.9K +
+ + IronClaw
+ IronClaw +

+ ⭐ 2.1K +
+ + OpenCode
+ OpenCode +

+ ⭐ 106K +
+ + Codex CLI
+ Codex CLI +

+ ⭐ 60.8K +
+ + Claude Code
+ Claude Code +

+ ⭐ 67.3K +
+ + Gemini CLI
+ Gemini CLI +

+ ⭐ 94.7K +
+ + Kilo Code
+ Kilo Code +

+ ⭐ 15.5K +
+ +📡 Kumonekta ang lahat ng ahente sa pamamagitan ng http://localhost:20128/v1 o http://cloud.omniroute.online/v1__OMNI_TOKEN_20128/v1http://cloud.omniroute.online/v1__OMNI_TOKEN —iisang modelo at hindi config. quota + +--- + +[![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) +[![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) +[![License](https://img.shields.io/github/license/diegosouzapw/OmniRoute)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE) +[![Website](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) +[![WhatsApp](https://img.shields.io/badge/WhatsApp-Community-25D366?logo=whatsapp&logoColor=white)](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) + +
+ +--- + +## 🤔 Bakit OmniRoute? + +**Ihinto ang pag-aaksaya ng pera at pag-abot sa mga limitasyon:** + +- Mag-e-expire ang quota ng subscription na hindi nagamit bawat buwan +- Pinipigilan ka ng mga limitasyon sa rate sa mid-coding +- Mga Mamahaling API ($20-50/buwan bawat provider) +- Manu-manong paglipat sa pagitan ng mga provider + +**Sumalutas ito ng OmniRoute:** + +- ✅ **I-maximize ang mga subscription** - Subaybayan ang quota, gamitin ang bawat bit bago i-reset +- ✅ **Auto fallback** - Subscription → API Key → Mura → Libre, zero downtime +- ✅ **Multi-account** - Round-robin sa pagitan ng mga account sa bawat provider +- ✅ **Universal** - Gumagana sa Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, anumang CLI tool + +--- + +## 🔄 Paano Ito Gumagana + +``` +┌─────────────┐ +│ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) +│ Tool │ +└──────┬──────┘ + │ http://localhost:20128/v1 + ↓ +┌─────────────────────────────────────────┐ +│ OmniRoute (Smart Router) │ +│ • Format translation (OpenAI ↔ Claude) │ +│ • Quota tracking + Embeddings + Images │ +│ • Auto token refresh │ +└──────┬──────────────────────────────────┘ + │ + ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI + │ ↓ quota exhausted + ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc. + │ ↓ budget limit + ├─→ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M) + │ ↓ budget limit + └─→ [Tier 4: FREE] iFlow, Qwen, Kiro (unlimited) + +Result: Never stop coding, minimal cost +``` + +--- + +## ⚡ Mabilis na Pagsisimula + +**1. I-install sa buong mundo:** + +```bash +npm install -g omniroute +omniroute +``` + +🎉 Magbubukas ang dashboard sa `http://localhost:20128` + +| Utos | Paglalarawan | +| ----------------------- | --------------------------------------- | +| `omniroute` | Simulan ang server (default port 20128) | +| `omniroute --port 3000` | Gumamit ng custom na port | +| `omniroute --no-open` | Huwag awtomatikong buksan ang browser | +| `omniroute --help` | Ipakita ang tulong | + +**2. Ikonekta ang isang LIBRENG provider:** + +Dashboard → Mga Provider → Ikonekta ang **Claude Code** o **Antigravity** → OAuth login → Tapos na! + +**3. Gamitin sa iyong CLI tool:** + +``` +Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings: + Endpoint: http://localhost:20128/v1 + API Key: [copy from dashboard] + Model: if/kimi-k2-thinking +``` + +**Iyon na!** Magsimulang mag-coding gamit ang LIBRENG mga modelo ng AI. + +**Alternatibong — tumakbo mula sa pinagmulan:** + +```bash +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +--- + +## 🐳 Docker + +Available ang OmniRoute bilang isang pampublikong larawan ng Docker sa [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute). + +**Mabilis na pagtakbo:** + +```bash +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**Na may environment file:** + +```bash +# Copy and edit .env first +cp .env.example .env + +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + --env-file .env \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**Gumagamit ng Docker Compose:** + +```bash +# Base profile (no CLI tools) +docker compose --profile base up -d + +# CLI profile (Claude Code, Codex, OpenClaw built-in) +docker compose --profile cli up -d +``` + +| Larawan | Tag | Sukat | Paglalarawan | +| ------------------------ | -------- | ------ | ------------------------------ | +| `diegosouzapw/omniroute` | `latest` | ~250MB | Pinakabagong stable na release | +| `diegosouzapw/omniroute` | `1.0.3` | ~250MB | Kasalukuyang bersyon | + +--- + +## 💰 Pagpepresyo sa isang Sulyap + +| Tier | Provider | Gastos | I-reset ang Quota | Pinakamahusay Para sa | +| ------------------- | ----------------- | ------------------------ | -------------------- | ------------------------------- | +| **💳 SUBSCRIPTION** | Claude Code (Pro) | $20/buwan | 5h + lingguhan | Naka-subscribe na | +| | Codex (Plus/Pro) | $20-200/buwan | 5h + lingguhan | Mga user ng OpenAI | +| | Gemini CLI | **LIBRE** | 180K/buwan + 1K/araw | Lahat! | +| | GitHub Copilot | $10-19/buwan | Buwanang | Mga user ng GitHub | +| **🔑 API KEY** | NVIDIA NIM | **LIBRE** (1000 credits) | Isang beses | Libreng tier na pagsubok | +| | DeepSeek | Pay-per-use | Wala | Pinakamahusay na presyo/kalidad | +| | Groq | Libreng tier + bayad | Limitado ang rate | Napakabilis na hinuha | +| | xAI (Grok) | Pay-per-use | Wala | Mga modelong Grok | +| | Mistral | Libreng tier + bayad | Limitado ang rate | European AI | +| | OpenRouter | Pay-per-use | Wala | 100+ modelo | +| **💰 MURA** | GLM-4.7 | $0.6/1M | Araw-araw 10AM | Backup ng badyet | +| | MiniMax M2.1 | $0.2/1M | 5 oras na rolling | Pinaka murang opsyon | +| | Kimi K2 | $9/buwan flat | 10M token/buwan | Nahuhulaang gastos | +| **🆓 LIBRE** | iFlow | $0 | Walang limitasyong | 8 mga modelong libre | +| | Qwen | $0 | Walang limitasyong | 3 mga modelong libre | +| | Kiro | $0 | Walang limitasyong | Claude libre | + +**💡 Pro Tip:** Magsimula sa Gemini CLI (180K libre/buwan) + iFlow (walang limitasyong libre) combo = $0 na halaga! + +--- + +## 🎯 Use Cases + +### Case 1: "May subscription ako sa Claude Pro" + +**Problema:** Nag-e-expire ang quota nang hindi nagamit, mga limitasyon sa rate sa panahon ng mabigat na coding + +``` +Combo: "maximize-claude" + 1. cc/claude-opus-4-6 (use subscription fully) + 2. glm/glm-4.7 (cheap backup when quota out) + 3. if/kimi-k2-thinking (free emergency fallback) + +Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total +vs. $20 + hitting limits = frustration +``` + +### Case 2: "Gusto ko ng zero cost" + +**Problema:** Hindi kayang bayaran ang mga subscription, kailangan ng maaasahang AI coding + +``` +Combo: "free-forever" + 1. gc/gemini-3-flash (180K free/month) + 2. if/kimi-k2-thinking (unlimited free) + 3. qw/qwen3-coder-plus (unlimited free) + +Monthly cost: $0 +Quality: Production-ready models +``` + +### Case 3: "Kailangan ko ng 24/7 coding, walang mga pagkaantala" + +**Problema:** Mga deadline, hindi kayang bayaran ang downtime + +``` +Combo: "always-on" + 1. cc/claude-opus-4-6 (best quality) + 2. cx/gpt-5.2-codex (second subscription) + 3. glm/glm-4.7 (cheap, resets daily) + 4. minimax/MiniMax-M2.1 (cheapest, 5h reset) + 5. if/kimi-k2-thinking (free unlimited) + +Result: 5 layers of fallback = zero downtime +``` + +### Kaso 4: "Gusto ko ng LIBRENG AI sa OpenClaw" + +**Problema:** Kailangan ng AI assistant sa mga app sa pagmemensahe, ganap na libre + +``` +Combo: "openclaw-free" + 1. if/glm-4.7 (unlimited free) + 2. if/minimax-m2.1 (unlimited free) + 3. if/kimi-k2-thinking (unlimited free) + +Monthly cost: $0 +Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal... +``` + +--- + +## 💡 Mga Pangunahing Tampok + +### 🧠 Core Routing at Intelligence + +| Tampok | Ano ang Ginagawa Nito | +| ------------------------------- | -------------------------------------------------------------------------------------------- | +| 🎯 **Smart 4-Tier Fallback** | Auto-ruta: Subscription → API Key → Mura → Libre | +| 📊 **Real-Time Quota Tracking** | Live na bilang ng token + reset countdown bawat provider | +| 🔄 **Format Translation** | OpenAI ↔ Claude ↔ Gemini ↔ Cursor ↔ Kiro seamless + response sanitization | +| 👥 **Suporta sa Multi-Account** | Maramihang account sa bawat provider na may matalinong pagpili | +| 🔄 **Auto Token Refresh** | Awtomatikong nagre-refresh ang mga token ng OAuth sa muling pagsubok | +| 🎨 **Mga Custom na Combos** | 6 na diskarte: fill-first, round-robin, p2c, random, hindi gaanong ginagamit, cost-optimized | +| 🧩 **Mga Custom na Modelo** | Magdagdag ng anumang ID ng modelo sa anumang provider | +| 🌐 **Wildcard Router** | Iruta ang `provider/*` na mga pattern sa anumang provider nang dynamic na | +| 🧠 **Badyet sa Pag-iisip** | Passthrough, auto, custom, at adaptive mode para sa mga modelo ng pangangatwiran | +| 💬 **System Prompt Injection** | Inilapat ang global system prompt sa lahat ng kahilingan | +| 📄 **Responses API** | Buong OpenAI Responses API (`/v1/responses`) na suporta para sa Codex | + +### 🎵 Mga Multi-Modal na API + +| Tampok | Ano ang Ginagawa Nito | +| -------------------------- | ------------------------------------------------------------ | +| 🖼️ **Pagbuo ng Larawan** | `/v1/images/generations` — 4 na provider, 9+ na modelo | +| 📐 **Mga Pag-embed** | `/v1/embeddings` — 6 na provider, 9+ na modelo | +| 🎤 **Audio Transcription** | `/v1/audio/transcriptions` — Whisper-compatible | +| 🔊 **Text-to-Speech** | `/v1/audio/speech` — Multi-provider audio synthesis | +| 🛡️ **Mga Pag-moderate** | `/v1/moderations` — Mga pagsusuri sa kaligtasan ng nilalaman | +| 🔀 **Reranking** | `/v1/rerank` — Muling pagraranggo ng kaugnayan ng dokumento | + +### 🛡️ Katatagan at Seguridad + +| Tampok | Ano ang Ginagawa Nito | +| ----------------------------------------- | ------------------------------------------------------------------------------------- | +| 🔌 **Circuit Breaker** | Awtomatikong buksan/isara ang bawat provider na may mga na-configure na threshold | +| 🛡️ **Anti-Thundering Herd** | Mutex + semaphore rate-limit para sa mga API key provider | +| 🧠 **Semantic Cache** | Binabawasan ng two-tier na cache (pirma + semantiko) ang gastos at latency | +| ⚡ **Humiling ng Idempotency** | 5s dedup window para sa mga duplicate na kahilingan | +| 🔒 **TLS Fingerprint Spoofing** | I-bypass ang TLS-based na bot detection sa pamamagitan ng wreq-js | +| 🌐 **Pag-filter ng IP** | Allowlist/blocklist para sa API access control | +| 📊 **Mga Nae-edit na Limitasyon sa Rate** | Configurable RPM, min gap, at max na kasabay sa antas ng system | +| 🛡 **Proteksyon sa Endpoint ng API** | Auth gating + pagharang ng provider para sa `/models` endpoint | +| 🔒 **Proxy Visibility** | Mga color-coded na badge: 🟢 global, 🟡 provider, 🔵 per-connection na may IP display | +| 🌐 **3-Level Proxy Config** | I-configure ang mga proxy sa global, per-provider, o per-connection level | + +### 📊 Pagmamasid at Analytics + +| Tampok | Ano ang Ginagawa Nito | +| ------------------------------- | -------------------------------------------------------------------------------------------- | +| 📝 **Kahilingan sa Pag-log** | Debug mode na may buong kahilingan/tugon logs | +| 💾 **SQLite Proxy Logs** | Ang mga paulit-ulit na proxy log ay nakaligtas sa pag-restart ng server | +| 📊 **Analytics Dashboard** | Recharts-powered: mga stat card, chart ng paggamit ng modelo, talahanayan ng provider | +| 📈 **Pagsubaybay sa Pag-unlad** | Mag-opt-in sa mga kaganapan sa pag-usad ng SSE para sa streaming | +| 🧪 **Mga Pagsusuri sa LLM** | Golden set testing na may 4 na diskarte sa pagtutugma | +| 🔍 **Humiling ng Telemetry** | p50/p95/p99 latency aggregation + X-Request-Id tracing | +| 📋 **Dashboard ng Mga Log** | Pinag-isang 4-tab na pahina: Mga Log ng Kahilingan, Mga Proxy Log, Mga Log ng Audit, Console | +| 🖥️ **Console Log Viewer** | Real-time na terminal-style viewer na may level filter, search, auto-scroll | +| 📑 **File-Based Logging** | Kinukuha ng Console interceptor ang lahat ng output sa JSON log file na may pag-ikot | +| 🏥 **Dashboard ng Kalusugan** | System uptime, circuit breaker states, lockouts, cache stats | +| 💰 **Pagsubaybay sa Gastos** | Pamamahala ng badyet + configuration ng pagpepresyo sa bawat modelo | + +### ☁️ Deployment at Pag-sync + +| Tampok | Ano ang Ginagawa Nito | +| ----------------------------------- | ----------------------------------------------------------------------------------------------- | +| 💾 **Cloud Sync** | I-sync ang config sa mga device sa pamamagitan ng Cloudflare Workers | +| 🌐 **I-deploy Kahit Saan** | Localhost, VPS, Docker, Cloudflare Workers | +| 🔑 **API Key Management** | Bumuo, paikutin, at saklawin ang mga API key sa bawat provider | +| 🧙 **Onboarding Wizard** | 4-step guided setup para sa mga unang beses na user | +| 🔧 **CLI Tools Dashboard** | One-click configure Claude, Codex, Cline, OpenClaw, Kilo, Antigravity | +| 🔄 **Mga Backup ng DB** | Awtomatikong pag-backup, pagpapanumbalik, pag-export at pag-import para sa lahat ng mga setting | +| 🌐 **Internasyonalisasyon** | Buong i18n na may next-intl — suporta sa English + Portuguese (Brazil) | +| 🌍 **Pili ng Wika** | Globe icon sa header para sa real-time na paglipat ng wika (🇺🇸/🇧🇷) | +| 📂 **Custom na Direktoryo ng Data** | `DATA_DIR` env var to override default `~/.omniroute` storage path | + +
+📖 Mga Detalye ng Tampok + +### 🎯 Smart 4-Tier Fallback + +Gumawa ng mga combo na may awtomatikong fallback: + +``` +Combo: "my-coding-stack" + 1. cc/claude-opus-4-6 (your subscription) + 2. nvidia/llama-3.3-70b (free NVIDIA API) + 3. glm/glm-4.7 (cheap backup, $0.6/1M) + 4. if/kimi-k2-thinking (free fallback) + +→ Auto switches when quota runs out or errors occur +``` + +### 📊 Real-Time na Pagsubaybay sa Quota + +- Pagkonsumo ng token bawat provider +- I-reset ang countdown (5 oras, araw-araw, lingguhan) +- Pagtatantya ng gastos para sa mga bayad na tier +- Mga ulat sa buwanang paggasta + +### 🔄 Pagsasalin ng Format + +Walang putol na pagsasalin sa pagitan ng mga format: + +- **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **OpenAI Responses** +- Ang iyong CLI tool ay nagpapadala ng OpenAI na format → OmniRoute nagsasalin → Provider ay tumatanggap ng katutubong format +- Gumagana sa anumang tool na sumusuporta sa mga custom na endpoint ng OpenAI +- **Response sanitization** — Tinatanggal ang mga hindi karaniwang field para sa mahigpit na OpenAI SDK compatibility +- **Pag-normalize ng tungkulin** — `developer` → `system` para sa hindi OpenAI; `system` → `user` para sa mga modelo ng GLM/ERNIE +- **Think tag extraction** — `` block → `reasoning_content` para sa mga modelo ng pag-iisip +- **Structured output** — `json_schema` → Gemini's `responseMimeType`/`responseSchema` + +### 👥 Multi-Account Support + +- Magdagdag ng maramihang mga account sa bawat provider +- Auto round-robin o priority-based na pagruruta +- Fallback sa susunod na account kapag naabot ng isa ang quota + +### 🔄 Auto Token Refresh + +- Awtomatikong nagre-refresh ang mga token ng OAuth bago mag-expire +- Walang kinakailangang manu-manong muling pagpapatotoo +- Walang putol na karanasan sa lahat ng provider + +### 🎨 Mga Custom na Combos + +- Lumikha ng walang limitasyong mga kumbinasyon ng modelo +- 6 na diskarte: fill-first, round-robin, power-of-two-choices, random, hindi gaanong ginagamit, cost-optimized +- Magbahagi ng mga combo sa mga device na may Cloud Sync + +### 🏥 Dashboard ng Kalusugan + +- Katayuan ng system (uptime, bersyon, paggamit ng memorya) +- Mga estado ng circuit breaker bawat provider (Sarado/Bukas/Kalahating Bukas) +- Katayuan ng limitasyon sa rate at mga aktibong lockout +- Mga istatistika ng cache ng lagda +- Latency telemetry (p50/p95/p99) + prompt cache +- I-reset ang katayuan ng kalusugan sa isang pag-click + +### 🔧 Palaruan ng Tagasalin + +Kasama sa OmniRoute ang isang malakas na built-in na Playground ng Translator na may **4 na mode** para sa pag-debug, pagsubok, at pagsubaybay sa mga pagsasalin ng API: + +| Mode | Paglalarawan | +| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **💻 Palaruan** | Direktang pagsasalin ng format — i-paste ang anumang katawan ng kahilingan sa API at agad na makita kung paano ito isinasalin ng OmniRoute sa pagitan ng mga format ng provider (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). May kasamang mga halimbawang template at format ng auto-detection. | +| **💬 Chat Tester** | Magpadala ng mga totoong kahilingan sa chat sa pamamagitan ng OmniRoute at tingnan ang buong round-trip: ang iyong input, ang isinaling kahilingan, ang tugon ng provider, at ang isinaling tugon pabalik. Napakahalaga para sa pagpapatunay ng combo routing. | +| **🧪 Test Bench** | Batch testing mode — tumukoy ng maraming test case na may iba't ibang input at inaasahang output, patakbuhin ang mga ito nang sabay-sabay, at paghambingin ang mga resulta sa mga provider at modelo. | +| **📱 Live Monitor** | Real-time na pagsubaybay sa kahilingan — panoorin ang mga papasok na kahilingan habang dumadaloy ang mga ito sa OmniRoute, tingnan ang mga pagsasalin ng format na nangyayari nang live, at tukuyin kaagad ang mga isyu. | + +**Access:** Dashboard → Translator (sidebar) + +### 💾 Cloud Sync + +- I-sync ang mga provider, combo, at mga setting sa mga device +- Awtomatikong pag-sync sa background +- Secure na naka-encrypt na imbakan + +
+ +--- + +## 📖 Gabay sa Pag-setup + +
+💳 Mga Tagabigay ng Subscription + +### Claude Code (Pro/Max) + +```bash +Dashboard → Providers → Connect Claude Code +→ OAuth login → Auto token refresh +→ 5-hour + weekly quota tracking + +Models: + cc/claude-opus-4-6 + cc/claude-sonnet-4-5-20250929 + cc/claude-haiku-4-5-20251001 +``` + +**Pro Tip:** Gamitin ang Opus para sa mga kumplikadong gawain, Soneto para sa bilis. Sinusubaybayan ng OmniRoute ang quota bawat modelo! + +### OpenAI Codex (Plus/Pro) + +```bash +Dashboard → Providers → Connect Codex +→ OAuth login (port 1455) +→ 5-hour + weekly reset + +Models: + cx/gpt-5.2-codex + cx/gpt-5.1-codex-max +``` + +### Gemini CLI (LIBRE 180K/buwan!) + +```bash +Dashboard → Providers → Connect Gemini CLI +→ Google OAuth +→ 180K completions/month + 1K/day + +Models: + gc/gemini-3-flash-preview + gc/gemini-2.5-pro +``` + +**Pinakamahusay na Halaga:** Malaking libreng tier! Gamitin ito bago ang mga bayad na tier. + +### GitHub Copilot + +```bash +Dashboard → Providers → Connect GitHub +→ OAuth via GitHub +→ Monthly reset (1st of month) + +Models: + gh/gpt-5 + gh/claude-4.5-sonnet + gh/gemini-3-pro +``` + +
+ +
+🔑 API Key Provider + +### NVIDIA NIM (LIBRE 1000 credits!) + +1. Mag-sign up: [build.nvidia.com](https://build.nvidia.com) +2. Kumuha ng libreng API key (1000 inference credits kasama) +3. Dashboard → Magdagdag ng Provider → NVIDIA NIM: + - API Key: `nvapi-your-key` + +**Mga Modelo:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct`, at 50+ pa + +**Pro Tip:** OpenAI-compatible na API — gumagana nang walang putol sa pagsasalin ng format ng OmniRoute! + +### DeepSeek + +1. Mag-sign up: [platform.deepseek.com](https://platform.deepseek.com) +2. Kunin ang API key +3. Dashboard → Magdagdag ng Provider → DeepSeek + +**Mga Modelo:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder` + +### Groq (Magagamit ang Libreng Tier!) + +1. Mag-sign up: [console.groq.com](https://console.groq.com) +2. Kunin ang API key (kasama ang libreng tier) +3. Dashboard → Magdagdag ng Provider → Groq + +**Mga Modelo:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b` + +**Pro Tip:** Napakabilis na inference — pinakamahusay para sa real-time na coding! + +### OpenRouter (100+ Modelo) + +1. Mag-sign up: [openrouter.ai](https://openrouter.ai) +2. Kunin ang API key +3. Dashboard → Magdagdag ng Provider → OpenRouter + +**Mga Modelo:** I-access ang 100+ na modelo mula sa lahat ng pangunahing provider sa pamamagitan ng iisang API key. + +
+ +
+💰 Mga Murang Provider (Backup) + +### GLM-4.7 (Araw-araw na pag-reset, $0.6/1M) + +1. Mag-sign up: [Zhipu AI](https://open.bigmodel.cn/) +2. Kumuha ng API key mula sa Coding Plan +3. Dashboard → Magdagdag ng API Key: + - Provider: `glm` + - API Key: `your-key` + +**Gamitin:** `glm/glm-4.7` + +**Pro Tip:** Nag-aalok ang Coding Plan ng 3× na quota sa 1/7 na halaga! I-reset araw-araw 10:00 AM. + +### MiniMax M2.1 (5h reset, $0.20/1M) + +1. Mag-sign up: [MiniMax](https://www.minimax.io/) +2. Kunin ang API key +3. Dashboard → Magdagdag ng API Key + +**Gamitin:** `minimax/MiniMax-M2.1` + +**Pro Tip:** Ang pinakamurang opsyon para sa mahabang konteksto (1M token)! + +### Kimi K2 ($9/month flat) + +1. Mag-subscribe: [Moonshot AI](https://platform.moonshot.ai/) +2. Kunin ang API key +3. Dashboard → Magdagdag ng API Key + +**Gamitin:** `kimi/kimi-latest` + +**Pro Tip:** Nakapirming $9/buwan para sa 10M token = $0.90/1M epektibong gastos! + +
+ +
+🆓 LIBRENG Provider (Emergency Backup) + +### iFlow (8 LIBRENG modelo) + +```bash +Dashboard → Connect iFlow +→ iFlow OAuth login +→ Unlimited usage + +Models: + if/kimi-k2-thinking + if/qwen3-coder-plus + if/glm-4.7 + if/minimax-m2 + if/deepseek-r1 +``` + +### Qwen (3 LIBRENG modelo) + +```bash +Dashboard → Connect Qwen +→ Device code authorization +→ Unlimited usage + +Models: + qw/qwen3-coder-plus + qw/qwen3-coder-flash +``` + +### Kiro (Claude LIBRE) + +```bash +Dashboard → Connect Kiro +→ AWS Builder ID or Google/GitHub +→ Unlimited usage + +Models: + kr/claude-sonnet-4.5 + kr/claude-haiku-4.5 +``` + +
+ +
+🎨 Lumikha ng mga Combo + +### Halimbawa 1: I-maximize ang Subscription → Murang Backup + +``` +Dashboard → Combos → Create New + +Name: premium-coding +Models: + 1. cc/claude-opus-4-6 (Subscription primary) + 2. glm/glm-4.7 (Cheap backup, $0.6/1M) + 3. minimax/MiniMax-M2.1 (Cheapest fallback, $0.20/1M) + +Use in CLI: premium-coding +``` + +### Halimbawa 2: Libre-Lamang (Zero na Gastos) + +``` +Name: free-combo +Models: + 1. gc/gemini-3-flash-preview (180K free/month) + 2. if/kimi-k2-thinking (unlimited) + 3. qw/qwen3-coder-plus (unlimited) + +Cost: $0 forever! +``` + +
+ +
+🔧 CLI Integration + +### Cursor IDE + +``` +Settings → Models → Advanced: + OpenAI API Base URL: http://localhost:20128/v1 + OpenAI API Key: [from OmniRoute dashboard] + Model: cc/claude-opus-4-6 +``` + +### Claude Code + +Gamitin ang pahina ng **CLI Tools** sa dashboard para sa isang pag-click na configuration, o manu-manong i-edit ang `~/.claude/settings.json`. + +### Codex CLI + +```bash +export OPENAI_BASE_URL="http://localhost:20128" +export OPENAI_API_KEY="your-omniroute-api-key" + +codex "your prompt" +``` + +### OpenClaw + +**Pagpipilian 1 — Dashboard (inirerekomenda):** + +``` +Dashboard → CLI Tools → OpenClaw → Select Model → Apply +``` + +**Pagpipilian 2 — Manwal:** I-edit ang `~/.openclaw/openclaw.json`: + +```json +{ + "models": { + "providers": { + "omniroute": { + "baseUrl": "http://127.0.0.1:20128/v1", + "apiKey": "sk_omniroute", + "api": "openai-completions" + } + } + } +} +``` + +> **Tandaan:** Ang OpenClaw ay gumagana lamang sa lokal na OmniRoute. Gamitin ang `127.0.0.1` sa halip na `localhost` upang maiwasan ang mga isyu sa paglutas ng IPv6. + +### Cline / Magpatuloy / RooCode + +``` +Settings → API Configuration: + Provider: OpenAI Compatible + Base URL: http://localhost:20128/v1 + API Key: [from OmniRoute dashboard] + Model: if/kimi-k2-thinking +``` + +
+ +--- + +## 📊 Mga Magagamit na Modelo + +
+Tingnan ang lahat ng available na modelo + +**Claude Code (`cc/`)** - Pro/Max: + +- `cc/claude-opus-4-6` +- `cc/claude-sonnet-4-5-20250929` +- `cc/claude-haiku-4-5-20251001` + +**Codex (`cx/`)** - Plus/Pro: + +- `cx/gpt-5.2-codex` +- `cx/gpt-5.1-codex-max` + +**Gemini CLI (`gc/`)** - LIBRE: + +- `gc/gemini-3-flash-preview` +- `gc/gemini-2.5-pro` + +**GitHub Copilot (`gh/`)**: + +- `gh/gpt-5` +- `gh/claude-4.5-sonnet` + +**NVIDIA NIM (`nvidia/`)** - LIBRENG mga kredito: + +- `nvidia/llama-3.3-70b-instruct` +- `nvidia/mistral-7b-instruct` +- 50+ pang mga modelo sa [build.nvidia.com](https://build.nvidia.com) + +**GLM (`glm/`)** - $0.6/1M: + +- `glm/glm-4.7` + +**MiniMax (`minimax/`)** - $0.2/1M: + +- `minimax/MiniMax-M2.1` + +**iFlow (`if/`)** - LIBRE: + +- `if/kimi-k2-thinking` +- `if/qwen3-coder-plus` +- `if/deepseek-r1` +- `if/glm-4.7` +- `if/minimax-m2` + +**Qwen (`qw/`)** - LIBRE: + +- `qw/qwen3-coder-plus` +- `qw/qwen3-coder-flash` + +**Kiro (`kr/`)** - LIBRE: + +- `kr/claude-sonnet-4.5` +- `kr/claude-haiku-4.5` + +**OpenRouter (`or/`)** - 100+ na modelo: + +- `or/anthropic/claude-4-sonnet` +- `or/google/gemini-2.5-pro` +- Anumang modelo mula sa [openrouter.ai/models](https://openrouter.ai/models) + +
+ +--- + +## 🧪 Mga Pagsusuri (Evals) + +Ang OmniRoute ay may kasamang built-in na balangkas ng pagsusuri upang subukan ang kalidad ng pagtugon ng LLM laban sa isang ginintuang hanay. I-access ito sa pamamagitan ng **Analytics → Evals** sa dashboard. + +### Built-in na Golden Set + +Ang pre-loaded na "OmniRoute Golden Set" ay naglalaman ng 10 test case na sumasaklaw sa: + +- Pagbati, matematika, heograpiya, pagbuo ng code +- Pagsunod sa format ng JSON, pagsasalin, markdown +- Pagtanggi sa kaligtasan (nakapipinsalang nilalaman), pagbibilang, lohika ng boolean + +### Estratehiya sa Pagsusuri + +| Diskarte | Paglalarawan | Halimbawa | +| ---------- | ------------------------------------------------------------ | -------------------------------- | +| `exact` | Dapat na eksaktong tumugma ang output | `"4"` | +| `contains` | Ang output ay dapat maglaman ng substring (case-insensitive) | `"Paris"` | +| `regex` | Ang output ay dapat tumugma sa regex pattern | `"1.*2.*3"` | +| `custom` | Ang custom na JS function ay nagbabalik ng true/false | `(output) => output.length > 10` | + +--- + +## 🔐 OAuth em Servidor Remoto (Remote OAuth Setup) + + + +> **⚠️ MAHALAGA para sa usuários com OmniRoute sa VPS/Docker/servidor remoto** + +### Para sa que o OAuth do Antigravity / Gemini CLI falha em servidores remotos? + +Os provedores **Antigravity** at **Gemini CLI** gamit ang **Google OAuth 2.0** para sa autenticação. O Google exige que a `redirect_uri` usada no fluxo OAuth seja **exatamente** uma das URIs pré-cadastradas no Google Cloud Console do aplicativo. + +Bilang credenciais OAuth embutidas no OmniRoute estão cadastradas **apenas para sa `localhost`**. Quando você acessa o OmniRoute em um servidor remoto (hal: `https://omniroute.meuservidor.com`), o Google rejeita a autenticação com: + +``` +Error 400: redirect_uri_mismatch +``` + +### Solusyon: I-configure ang suas próprias credenciais OAuth + +Você precisa criar um **OAuth 2.0 Client ID** walang Google Cloud Console com a URI do seu servidor. + +#### Passo a passo + +**1. Mag-access sa Google Cloud Console** + +Abra: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials) + +**2. Crie um novo OAuth 2.0 Client ID** + +- Clique em **"+ Lumikha ng Mga Kredensyal"** → **"OAuth client ID"** +- Tipo de aplicativo: **"Web application"** +- Pangalan: escolha qualquer nome (hal: `OmniRoute Remote`) + +**3. Idagdag bilang Mga Awtorisadong URI sa Pag-redirect** + +Walang campo **"Mga Awtorisadong URI sa pag-redirect"**, idagdag: + +``` +https://seu-servidor.com/callback +``` + +> Substitua `seu-servidor.com` pelo domínio ou IP do seu servidor (kasama ang porta se necessário, hal: `http://45.33.32.156:20128/callback`). + +**4. I-save at kopyahin bilang kredensyal** + +Após criar, o Google mostrará o **Client ID** at ** Client Secret**. + +**5. I-configure bilang variáveis de ambiente** + +No seu `.env` (ou nas variáveis de ambiente do Docker): + +```bash +# Para Antigravity: +ANTIGRAVITY_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret + +# Para Gemini CLI: +GEMINI_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com +GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret +``` + +**6. Reinicie o OmniRoute** + +```bash +# Se usando npm: +npm run dev + +# Se usando Docker: +docker restart omniroute +``` + +**7. Tente conectar novamente** + +Dashboard → Mga Provider → Antigravity (ou Gemini CLI) → OAuth + +Agora o Google redirectionará corretamente para sa `https://seu-servidor.com/callback` at a autenticação funcionará. + +--- + +### Workaround temporário (sem configurar credenciais próprias) + +Se não quiser criar credenciais próprias agora, may posibilidad na magamit o fluxo **manual de URL**: + +1. OmniRoute abrirá a URL de authorização do Google +2. Após você authorizar, o Google tentará redirectionar para sa `localhost` (que falha no servidor remoto) +3. **Kopyahin ang isang URL completa** sa barra de endereço do seu browser (mesmo que a página não carregue) +4. Cole essa URL no campo que aparece no modal de conexão do OmniRoute +5. Clique em **"Kumonekta"** + +> Ang workaround na ito ay gumagana sa pamamagitan ng código de authorização na URL ay maaaring mag-redirect sa iyong carregado ou não. + +--- + +## 🐛 Pag-troubleshoot + +
+Mag-click upang palawakin ang gabay sa pag-troubleshoot + +**"Ang modelo ng wika ay hindi nagbigay ng mga mensahe"** + +- Naubos na ang quota ng provider → Suriin ang tracker ng quota ng dashboard +- Solusyon: Gumamit ng combo fallback o lumipat sa mas murang tier + +**Paglilimita sa rate** + +- Out na ang quota ng subscription → Fallback sa GLM/MiniMax +- Magdagdag ng combo: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking` + +**Nag-expire ang token ng OAuth** + +- Auto-refresh ng OmniRoute +- Kung magpapatuloy ang mga isyu: Dashboard → Provider → Muling kumonekta + +**Mataas na gastos** + +- Suriin ang mga istatistika ng paggamit sa Dashboard → Mga Gastos +- Ilipat ang pangunahing modelo sa GLM/MiniMax +- Gumamit ng libreng tier (Gemini CLI, iFlow) para sa mga hindi kritikal na gawain + +**Nagbubukas ang dashboard sa maling port** + +- Itakda ang `PORT=20128` at `NEXT_PUBLIC_BASE_URL=http://localhost:20128` + +**Mga error sa cloud sync** + +- I-verify ang `BASE_URL` na mga puntos sa iyong running instance +- I-verify ang `CLOUD_URL` na mga puntos sa iyong inaasahang cloud endpoint +- Panatilihing nakahanay ang mga value ng `NEXT_PUBLIC_*` sa mga value sa gilid ng server + +**Hindi gumagana ang unang pag-login** + +- Suriin ang `INITIAL_PASSWORD` sa `.env` +- Kung hindi nakatakda, ang fallback na password ay `123456` + +**Walang mga log ng kahilingan** + +- Itakda ang `ENABLE_REQUEST_LOGS=true` sa `.env` + +**Ang pagsubok sa koneksyon ay nagpapakita ng "Di-wasto" para sa mga provider na katugma sa OpenAI** + +- Maraming provider ang hindi naglalantad ng `/models` endpoint +- Kasama sa OmniRoute v1.0.6+ ang fallback validation sa pamamagitan ng mga pagkumpleto ng chat +- Tiyaking may kasamang `/v1` suffix ang base URL + +
+ +--- + +## 🛠️ Tech Stack + +- **Runtime**: Node.js 18–22 LTS (⚠️ Node.js 24+ ay **hindi suportado** — `better-sqlite3` native binary ay hindi tugma) +- **Wika**: TypeScript 5.9 — **100% TypeScript** sa `src/` at `open-sse/` (v1.0.6) +- **Framework**: Next.js 16 + React 19 + Tailwind CSS 4 +- **Database**: LowDB (JSON) + SQLite (domain state + proxy logs) +- **Streaming**: Mga Kaganapang Ipinadala ng Server (SSE) +- **Auth**: OAuth 2.0 (PKCE) + JWT + API Keys +- **Pagsubok**: Node.js test runner (368+ unit test) +- **CI/CD**: GitHub Actions (auto npm publish + Docker Hub on release) +- **Website**: [omniroute.online](https://omniroute.online) +- **Package**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute) +- **Docker**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute) +- **Resilience**: Circuit breaker, exponential backoff, anti-thundering herd, TLS spoofing + +--- + +## 📖 Dokumentasyon + +| Dokumento | Paglalarawan | +| -------------------------------------------- | --------------------------------------------------- | +| [User Guide](docs/USER_GUIDE.md) | Mga provider, combo, CLI integration, deployment | +| [API Reference](docs/API_REFERENCE.md) | Lahat ng mga endpoint na may mga halimbawa | +| [Troubleshooting](docs/TROUBLESHOOTING.md) | Mga karaniwang problema at solusyon | +| [Architecture](docs/ARCHITECTURE.md) | Arkitektura ng system at mga panloob | +| [Contributing](CONTRIBUTING.md) | Pag-setup at mga alituntunin ng pag-unlad | +| [OpenAPI Spec](docs/openapi.yaml) | OpenAPI 3.0 na detalye | +| [Security Policy](SECURITY.md) | Pag-uulat ng kahinaan at mga kasanayan sa seguridad | +| [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | Kumpletong gabay: VM + nginx + Cloudflare setup | +| [Features Gallery](docs/FEATURES.md) | Visual dashboard tour na may mga screenshot | + +### 📸 Preview ng Dashboard + +
+Mag-click para makita ang mga screenshot ng dashboard + +| Pahina | Screenshot | +| ----------------------- | ------------------------------------------------- | +| **Mga Provider** | ![Providers](docs/screenshots/01-providers.png) | +| **Combos** | ![Combos](docs/screenshots/02-combos.png) | +| **Analytics** | ![Analytics](docs/screenshots/03-analytics.png) | +| **Kalusugan** | ![Health](docs/screenshots/04-health.png) | +| **Tagasalin** | ![Translator](docs/screenshots/05-translator.png) | +| **Mga Setting** | ![Settings](docs/screenshots/06-settings.png) | +| **Mga CLI Tools** | ![CLI Tools](docs/screenshots/07-cli-tools.png) | +| **Mga Log ng Paggamit** | ![Usage](docs/screenshots/08-usage.png) | +| **Endpoint** | ![Endpoint](docs/screenshots/09-endpoint.png) | + +
+ +--- + +## 🗺️ Roadmap + +Ang OmniRoute ay may **210+ feature na binalak** sa maraming yugto ng pag-unlad. Narito ang mga pangunahing lugar: + +| Kategorya | Mga Nakaplanong Tampok | Mga Highlight | +| -------------------------------- | ---------------------- | ------------------------------------------------------------------------------------------------- | +| 🧠 **Routing at Intelligence** | 25+ | Lowest-latency routing, tag-based na routing, quota preflight, P2C account selection | +| 🔒 **Seguridad at Pagsunod** | 20+ | SSRF hardening, credential cloaking, rate-limit sa bawat endpoint, management key scoping | +| 📊 **Pagmamasid** | 15+ | Pagsasama ng OpenTelemetry, real-time na pagsubaybay sa quota, pagsubaybay sa gastos bawat modelo | +| 🔄 **Mga Pagsasama ng Provider** | 20+ | Dynamic na model registry, provider cooldowns, multi-account Codex, Copilot quota parsing | +| ⚡ **Pagganap** | 15+ | Dual cache layer, prompt cache, response cache, streaming keepalive, batch API | +| 🌐 **Ecosystem** | 10+ | WebSocket API, config hot-reload, distributed config store, commercial mode | + +### 🔜 Malapit na + +- 🔗 **OpenCode Integration** — Suporta ng katutubong provider para sa OpenCode AI coding IDE +- 🔗 **TRAE Integration** — Buong suporta para sa balangkas ng pag-develop ng TRAE AI +- 📦 **Batch API** — Asynchronous na pagproseso ng batch para sa maramihang kahilingan +- 🎯 **Tag-Based Routing** — Mga kahilingan sa ruta batay sa mga custom na tag at metadata +- 💰 **Diskarte sa Pinakamababang Gastos** — Awtomatikong piliin ang pinakamurang available na provider + +> 📝 Available ang buong detalye ng feature sa [**OMNI_TOKEN_147**](docs/new-features/) (217 detalyadong spec) + +--- + +## 📧 Suporta + +> 💬 **Sumali sa aming komunidad!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Humingi ng tulong, magbahagi ng mga tip, at manatiling updated. + +- **Website**: [omniroute.online](https://omniroute.online) +- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) +- **Mga Isyu**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) +- **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) +- **Orihinal na Proyekto**: [9router by decolua](https://github.com/decolua/9router) + +--- + +## 👥 Mga nag-aambag + +[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) + +### Paano Mag-ambag + +1. I-fork ang repositoryo +2. Gawin ang iyong sangay ng tampok (`git checkout -b feature/amazing-feature`) +3. Ibigay ang iyong mga pagbabago (`git commit -m 'Add amazing feature'`) +4. Itulak sa sangay (`git push origin feature/amazing-feature`) +5. Magbukas ng Pull Request + +Tingnan ang [CONTRIBUTING.md](CONTRIBUTING.md) para sa mga detalyadong alituntunin. + +### Naglalabas ng Bagong Bersyon + +```bash +# Create a release — npm publish happens automatically +gh release create v1.0.6 --title "v1.0.6" --generate-notes +``` + +--- + +## 📊 Kasaysayan ng Bituin + + + + + + Star History Chart + + + +--- + +## 🙏 Pasasalamat + +Espesyal na pasasalamat kay **[9router](https://github.com/decolua/9router)** ni **[decolua](https://github.com/decolua)** — ang orihinal na proyektong nagbigay inspirasyon sa tinidor na ito. Bumubuo ang OmniRoute sa hindi kapani-paniwalang pundasyong iyon na may mga karagdagang feature, multi-modal na API, at buong TypeScript na muling pagsulat. + +Espesyal na salamat sa **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — ang orihinal na pagpapatupad ng Go na nagbigay inspirasyon sa JavaScript port na ito. + +--- + +## 📄 Lisensya + +Lisensya ng MIT - tingnan ang [LICENSE](LICENSE) para sa mga detalye. + +--- + +--- + +## 🇧🇷 OmniRoute — Gateway de IA Gratuito + + + +### Nunca pare de codar. Roteamento intelligente para **modelos de IA GRATUITOS e de baixo custo** com fallback automático. + +_Seu proxy universal de API — um endpoint, 36+ provedores, zero downtime._ + +### 🌐 Internacionalização (i18n) + +O dashboard ng OmniRoute suporta **multiplos idiomas**. Ibigay ang mga ito: + +| Idyoma | Código | Katayuan | +| --------------------- | ------- | ----------- | +| 🇺🇸 Ingles | `en` | ✅ Kumpleto | +| 🇧🇷 Português (Brasil) | `pt-BR` | ✅ Kumpleto | + +**Para trocar o idioma:** Clique no seletor de idioma (🇺🇸 EN) walang header do dashboard → selecione o idioma desejado. + +**Para adicionar um novo idioma:** + +1. Sumigaw `src/i18n/messages/{codigo}.json` baseado em `en.json` +2. Addicione o código em `src/i18n/config.ts` → `LOCALES` e `LANGUAGES` +3. Reinicie o servidor + +### ⚡ Início Rápido + +```bash +# Instalar via npm +npx omniroute@latest + +# Ou rodar do código-fonte +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +### 🐳 Docker + +```bash +docker run -d --name omniroute -p 20128:20128 diegosouzapw/omniroute:latest +``` + +### 🔑 Funcionalidades Principais + +- **36+ provedores de IA** — Claude, GPT, Gemini, Llama, Qwen, DeepSeek, at iba pa +- **Roteamento intelligente** — Fallback automatico entre provedores +- **Tradução de formato** — OpenAI ↔ Claude ↔ Gemini automaticamente +- **Multi-conta** — Múltiplas contas por provedor com seleção intelligente +- **Cache semântico** — Reduz custos at latência +- **OAuth automático** — Token renovam automaticamente +- **Combos personalizados** — 6 estratégias de roteamento +- **Dashboard completo** — Monitoramento, logs, análises, configurações +- **CLI Tools** — I-configure ang Claude Code, Codex, Cursor, Cline com um clique +- **100% TypeScript** — Código limpo at tipado + +### 📖 Documentação + +| Dokumento | Paglalarawan | +| ----------------------------------------------- | ------------------------------------------- | +| [Guia do Usuário](docs/USER_GUIDE.md) | Provedores, combos, CLI, deploy | +| [Referência da API](docs/API_REFERENCE.md) | Todos os endpoints com exemplos | +| [Solução de Problemas](docs/TROUBLESHOOTING.md) | Problema communs at soluções | +| [Arquitetura](docs/ARCHITECTURE.md) | Arquitetura at internos do sistema | +| [Contribuição](CONTRIBUTING.md) | Setup ng desenvolvimento at mga alituntunin | +| [Deploy em VM](docs/VM_DEPLOYMENT_GUIDE.md) | Guia completo: VM + nginx + Cloudflare | + +### 📧 Suporta + +> 💬 **Entre para a comunidade!** [Grupo WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Tire dúvidas, compartilhe dicas e fique atualizado. + +- **Website**: [omniroute.online](https://omniroute.online) +- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) +- **Mga Isyu**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) + +--- + +
+ Built with ❤️ para sa mga developer na nagko-code 24/7 +
+ omniroute.online +
diff --git a/clipr/9router b/clipr/9router deleted file mode 160000 index bc91be7305..0000000000 --- a/clipr/9router +++ /dev/null @@ -1 +0,0 @@ -Subproject commit bc91be7305813f6b98f3c8267d04f4717802adf6 diff --git a/clipr/CLIProxyAPI b/clipr/CLIProxyAPI deleted file mode 160000 index 068630dbd0..0000000000 --- a/clipr/CLIProxyAPI +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 068630dbd08b950c30949d4f0621a11729627c05