OmniRoute/README.he.md
diegosouzapw 52221488d0 docs: sync all 30 language READMEs with v1.7.3 features + create workflow files
- Synced feature tables across all 28 translated READMEs (Model Aliases, Background Degradation, Rate Limit Persistence, Token Refresh Resilience)
- Updated 6 docs/i18n/*/FEATURES.md with new Settings description
- Created workflows: update-docs.md (with multi-language sync step), generate-release.md, issue-triage.md
2026-03-01 22:02:38 -03:00

1372 lines
66 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div align="center">
<img src="./docs/screenshots/MainOmniRoute.png" alt="OmniRoute Dashboard" width="800"/>
# 🚀 OmniRoute — שער הבינה המלאכותית החינמית
### לעולם אל תפסיק לקוד. ניתוב חכם לדגמי בינה מלאכותית **בחינם ובעלות נמוכה** עם חזרה אוטומטית.
_שרת ה-API האוניברסלי שלך - נקודת קצה אחת, 36+ ספקים, אפס זמן השבתה._
**השלמות צ'אט • הטמעות • יצירת תמונות • אודיו • דירוג מחדש • 100% TypeScript**
---
### 🤖 ספק AI בחינם עבור סוכני הקידוד המועדפים עליך
_חבר כל כלי IDE או CLI המופעל על ידי AI דרך OmniRoute - שער API בחינם לקידוד בלתי מוגבל._
<table>
<tr>
<td align="center" width="110">
<a href="https://github.com/cline/cline">
<img src="./public/providers/openclaw.png" alt="OpenClaw" width="48"/><br/>
<b>OpenClaw</b>
</a><br/>
<sub>⭐ 205K</sub>
</td>
<td align="center" width="110">
<a href="https://github.com/HKUDS/nanobot">
<img src="./public/providers/nanobot.png" alt="NanoBot" width="48"/><br/>
<b>NanoBot</b>
</a><br/>
<sub>⭐ 20.9K</sub>
</td>
<td align="center" width="110">
<a href="https://github.com/sipeed/picoclaw">
<img src="./public/providers/picoclaw.jpg" alt="PicoClaw" width="48"/><br/>
<b>PicoClaw</b>
</a><br/>
<sub>⭐ 14.6K</sub>
</td>
<td align="center" width="110">
<a href="https://github.com/zeroclaw-labs/zeroclaw">
<img src="./public/providers/zeroclaw.png" alt="ZeroClaw" width="48"/><br/>
<b>ZeroClaw</b>
</a><br/>
<sub>⭐ 9.9K</sub>
</td>
<td align="center" width="110">
<a href="https://github.com/nearai/ironclaw">
<img src="./public/providers/ironclaw.png" alt="IronClaw" width="48"/><br/>
<b>IronClaw</b>
</a><br/>
<sub>⭐ 2.1K</sub>
</td>
</tr>
<tr>
<td align="center" width="110">
<a href="https://github.com/anomalyco/opencode">
<img src="./public/providers/opencode.svg" alt="OpenCode" width="48"/><br/>
<b>OpenCode</b>
</a><br/>
<sub>⭐ 106K</sub>
</td>
<td align="center" width="110">
<a href="https://github.com/openai/codex">
<img src="./public/providers/codex.png" alt="Codex CLI" width="48"/><br/>
<b>Codex CLI</b>
</a><br/>
<sub>⭐ 60.8K</sub>
</td>
<td align="center" width="110">
<a href="https://github.com/anthropics/claude-code">
<img src="./public/providers/claude.png" alt="Claude Code" width="48"/><br/>
<b>Claude Code</b>
</a><br/>
<sub>⭐ 67.3K</sub>
</td>
<td align="center" width="110">
<a href="https://github.com/google-gemini/gemini-cli">
<img src="./public/providers/gemini-cli.png" alt="Gemini CLI" width="48"/><br/>
<b>Gemini CLI</b>
</a><br/>
<sub>⭐ 94.7K</sub>
</td>
<td align="center" width="110">
<a href="https://github.com/Kilo-Org/kilocode">
<img src="./public/providers/kilocode.png" alt="Kilo Code" width="48"/><br/>
<b>Kilo Code</b>
</a><br/>
<sub>⭐ 15.5K</sub>
</td>
</tr>
</table>
<sub>📡 כל הסוכנים מתחברים דרך <code>http://localhost:20128/v1</code> או <code>http://cloud.omniroute.online/v1 , —limited one config מכסה</sub>
---
[![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)
</div>
---
## 🤔 למה OmniRoute?
**הפסיקו לבזבז כסף ולהגיע לגבולות:**
- <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> מכסת המנויים מסתיימת ללא שימוש בכל חודש
- <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> מגבלות קצב עוצרות אותך בקידוד באמצע
- <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> ממשקי API יקרים ($20-50 לחודש לכל ספק)
- <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> מעבר ידני בין ספקים
**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
```
---
## 🎯 What OmniRoute Solves — 16 Real Pain Points
> **Every developer using AI tools faces these problems daily.** OmniRoute was built to solve them all — from cost overruns to regional blocks, from broken OAuth flows to zero observability.
<details>
<summary><b>💸 1. "I pay for an expensive subscription but still get interrupted by limits"</b></summary>
Developers pay $20200/month for Claude Pro, Codex Pro, or GitHub Copilot. Even paying, quota has a ceiling — 5h of usage, weekly limits, or per-minute rate limits. Mid-coding session, the provider stops responding and the developer loses flow and productivity.
**How OmniRoute solves it:**
- **Smart 4-Tier Fallback** — If subscription quota runs out, automatically redirects to API Key → Cheap → Free with zero manual intervention
- **Real-Time Quota Tracking** — Shows token consumption in real-time with reset countdown (5h, daily, weekly)
- **Multi-Account Support** — Multiple accounts per provider with auto round-robin — when one runs out, switches to the next
- **Custom Combos** — Customizable fallback chains with 6 balancing strategies (fill-first, round-robin, P2C, random, least-used, cost-optimized)
- **Codex Business Quotas** — Business/Team workspace quota monitoring directly in the dashboard
</details>
<details>
<summary><b>🔌 2. "I need to use multiple providers but each has a different API"</b></summary>
OpenAI uses one format, Claude (Anthropic) uses another, Gemini yet another. If a dev wants to test models from different providers or fallback between them, they need to reconfigure SDKs, change endpoints, deal with incompatible formats. Custom providers (FriendLI, NIM) have non-standard model endpoints.
**How OmniRoute solves it:**
- **Unified Endpoint** — A single `http://localhost:20128/v1` serves as proxy for all 36+ providers
- **Format Translation** — Automatic and transparent: OpenAI ↔ Claude ↔ Gemini ↔ Responses API
- **Response Sanitization** — Strips non-standard fields (`x_groq`, `usage_breakdown`, `service_tier`) that break OpenAI SDK v1.83+
- **Role Normalization** — Converts `developer``system` for non-OpenAI providers; `system``user` for GLM/ERNIE
- **Think Tag Extraction** — Extracts `<think>` blocks from models like DeepSeek R1 into standardized `reasoning_content`
- **Structured Output for Gemini** — `json_schema``responseMimeType`/`responseSchema` automatic conversion
- **`stream` defaults to `false`** — Aligns with OpenAI spec, avoiding unexpected SSE in Python/Rust/Go SDKs
</details>
<details>
<summary><b>🌐 3. "My AI provider blocks my region/country"</b></summary>
Providers like OpenAI/Codex block access from certain geographic regions. Users get errors like `unsupported_country_region_territory` during OAuth and API connections. This is especially frustrating for developers from developing countries.
**How OmniRoute solves it:**
- **3-Level Proxy Config** — Configurable proxy at 3 levels: global (all traffic), per-provider (one provider only), and per-connection/key
- **Color-Coded Proxy Badges** — Visual indicators: 🟢 global proxy, 🟡 provider proxy, 🔵 connection proxy, always showing the IP
- **OAuth Token Exchange Through Proxy** — OAuth flow also goes through the proxy, solving `unsupported_country_region_territory`
- **Connection Tests via Proxy** — Connection tests use the configured proxy (no more direct bypass)
- **SOCKS5 Support** — Full SOCKS5 proxy support for outbound routing
- **TLS Fingerprint Spoofing** — Browser-like TLS fingerprint via `wreq-js` to bypass bot detection
</details>
<details>
<summary><b>🆓 4. "I want to use AI for coding but I have no money"</b></summary>
Not everyone can pay $20200/month for AI subscriptions. Students, devs from emerging countries, hobbyists, and freelancers need access to quality models at zero cost.
**How OmniRoute solves it:**
- **Free Tier Providers Built-in** — Native support for 100% free providers: iFlow (8 unlimited models), Qwen (3 unlimited models), Kiro (Claude for free), Gemini CLI (180K/month free)
- **Free-Only Combos** — Chain `gc/gemini-3-flash → if/kimi-k2-thinking → qw/qwen3-coder-plus` = $0/month with zero downtime
- **NVIDIA NIM Free Credits** — 1000 free credits integrated
- **Cost Optimized Strategy** — Routing strategy that automatically chooses the cheapest available provider
</details>
<details>
<summary><b>🔒 5. "I need to protect my AI gateway from unauthorized access"</b></summary>
When exposing an AI gateway to the network (LAN, VPS, Docker), anyone with the address can consume the developer's tokens/quota. Without protection, APIs are vulnerable to misuse, prompt injection, and abuse.
**How OmniRoute solves it:**
- **API Key Management** — Generation, rotation, and scoping per provider with a dedicated `/dashboard/api-manager` page
- **Model-Level Permissions** — Restrict API keys to specific models (`openai/*`, wildcard patterns), with Allow All/Restrict toggle
- **API Endpoint Protection** — Require a key for `/v1/models` and block specific providers from the listing
- **Auth Guard + CSRF Protection** — All dashboard routes protected with `withAuth` middleware + CSRF tokens
- **Rate Limiter** — Per-IP rate limiting with configurable windows
- **IP Filtering** — Allowlist/blocklist for access control
- **Prompt Injection Guard** — Sanitization against malicious prompt patterns
- **AES-256-GCM Encryption** — Credentials encrypted at rest
</details>
<details>
<summary><b>🛑 6. "My provider went down and I lost my coding flow"</b></summary>
AI providers can become unstable, return 5xx errors, or hit temporary rate limits. If a dev depends on a single provider, they're interrupted. Without circuit breakers, repeated retries can crash the application.
**How OmniRoute solves it:**
- **Circuit Breaker per-provider** — Auto-open/close with configurable thresholds and cooldown (Closed/Open/Half-Open)
- **Exponential Backoff** — Progressive retry delays
- **Anti-Thundering Herd** — Mutex + semaphore protection against concurrent retry storms
- **Combo Fallback Chains** — If the primary provider fails, automatically falls through the chain with no intervention
- **Combo Circuit Breaker** — Auto-disables failing providers within a combo chain
- **Health Dashboard** — Uptime monitoring, circuit breaker states, lockouts, cache stats, p50/p95/p99 latency
</details>
<details>
<summary><b>🔧 7. "Configuring each AI tool is tedious and repetitive"</b></summary>
Developers use Cursor, Claude Code, Codex CLI, OpenClaw, Gemini CLI, Kilo Code... Each tool needs a different config (API endpoint, key, model). Reconfiguring when switching providers or models is a waste of time.
**How OmniRoute solves it:**
- **CLI Tools Dashboard** — Dedicated page with one-click setup for Claude Code, Codex CLI, OpenClaw, Kilo Code, Antigravity, Cline
- **GitHub Copilot Config Generator** — Generates `chatLanguageModels.json` for VS Code with bulk model selection
- **Onboarding Wizard** — Guided 4-step setup for first-time users
- **One endpoint, all models** — Configure `http://localhost:20128/v1` once, access 36+ providers
</details>
<details>
<summary><b>🔑 8. "Managing OAuth tokens from multiple providers is hell"</b></summary>
Claude Code, Codex, Gemini CLI, Copilot — all use OAuth 2.0 with expiring tokens. Developers need to re-authenticate constantly, deal with `client_secret is missing`, `redirect_uri_mismatch`, and failures on remote servers. OAuth on LAN/VPS is particularly problematic.
**How OmniRoute solves it:**
- **Auto Token Refresh** — OAuth tokens refresh in background before expiration
- **OAuth 2.0 (PKCE) Built-in** — Automatic flow for Claude Code, Codex, Gemini CLI, Copilot, Kiro, Qwen, iFlow
- **Multi-Account OAuth** — Multiple accounts per provider via JWT/ID token extraction
- **OAuth LAN/Remote Fix** — Private IP detection for `redirect_uri` + manual URL mode for remote servers
- **OAuth Behind Nginx** — Uses `window.location.origin` for reverse proxy compatibility
- **Remote OAuth Guide** — Step-by-step guide for Google Cloud credentials on VPS/Docker
</details>
<details>
<summary><b>📊 9. "I don't know how much I'm spending or where"</b></summary>
Developers use multiple paid providers but have no unified view of spending. Each provider has its own billing dashboard, but there's no consolidated view. Unexpected costs can pile up.
**How OmniRoute solves it:**
- **Cost Analytics Dashboard** — Per-token cost tracking and budget management per provider
- **Budget Limits per Tier** — Spending ceiling per tier that triggers automatic fallback
- **Per-Model Pricing Configuration** — Configurable prices per model
- **Usage Statistics Per API Key** — Request count and last-used timestamp per key
- **Analytics Dashboard** — Stat cards, model usage chart, provider table with success rates and latency
</details>
<details>
<summary><b>🐛 10. "I can't diagnose errors and problems in AI calls"</b></summary>
When a call fails, the dev doesn't know if it was a rate limit, expired token, wrong format, or provider error. Fragmented logs across different terminals. Without observability, debugging is trial-and-error.
**How OmniRoute solves it:**
- **Unified Logs Dashboard** — 4 tabs: Request Logs, Proxy Logs, Audit Logs, Console
- **Console Log Viewer** — Real-time terminal-style viewer with color-coded levels, auto-scroll, search, filter
- **SQLite Proxy Logs** — Persistent logs that survive server restarts
- **Translator Playground** — 4 debugging modes: Playground (format translation), Chat Tester (round-trip), Test Bench (batch), Live Monitor (real-time)
- **Request Telemetry** — p50/p95/p99 latency + X-Request-Id tracing
- **File-Based Logging with Rotation** — Console interceptor captures everything to JSON log with size-based rotation
</details>
<details>
<summary><b>🏗️ 11. "Deploying and maintaining the gateway is complex"</b></summary>
Installing, configuring, and maintaining an AI proxy across different environments (local, VPS, Docker, cloud) is labor-intensive. Problems like hardcoded paths, `EACCES` on directories, port conflicts, and cross-platform builds add friction.
**How OmniRoute solves it:**
- **npm global install** — `npm install -g omniroute && omniroute` — done
- **Docker Multi-Platform** — AMD64 + ARM64 native (Apple Silicon, AWS Graviton, Raspberry Pi)
- **Docker Compose Profiles** — `base` (no CLI tools) and `cli` (with Claude Code, Codex, OpenClaw)
- **Electron Desktop App** — Native app for Windows/macOS/Linux with system tray, auto-start, offline mode
- **Split-Port Mode** — API and Dashboard on separate ports for advanced scenarios (reverse proxy, container networking)
- **Cloud Sync** — Config synchronization across devices via Cloudflare Workers
- **DB Backups** — Automatic backup, restore, export and import of all settings
</details>
<details>
<summary><b>🌍 12. "The interface is English-only and my team doesn't speak English"</b></summary>
Teams in non-English-speaking countries, especially in Latin America, Asia, and Europe, struggle with English-only interfaces. Language barriers reduce adoption and increase configuration errors.
**How OmniRoute solves it:**
- **Dashboard i18n — 30 Languages** — All 500+ keys translated including Arabic, Bulgarian, Danish, German, Spanish, Finnish, French, Hebrew, Hindi, Hungarian, Indonesian, Italian, Japanese, Korean, Malay, Dutch, Norwegian, Polish, Portuguese (PT/BR), Romanian, Russian, Slovak, Swedish, Thai, Ukrainian, Vietnamese, Chinese, Filipino, English
- **RTL Support** — Right-to-left support for Arabic and Hebrew
- **Multi-Language READMEs** — 30 complete documentation translations
- **Language Selector** — Globe icon in header for real-time switching
</details>
<details>
<summary><b>🔄 13. "I need more than chat — I need embeddings, images, audio"</b></summary>
AI isn't just chat completion. Devs need to generate images, transcribe audio, create embeddings for RAG, rerank documents, and moderate content. Each API has a different endpoint and format.
**How OmniRoute solves it:**
- **Embeddings** — `/v1/embeddings` with 6 providers and 9+ models
- **Image Generation** — `/v1/images/generations` with 4 providers and 9+ models
- **Audio Transcription** — `/v1/audio/transcriptions` — Whisper-compatible
- **Text-to-Speech** — `/v1/audio/speech` — Multi-provider audio synthesis
- **Moderations** — `/v1/moderations` — Content safety checks
- **Reranking** — `/v1/rerank` — Document relevance reranking
- **Responses API** — Full `/v1/responses` support for Codex
</details>
<details>
<summary><b>🧪 14. "I have no way to test and compare quality across models"</b></summary>
Developers want to know which model is best for their use case — code, translation, reasoning — but comparing manually is slow. No integrated eval tools exist.
**How OmniRoute solves it:**
- **LLM Evaluations** — Golden set testing with 10 pre-loaded cases covering greetings, math, geography, code generation, JSON compliance, translation, markdown, safety refusal
- **4 Match Strategies** — `exact`, `contains`, `regex`, `custom` (JS function)
- **Translator Playground Test Bench** — Batch testing with multiple inputs and expected outputs, cross-provider comparison
- **Chat Tester** — Full round-trip with visual response rendering
- **Live Monitor** — Real-time stream of all requests flowing through the proxy
</details>
<details>
<summary><b>📈 15. "I need to scale without losing performance"</b></summary>
As request volume grows, without caching the same questions generate duplicate costs. Without idempotency, duplicate requests waste processing. Per-provider rate limits must be respected.
**How OmniRoute solves it:**
- **Semantic Cache** — Two-tier cache (signature + semantic) reduces cost and latency
- **Request Idempotency** — 5s deduplication window for identical requests
- **Rate Limit Detection** — Per-provider RPM, min gap, and max concurrent tracking
- **Editable Rate Limits** — Configurable defaults in Settings → Resilience with persistence
- **API Key Validation Cache** — 3-tier cache for production performance
- **Health Dashboard with Telemetry** — p50/p95/p99 latency, cache stats, uptime
</details>
<details>
<summary><b>🤖 16. "I want to control model behavior globally"</b></summary>
Developers who want all responses in a specific language, with a specific tone, or want to limit reasoning tokens. Configuring this in every tool/request is impractical.
**How OmniRoute solves it:**
- **System Prompt Injection** — Global prompt applied to all requests
- **Thinking Budget Validation** — Reasoning token allocation control per request (passthrough, auto, custom, adaptive)
- **6 Routing Strategies** — Global strategies that determine how requests are distributed
- **Wildcard Router** — `provider/*` patterns route dynamically to any provider
- **Combo Enable/Disable Toggle** — Toggle combos directly from the dashboard
- **Provider Toggle** — Enable/disable all connections for a provider with one click
- **Blocked Providers** — Exclude specific providers from `/v1/models` listing
</details>
## ⚡ התחלה מהירה
**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 | גרסה נוכחית |
---
---
## 🖥️ Desktop App — Offline & Always-On
> 🆕 **NEW!** OmniRoute is now available as a **native desktop application** for Windows, macOS, and Linux.
- 🖥️ **Native Window** — Dedicated app window with system tray integration
- 🔄 **Auto-Start** — Launch OmniRoute on system login
- 🔔 **Native Notifications** — Get alerts for quota exhaustion or provider issues
-**One-Click Install** — NSIS (Windows), DMG (macOS), AppImage (Linux)
- 🌐 **Offline Mode** — Works fully offline with bundled server
```bash
npm run electron:dev # Development mode
npm run electron:build # Current platform
npm run electron:build:win # Windows (.exe)
npm run electron:build:mac # macOS (.dmg)
npm run electron:build:linux # Linux (.AppImage)
```
📖 Full documentation: [`electron/README.md`](electron/README.md)
---
## 💰 תמחור במבט חטוף
| שכבה | ספק | עלות | איפוס מכסה | הטוב ביותר עבור |
| --------------- | ---------------- | ----------------------- | ------------------------ | ------------------------ |
| **💳 מנוי** | קלוד קוד (פרו) | 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!
---
## 💡 תכונות עיקריות
### 🧠 ניתוב ליבה ומודיעין
| תכונה | מה זה עושה |
| ----------------------------- | -------------------------------------------------------------------------------- |
| 🎯 **Smart 4-tier Fallback** | מסלול אוטומטי: מנוי → מפתח API → זול → חינם |
| 📊 **מעקב מכסות בזמן אמת** | ספירת אסימונים חיה + איפוס ספירה לאחור לכל ספק |
| 🔄 **תרגום פורמט** | OpenAI ↔ קלוד ↔ תאומים ↔ סמן ↔ Kiro חלקה + חיטוי תגובה |
| 👥 **תמיכה בריבוי חשבונות** | מספר חשבונות לכל ספק עם בחירה חכמה |
| 🔄 **רענון אסימון אוטומטי** | אסימוני OAuth מתרעננים אוטומטית עם ניסיון חוזר |
| 🎨 **שילובים מותאמים אישית** | 6 אסטרטגיות: מילוי ראשון, עגול רובין, p2c, אקראי, פחות בשימוש, אופטימיזציה לעלות |
| 🧩 **דגמים מותאמים אישית** | הוסף כל מזהה דגם לכל ספק |
| 🌐 **נתב תווים כלליים** | נתב דפוסי `provider/*` לכל ספק באופן דינמי |
| 🧠 **תקציב חשיבה** | מצבי מעבר, אוטומטי, מותאמים אישית והתאמה למודלים של חשיבה |
| 🔀 **Model Aliases** | Auto-forward deprecated model IDs to current replacements (built-in + custom) |
| ⚡ **Background Degradation** | Auto-route background tasks (titles, summaries) to cheaper models |
| 💬 **הזרקת מערכת מיידית** | הודעת מערכת גלובלית הוחלה בכל הבקשות |
| 📄 **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 ניתן להגדרה, פער מינימלי ומקסימום במקביל ברמת המערכת |
| 💾 **Rate Limit Persistence** | Learned limits survive restarts via SQLite with 60s debounce + 24h staleness |
| 🔄 **Token Refresh Resilience** | Per-provider circuit breaker (5 fails→30min) + 30s timeout per attempt |
| 🛡 **הגנת נקודת קצה 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` נתיב אחסון |
<details>
<summary><b>📖 פרטי תכונה</b></summary>
### 🎯 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
- **חילוץ תג חשיבה** — `<think>` בלוקים → `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, ראה תרגומי פורמטים המתרחשים בשידור חי וזיהוי בעיות באופן מיידי. |
**גישה:** לוח מחוונים ← מתרגם (סרגל צד)
### 💾 סנכרון ענן
- סנכרון ספקים, שילובים והגדרות בין מכשירים
- סנכרון רקע אוטומטי
- אחסון מוצפן מאובטח
</details>
---
## 🎯 מקרי שימוש
### מקרה 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...
```
---
## 📖 מדריך התקנה
<details>
<summary><b>💳 ספקי מנויים</b></summary>
### קוד קלוד (פרו/מקס)
```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
```
</details>
<details>
<summary><b>🔑 ספקי מפתח API</b></summary>
### 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 יחיד.
</details>
<details>
<summary><b>💰 ספקים זולים (גיבוי)</b></summary>
### 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 מיליון עלות אפקטיבית!
</details>
<details>
<summary><b>🆓 ספקים בחינם (גיבוי חירום)</b></summary>
### 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
```
</details>
<details>
<summary><b>🎨 צור שילובים</b></summary>
### דוגמה 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!
```
</details>
<details>
<summary><b>🔧 שילוב CLI</b></summary>
### סמן 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
```
</details>
---
## 🧪 הערכות (הערכות)
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` |
---
## 🐛 פתרון בעיות
<details>
<summary><b>לחץ כדי להרחיב את המדריך לפתרון בעיות</b></summary>
**"מודל השפה לא סיפק הודעות"**
- מיצתה מכסת הספק ← בדוק את עוקב המכסות של לוח המחוונים
- פתרון: השתמש ב-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`
### 🔐 OAuth em Servidor Remoto (הגדרת OAuth מרחוק)
<a name="oauth-em-servidor-remoto"></a>
> **⚠️ חשוב עבור שימוש ב-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 או עצמאית להפנות את החשבון או לא.
</details>
---
## 🛠️ Tech Stack
- **זמן ריצה**: Node.js 1822 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) | סיור חזותי בלוח המחוונים עם צילומי מסך |
### 📸 תצוגה מקדימה של לוח המחוונים
<details>
<summary><b>לחץ כדי לראות צילומי מסך של לוח המחוונים</b></summary>
| עמוד | צילום מסך |
| --------------- | ------------------------------------------------- |
| **ספקים** | ![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) |
</details>
---
## 🗺️ מפת דרכים
ל-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** - עיבוד אצווה אסינכרוני עבור בקשות בכמות גדולה
- 🎯 **ניתוב מבוסס תגים** — בקשות ניתוב המבוססות על תגים ומטא נתונים מותאמים אישית
- 💰 **אסטרטגיית העלות הנמוכה ביותר** — בחר אוטומטית את הספק הזמין הזול ביותר
> 📝 מפרטי תכונה מלאים זמינים ב-[link](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
```
---
## 📊 היסטוריית כוכבים
<a href="https://star-history.com/#diegosouzapw/OmniRoute&Date">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=diegosouzapw/OmniRoute&type=Date&theme=dark" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=diegosouzapw/OmniRoute&type=Date" />
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=diegosouzapw/OmniRoute&type=Date" />
</picture>
</a>
---
## 🙏 תודות
תודה מיוחדת ל**[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) לפרטים.
---
<div align="center">
<sub>נבנה עם ❤️ למפתחים שמקודדים 24/7</sub>
<br/>
<sub><a href="https://omniroute.online">omniroute.online</a></sub>
</div>