OmniRoute/README.nl.md
diegosouzapw d3ace8d611 fix: security hardening, tests, docs for Electron desktop & memory optimization
## Security Fixes
- Sanitize OMNIROUTE_MEMORY_MB with parseInt + range validation (64-16384)
  to prevent command injection via spawn() args
- Validate URL protocol in shell.openExternal (http/https only)
  to prevent RCE in Electron renderer compromise
- Bump default memory from 256MB to 512MB

## Electron package-lock.json
- Added to .gitignore (5278 lines removed from tracking)

## Test Suite (64 tests, 9 suites)
- electron-main.test.mjs: URL validation, IPC channels, window handler
- electron-preload.test.mjs: channel whitelist, API surface, open-external
- cli-memory.test.mjs: injection prevention, boundary values, .env parsing

## Documentation
- Desktop App section added to all 30 READMEs (9 fully translated)
- USER_GUIDE.md updated with 512MB default
- .env.example reflects new defaults
2026-02-28 07:59:38 -03:00

1262 lines
51 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 — 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._
<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>📡 Alle agenten maken verbinding via <code>http://localhost:20128/v1</code> of <code>http://cloud.omniroute.online/v1</code> — één configuratie, onbeperkte modellen en quota</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>
---
## 🤔 Waarom OmniRoute?
**Stop met het verspillen van geld en het bereiken van grenzen:**
- <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Het abonnementsquotum verloopt elke maand ongebruikt
- <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Snelheidslimieten voorkomen dat u halverwege codeert
- <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Dure API's ($20-50/maand per provider)
- <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> 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 |
---
---
## 🖥️ 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)
---
## 💰 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 |
<details>
<summary><b>📖 Functiedetails</b></summary>
### 🎯 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** — `<think>` 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
</details>
---
## 📖 Installatiehandleiding
<details>
<summary><b>💳 Abonnementaanbieders</b></summary>
### 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
```
</details>
<details>
<summary><b>🔑 API-sleutelproviders</b></summary>
### 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.
</details>
<details>
<summary><b>💰 Goedkope providers (back-up)</b></summary>
### 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!
</details>
<details>
<summary><b>🆓 GRATIS providers (noodback-up)</b></summary>
### 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
```
</details>
<details>
<summary><b>🎨 Combo's maken</b></summary>
### 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!
```
</details>
<details>
<summary><b>🔧 CLI-integratie</b></summary>
### 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
```
</details>
---
## 📊 Beschikbare modellen
<details>
<summary><b>Bekijk alle beschikbare modellen</b></summary>
**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)
</details>
---
## 🧪 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)
<a name="oauth-em-servidor-remoto"></a>
> **⚠️ 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
<details>
<summary><b>Klik om de probleemoplossingsgids uit te vouwen</b></summary>
**"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
</details>
---
## 🛠Technische stapel
- **Runtime**: Node.js 1822 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
<details>
<summary><b>Klik om dashboardscreenshots te bekijken</b></summary>
| 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) |
</details>
---
## 🗺️ 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 [link](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
<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>
---
## 🙏 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
<a name="-omniroute--gateway-de-ia-gratuito"></a>
### 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)
---
<div align="center">
<sub>Gebouwd met ❤️ voor ontwikkelaars die 24/7 coderen</sub>
<br/>
<sub><a href="https://omniroute.online">omniroute.online</a></sub>
</div>