Files
OmniRoute/docs/i18n/sr/docs/guides/USER_GUIDE.md
Diego Rodrigues de Sa e Souza b637350680 fix(docs): re-sync the 65 documentation mirror sets; section-level docs pipeline; drift gate blocking (#13940)
1,104 mirrors rewritten over five passes of run-translation on the 22-source core set: the 14 sources edited since their translation, the 322 mirrors that were still English copies, and the frontmatter the old extractor leaked into the newer locales' bodies. The pipeline now caches per-`## `-section hashes and retranslates only changed sections, never reuses a section that is still English, rebuilds English-copy / leaked mirrors even when the source is unchanged, merges the state on save (parallel runs), and the drift gate (scoped to the core set) is blocking. Final audit: 0 stale, 0 English copies, 0 leaked frontmatter across 1,430 core mirrors.

⚠️ base-red inherited: #12732
2026-09-17 02:55:31 -03:00

72 KiB
Raw Blame History

User Guide (Српски)

🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW


🌐 Језици: 🇺🇸 English | 🇪🇹 አማርኛ | 🇸🇦 العربية | 🇦🇿 Azərbaycan dili | 🇧🇬 Български | 🇧🇩 বাংলা | 🇨🇿 Čeština | 🇩🇰 Dansk | 🇩🇪 Deutsch | 🇬🇷 Ελληνικά | 🇪🇸 Español | 🇪🇪 Eesti | 🇮🇷 فارسی | 🇫🇮 Suomi | 🇫🇷 Français | 🇮🇪 Gaeilge | 🇮🇳 ગુજરાતી | 🇳🇬 Hausa | 🇮🇱 עברית | 🇮🇳 हिन्दी | 🇭🇷 Hrvatski | 🇭🇺 Magyar | 🇦🇲 Հայերեն | 🇮🇩 Bahasa Indonesia | 🇳🇬 Igbo | 🇮🇹 Italiano | 🇯🇵 日本語 | 🇬🇪 ქართული | 🇰🇭 ខ្មែរ | 🇮🇳 ಕನ್ನಡ | 🇰🇷 한국어 | 🇱🇹 Lietuvių | 🇱🇻 Latviešu | 🇮🇳 മലയാളം | 🇮🇳 मराठी | 🇲🇾 Bahasa Melayu | 🇲🇹 Malti | 🇲🇲 မြန်မာ | 🇳🇵 नेपाली | 🇳🇱 Nederlands | 🇳🇴 Norsk | 🇮🇳 ଓଡ଼ିଆ | 🇮🇳 ਪੰਜਾਬੀ | 🇵🇭 Filipino | 🇵🇱 Polski | 🇵🇹 Português (Portugal) | 🇧🇷 Português (Brasil) | 🇷🇴 Română | 🇷🇺 Русский | 🇱🇰 සිංහල | 🇸🇰 Slovenčina | 🇸🇮 Slovenščina | 🇷🇸 Српски | 🇸🇪 Svenska | 🇰🇪 Kiswahili | 🇮🇳 தமிழ் | 🇮🇳 తెలుగు | 🇹🇭 ไทย | 🇹🇷 Türkçe | 🇺🇦 Українська | 🇵🇰 اردو | 🇺🇿 Oʻzbekcha | 🇻🇳 Tiếng Việt | 🇳🇬 Yorùbá | 🇨🇳 中文 (简体) | 🇹🇼 中文 (繁體)

Комплетан водич за конфигурисање добављача, креирање комбинација, интеграцију CLI алата и примену OmniRoute-а.


Sadržaj


💰 Преглед цена

Ниво Провајдер Цена Ресетовање квоте Најбоље за
💳 ПРЕТПЛАТА Claude Code (Pro) $20/мес 5ч + недељно Ако сте већ претплаћени
Codex (Plus/Pro) $20-200/мес 5ч + недељно Корисници OpenAI-а
GitHub Copilot $10-19/мес Месечно Корисници GitHub-а
🔑 API КЉУЧ DeepSeek Плаћање по коришћењу Нема Јефтино резоновање
Groq Плаћање по коришћењу Нема Изузетно брзо закључивање
xAI (Grok) Плаћање по коришћењу Нема Резоновање Grok 4
Mistral Плаћање по коришћењу Нема Модели хостовани у ЕУ
Perplexity Плаћање по коришћењу Нема Претрага уз проширење
Together AI Плаћање по коришћењу Нема Модели отвореног кода
Fireworks AI Плаћање по коришћењу Нема Брзе FLUX слике
Cerebras Плаћање по коришћењу Нема Брзина wafer-scale чипова
Cohere Плаћање по коришћењу Нема Command R+ RAG
NVIDIA NIM Плаћање по коришћењу Нема Модели за предузећа
Baidu Qianfan Плаћање по коришћењу Нема ERNIE модели
💰 ЈЕФТИНО GLM-4.7 $0.6/1M Дневно у 10ч Резервна опција за буџет
MiniMax M2.1 $0.2/1M Ротирајуће свака 5 сата Најјефтинија опција
Kimi K2 $9/мес фиксно 10M токена/мес Предвидив трошак
🆓 БЕСПЛАТНО Qoder $0 Важе ограничења провајдера Проверите тренутни каталог
Kiro $0 ~50 кредита/мес Claude бесплатно

🎯 Случајеви употребе

Случај 1: „Имам Claude Pro претплату"

Проблем: Квота истиче некоришћена, ограничења брзине током интензивног кодирања

Комбинација: "maximize-claude"
  1. cc/claude-opus-4-7        (потпуно искористи претплату)
  2. glm/glm-4.7               (јефтина резерва када квота истекне)
  3. if/qwen3.8-max-preview       (бесплатна резерва за хитне случајеве)

Месечни трошак: $20 (претплата) + ~$5 (резерва) = $25 укупно
у поређењу са: $20 + достизање ограничења = фрустрација

Случај 2: „Желим нулти трошак"

Проблем: Не могу да платим претплате, потребна ми је поуздана AI подршка за кодирање

Комбинација: "zero-cost"
  1. if/kimi-k2.7-code          (наведен као бесплатан приступ; могу се примењивати ограничења брзине)
  2. kr/qwen3-coder-next        (Kiro бесплатна резерва)

Месечни трошак: $0
Квалитет: провери модел, ограничења, приватност и SLA за твоје потребе

Случај 3: „Потребно ми је кодирање 24/7, без прекида"

Проблем: Рокови, не могу да дозволим паузе у раду

Комбинација: "always-on"
  1. cc/claude-opus-4-7        (најбољи квалитет)
  2. cx/gpt-5.5                (друга претплата)
  3. glm/glm-4.7               (јефтино, ресетује се дневно)
  4. minimax/MiniMax-M2.1      (најјефтиније, ресетовање на 5ч)
  5. if/deepseek-v4-flash       (наведен као бесплатан приступ; могу се примењивати ограничења брзине)

Резултат: 5 резервних слојева проширује отпорност; доступност на страни провајдера није гарантована
Месечни трошак: $20-200 (претплате) + $10-20 (резерва)

Случај 4: „Желим БЕСПЛАТНУ AI у OpenClaw"

Проблем: Потребан AI асистент у апликацијама за размену поруку, потпуно бесплатно

Комбинација: "openclaw-free"
  1. if/qwen3.8-max-preview     (наведен као бесплатан приступ; могу се примењивати ограничења брзине)
  2. if/deepseek-v4-flash       (наведен као бесплатан приступ; могу се примењивати ограничења брзине)
  3. if/kimi-k2.7-code          (наведен као бесплатан приступ; могу се примењивати ограничења брзине)

Месечни трошак: $0
Приступ преко: WhatsApp, Telegram, Slack, Discord, iMessage, Signal...

📖 Podešavanje provajdera

🔐 Provajderi za pretplatu

Claude Code (Pro/Max)

Dashboard → Providers → Connect Claude Code
→ OAuth login → Auto token refresh
→ 5-hour + weekly quota tracking

Models:
  cc/claude-opus-4-7
  cc/claude-sonnet-4-6
  cc/claude-haiku-4-5-20251001

Savet profesionalca: Koristite Opus za kompleksne zadatke, Sonnet za brzinu. OmniRoute pratI kvotu po modelu!

Claude i Claude Code-kompatibilne rute čuvaju max nivo napora razmišljanja za Opus i Sonnet modele. Haiku modeli ne prihvataju max nivo napora, tako da OmniRoute snižava taj zahtev na visoki budžet razmišljanja pre slanja ka uzvodnom serveru.

OpenAI Codex (Plus/Pro)

Dashboard → Providers → Connect Codex
→ OAuth login (port 1455)
→ 5-hour + weekly reset

Models:
  cx/gpt-5.5
  cx/gpt-5.4
  cx/gpt-5.3-codex
  cx/gpt-5.3-codex-spark

GitHub Copilot

Dashboard → Providers → Connect GitHub
→ OAuth via GitHub
→ Monthly reset (1st of month)

Models:
  gh/gpt-5.5
  gh/gpt-5.4
  gh/claude-sonnet-4.6
  gh/claude-opus-4.7
  gh/gemini-3.1-pro-preview

💰 Jeftini provajderi

GLM-4.7 (Dnevni reset, $0.6/1M)

  1. Registrujte se: Zhipu AI
  2. Preuzmite API ključ iz Coding Plan
  3. Dashboard → Add API Key: Provider: glm, API Key: your-key

Koristi se kao: glm/glm-4.7Savet profesionalca: Coding Plan nudi 3× kvotu po 1/7 cene! Reset se dešava dnevno u 10:00 časova.

MiniMax M2.1 (5h reset, $0.20/1M)

  1. Registrujte se: MiniMax
  2. Preuzmite API ključ → Dashboard → Add API Key

Koristi se kao: minimax/MiniMax-M2.1Savet profesionalca: Najjeftinija opcija za dugi kontekst (1M tokena)!

Kimi K2 ($9/mesečno fiksno)

  1. Pretplatite se: Moonshot AI
  2. Preuzmite API ključ → Dashboard → Add API Key

Koristi se kao: kimi/kimi-k2.5Savet profesionalca: Fiksno $9/mesečno za 10M tokena = efektivna cena od $0.90/1M!

Baidu Qianfan / ERNIE

  1. Registrujte se: Baidu AI Cloud Qianfan
  2. Kreirajte Qianfan API ključ → Dashboard → Add API Key: Provider: qianfan

Koristi se kao: qianfan/ernie-5.1, qianfan/ernie-x1.1, ili neki drugi Qianfan OpenAI-kompatibilan ID modela.

🆓 BESPLATNI provajderi

Besplatni provajderi bez autentifikacije imaju prekidač pored No authentication required na svojoj stranici provajdera. Isključivanjem se onemogućava taj provajder, uklanja se iz Providers configured/compact prikaza, i uklanjaju se njegovi modeli iz /v1/models.

Qoder (9 BESPLATNIH modela)

Dashboard → Connect Qoder → OAuth login → Access is subject to current provider limits

Models: if/qwen3.8-max-preview, if/qwen3.7-max, if/qwen3.7-plus, if/kimi-k3, if/kimi-k2.7-code, if/glm-5.2, if/deepseek-v4-pro, if/deepseek-v4-flash, if/minimax-m3

Kiro (Claude BESPLATNO)

Dashboard → Connect Kiro → AWS Builder ID or Google/GitHub → ~50 credits/month

Models: kr/claude-sonnet-4.5, kr/claude-haiku-4.5

🎨 Kombinacije

Kombinovane kartice možete preurediti direktno u Dashboard → Combos povlačenjem ručke na svakoj kartici. Redosled se čuva u SQLite bazi i vraća prilikom ponovnog učitavanja.

Primer 1: Maksimizujte pretplatu → Jeftina rezerva

Dashboard → Combos → Create New

Name: premium-coding
Models:
  1. cc/claude-opus-4-7 (Primarni model iz pretplate)
  2. glm/glm-4.7 (Jeftina rezerva, $0.6/1M)
  3. minimax/MiniMax-M2.7 (Najjeftinija rezervna opcija, $0.3/1M)

Use in CLI: premium-coding

Primer 2: Samo besplatno (bez troškova)

Name: free-combo
Models:
  1. if/kimi-k2.7-code (naveden besplatan pristup; mogu se primenjivati ograničenja provajdera)
  2. kr/qwen3-coder-next (Kiro besplatna rezerva)

Cost: trenutno naveden kao $0; uslovi i dostupnost se mogu promeniti

🔧 CLI integracija

Cursor IDE

Korišćenje Cursor-a kao OmniRoute klijenta (usmeravanje Cursor chat-a kroz OmniRoute):

Settings → Models → Advanced:
  OpenAI API Base URL: http://localhost:20128/v1
  OpenAI API Key: [from omniroute dashboard]
  Model: cc/claude-opus-4-7

Korišćenje OmniRoute-a kao Cursor provajdera (OmniRoute poziva Cursor uzvodno): preporučuje se Dashboard → Providers → Cursor → Login with Cursor. U Docker-u, pogledajte docs/providers/CURSOR-DOCKER.md.

Claude Code

Izmenite ~/.claude/settings.json:

{
  "env": {
    "ANTHROPIC_BASE_URL": "http://localhost:20128",
    "ANTHROPIC_AUTH_TOKEN": "your-omniroute-api-key"
  }
}

Koristite ovde Claude-kompatibilni root endpoint. Ne dodajte /v1 na kraj ANTHROPIC_BASE_URL.

Codex CLI

export OPENAI_BASE_URL="http://localhost:20128"
export OPENAI_API_KEY="your-omniroute-api-key"
codex "your prompt"

OpenClaw

Izmenite ~/.openclaw/openclaw.json:

{
  "agents": {
    "defaults": {
      "model": { "primary": "omniroute/if/kimi-k2.7-code" }
    }
  },
  "models": {
    "providers": {
      "omniroute": {
        "baseUrl": "http://localhost:20128/v1",
        "apiKey": "your-omniroute-api-key",
        "api": "openai-completions",
        "models": [{ "id": "if/kimi-k2.7-code", "name": "Kimi K2.7 Code" }]
      }
    }
  }
}

Ili koristite Dashboard: CLI Tools → OpenClaw → Auto-config

Cline / Continue / RooCode

Provider: OpenAI Compatible
Base URL: http://localhost:20128/v1
API Key: [from dashboard]
Model: cc/claude-opus-4-7

🚀 Deployment

Globalna npm instalacija (preporučeno)

npm install -g omniroute

# Kreirajte konfiguracioni direktorijum
mkdir -p ~/.omniroute

# Kreirajte .env fajl (pogledajte .env.example)
cp .env.example ~/.omniroute/.env

# Pokrenite server
omniroute
# Ili sa prilagođenim portom:
omniroute --port 3000

CLI automatski učitava .env iz ~/.omniroute/.env ili ./.env.

Tray mod

Pokrenite OmniRoute u sistemskoj traci:

omniroute serve --tray

Komanda se vraća nakon što su server i tray spremni.

Server se nastavlja bez terminala.

Tray mod podržava macOS, Windows i grafičke Linux sesije. Tray mod ne otvara automatski dashboard.

Koristite tray meni za ove radnje:

  • Otvorite dashboard.
  • Otvorite /dashboard/logs.
  • Promenite auto-pokretanje.
  • Zaustavite OmniRoute.

Nemojte kombinovati --tray sa ovim opcijama:

  • --daemon
  • --log
  • --no-recovery

Ovi modovi zahtevaju drugačije vlasništvo procesa.

Omogućite pokretanje pri sledećoj prijavi na mašinu:

omniroute autostart enable

Auto-pokretanje koristi tray mod na macOS, Windows i grafičkim Linux sesijama. Headless Linux koristi postojeći systemd korisnički servis.

Onemogućite pokretanje pri prijavi:

omniroute autostart disable

Deinstalacija

Kada vam OmniRoute više nije potreban, obezbeđujemo dve brze skripte za čisto uklanjanje:

Komanda Radnja
npm run uninstall Uklanja sistemsku aplikaciju, ali zadržava vašu bazu podataka i konfiguracije u ~/.omniroute.
npm run uninstall:full Uklanja aplikaciju I trajno briše sve konfiguracije, ključeve i baze podataka.

Napomena: Da biste izvršili ove komande, idite u folder OmniRoute projekta (ako ste ga klonirali) i pokrenite ih. Alternativno, ako je instaliran globalno, možete jednostavno pokrenuti npm uninstall -g omniroute.

VPS Deployment

git clone https://github.com/diegosouzapw/OmniRoute.git
cd OmniRoute && npm install && npm run build

export JWT_SECRET="your-secure-secret-change-this"
export INITIAL_PASSWORD="your-password"
export DATA_DIR="/var/lib/omniroute"
export PORT="20128"
export HOSTNAME="0.0.0.0"
export NODE_ENV="production"
export NEXT_PUBLIC_BASE_URL="http://localhost:20128"
export API_KEY_SECRET="endpoint-proxy-api-key-secret"

npm run start
# Ili: pm2 start npm --name omniroute -- start

PM2 Deployment (Mala memorija)

Za servere sa ograničenom RAM memorijom, koristite opciju za ograničenje memorije:

# Sa 512MB ograničenjem (podrazumevano)
pm2 start npm --name omniroute -- start

# Ili sa prilagođenim ograničenjem memorije
OMNIROUTE_MEMORY_MB=512 pm2 start npm --name omniroute -- start

# Ili korišćenjem ecosystem.config.js
pm2 start ecosystem.config.js

Kreirajte ecosystem.config.js:

module.exports = {
  apps: [
    {
      name: "omniroute",
      script: "npm",
      args: "start",
      env: {
        NODE_ENV: "production",
        OMNIROUTE_MEMORY_MB: "512",
        JWT_SECRET: "your-secret",
        INITIAL_PASSWORD: "your-password",
      },
      node_args: "--max-old-space-size=512",
      max_memory_restart: "300M",
    },
  ],
};

Docker

# Izgradite image (podrazumevano = runner-cli sa unapred instaliranim codex/claude/droid)
docker build -t omniroute:cli .

# Portabilni mod (preporučeno)
docker run -d --name omniroute -p 20128:20128 --env-file ./.env -v omniroute-data:/app/data omniroute:cli

Za mod integrisan sa host sistemom sa CLI binarnim fajlovima, pogledajte Docker sekciju u glavnoj dokumentaciji.

Void Linux (xbps-src)

Void Linux korisnici mogu da paketuju i instaliraju OmniRoute nativno koristeći xbps-src framework za cross-kompilaciju. Ovo automatizuje samostalnu Node.js izgradnju zajedno sa potrebnim better-sqlite3 native bindings.

Pogledajte xbps-src template
# Template fajl za 'omniroute'
pkgname=omniroute
version=3.8.0
revision=1
hostmakedepends="nodejs python3 make"
depends="openssl"
short_desc="Universal AI gateway with smart routing for multiple LLM providers"
maintainer="zenobit <zenobit@disroot.org>"
license="MIT"
homepage="https://github.com/diegosouzapw/OmniRoute"
distfiles="https://github.com/diegosouzapw/OmniRoute/archive/refs/tags/v${version}.tar.gz"
checksum=009400afee90a9f32599d8fe734145cfd84098140b7287990183dde45ae2245b
system_accounts="_omniroute"
omniroute_homedir="/var/lib/omniroute"
export NODE_ENV=production
export npm_config_engine_strict=false
export npm_config_loglevel=error
export npm_config_fund=false
export npm_config_audit=false

do_build() {
	# Odredite ciljnu CPU arhitekturu za node-gyp
	local _gyp_arch
	case "$XBPS_TARGET_MACHINE" in
		aarch64*) _gyp_arch=arm64 ;;
		armv7*|armv6*) _gyp_arch=arm ;;
		i686*) _gyp_arch=ia32 ;;
		*) _gyp_arch=x64 ;;
	esac

	# 1) Instalirajte sve zavisnosti  preskočite skripte
	NODE_ENV=development npm ci --ignore-scripts

	# 2) Izgradite Next.js standalone bundle
	npm run build

	# 3) Kopirajte statičke resurse u standalone
	cp -r .next/static .next/standalone/.next/static
	[ -d public ] && cp -r public .next/standalone/public || true

	# 4) Kompajlirajte better-sqlite3 native binding
	local _node_gyp=/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js
	(cd node_modules/better-sqlite3 && node "$_node_gyp" rebuild --arch="$_gyp_arch")

	# 5) Postavite kompajlirani binding u standalone bundle
	local _bs3_release=.next/standalone/node_modules/better-sqlite3/build/Release
	mkdir -p "$_bs3_release"
	cp node_modules/better-sqlite3/build/Release/better_sqlite3.node "$_bs3_release/"

	# 6) Uklonite arhitekturno-specifične sharp bundle-ove
	rm -rf .next/standalone/node_modules/@img

	# 7) Kopirajte pino runtime zavisnosti izostavljene Next.js statičkom analizom:
	for _mod in pino-abstract-transport split2 process-warning; do
		cp -r "node_modules/$_mod" .next/standalone/node_modules/
	done
}

do_check() {
	npm run test:unit
}

do_install() {
	vmkdir usr/lib/omniroute/.next
	vcopy .next/standalone/. usr/lib/omniroute/.next/standalone

	# Sprečite uklanjanje praznih Next.js app router direktorijuma post-install hook-om
	for _d in \
		.next/standalone/.next/server/app/dashboard \
		.next/standalone/.next/server/app/dashboard/settings \
		.next/standalone/.next/server/app/dashboard/providers; do
		touch "${DESTDIR}/usr/lib/omniroute/${_d}/.keep"
	done

	cat > "${WRKDIR}/omniroute" <<'EOF'
#!/bin/sh
export PORT="${PORT:-20128}"
export DATA_DIR="${DATA_DIR:-${XDG_DATA_HOME:-${HOME}/.local/share}/omniroute}"
export APP_LOG_TO_FILE="${APP_LOG_TO_FILE:-false}"
mkdir -p "${DATA_DIR}"
exec node /usr/lib/omniroute/.next/standalone/server.js "$@"
EOF
	vbin "${WRKDIR}/omniroute"
}

post_install() {
	vlicense LICENSE
}

Environment Variables

Varijabla Podrazumevano Opis
JWT_SECRET omniroute-default-secret-change-me Tajni ključ za potpisivanje JWT-a (promeniti u produkciji)
INITIAL_PASSWORD CHANGEME Lozinka za prvu prijavu
DATA_DIR ~/.omniroute Direktorijum za podatke (db, korišćenje, logovi)
PORT podrazumevano po framework-u Servisni port (20128 u primerima)
HOSTNAME podrazumevano po framework-u Host za bind (Docker podrazumevano koristi 0.0.0.0)
NODE_ENV podrazumevano za runtime Postavite na production za deploy
NEXT_PUBLIC_BASE_URL http://localhost:20128 Javni base URL prikazan dashboard-u i izložen serveru (zamenjuje zastareli BASE_URL)
NEXT_PUBLIC_CLOUD_URL https://omniroute.dev Base URL endpoint-a za cloud sinhronizaciju (zamenjuje zastareli CLOUD_URL)
API_KEY_SECRET endpoint-proxy-api-key-secret HMAC tajni ključ za generisane API ključeve
REQUIRE_API_KEY false Zahteva Bearer API ključ na /v1/*
ALLOW_API_KEY_REVEAL false Dozvoljava autentifikovanim korisnicima dashboard-a da otkriju kompletne uskladištene vrednosti API ključa na zahtev
PROVIDER_LIMITS_SYNC_INTERVAL_MINUTES 70 Server-side interval za osvežavanje keširanih podataka o Provider Limits; dugmad za osvežavanje u UI-u i dalje pokreću ručnu sinhronizaciju
DISABLE_SQLITE_AUTO_BACKUP false Onemogućava automatske SQLite snapshotove pre pisanja/uvoza/vraćanja; ručne rezervne kopije i dalje rade
APP_LOG_TO_FILE true Omogućava izlaz aplikacionih i audit logova na disk
AUTH_COOKIE_SECURE false Prisiljava Secure auth cookie (iza HTTPS reverse proxy-ja)
CLOUDFLARED_BIN nepostavljeno Koristi postojeći cloudflared binarni fajl umesto upravljanog preuzimanja
CLOUDFLARED_PROTOCOL http2 Transport za upravljane Quick Tunnels (http2, quic, ili auto)
OMNIROUTE_MEMORY_MB 512 Ograničenje Node.js heap-a u MB
PROMPT_CACHE_MAX_SIZE 50 Maksimalan broj unosa u prompt cache-u
SEMANTIC_CACHE_MAX_SIZE 100 Maksimalan broj unosa u semantic cache-u

Za kompletnu referencu environment varijabli, pogledajte README.


📊 Dostupni modeli

Prikaži sve dostupne modele

Lista ispod je preuzeta iz open-sse/config/providerRegistry.ts za v3.8.0. Katalozi u облаку (Gemini, OpenRouter itd.) se sinhronizuju dinamički — za kompletan aktuelan katalog otvorite Dashboard → Providers → [provider] → Available Models ili pozovite GET /api/models/catalog.

Ako se ugrađena lista nekog provajdera razlikuje od stvarne, koristite Import from /models na toj stranici (ili omogućite Auto-Sync) da povučete aktuelan upstream katalog. Ovo je provereno u v3.8.50 za LLM7.io (gemini-3.1-flash-lite) i UncloseAI (solidrust/Hermes-3-Llama-3.1-8B-AWQ); Pollinations anonimni pristup je i dalje bio ograničen od strane upstream-a tokom istog kruga testiranja.

Claude Code (cc/) — Pro/Max OAuth: cc/claude-opus-4-8, cc/claude-opus-4-7, cc/claude-opus-4-6, cc/claude-opus-4-5-20251101, cc/claude-sonnet-4-6, cc/claude-sonnet-4-5-20250929, cc/claude-haiku-4-5-20251001

Codex (cx/) — Plus/Pro OAuth: cx/gpt-5.5 (+ nivoi napora: gpt-5.5-xhigh, gpt-5.5-high, gpt-5.5-medium, gpt-5.5-low), cx/gpt-5.4, cx/gpt-5.4-mini, cx/gpt-5.3-codex, cx/gpt-5.3-codex-spark

GitHub Copilot (gh/) — OAuth: gh/gpt-5.5, gh/gpt-5.4, gh/gpt-5.4-mini, gh/gpt-5-mini, gh/gpt-5.3-codex, gh/claude-opus-4.7, gh/claude-opus-4.6, gh/claude-opus-4-5-20251101, gh/claude-sonnet-4.6, gh/claude-sonnet-4.5, gh/claude-haiku-4.5, gh/gemini-3.1-pro-preview, gh/gemini-3-flash-preview, gh/oswe-vscode-prime

Kiro (kr/) — BESPLATAN OAuth: koristite aktuelan katalog prikazan pod Dashboard → Providers → Kiro → Available Models. Dostupnost zavisi od naloga i plana.

Qoder (if/) — BESPLATAN OAuth: if/qwen3.8-max-preview, if/qwen3.7-max, if/qwen3.7-plus, if/kimi-k3, if/kimi-k2.7-code, if/glm-5.2, if/deepseek-v4-pro, if/deepseek-v4-flash, if/minimax-m3

GLM (glm/, glm-cn/, zai/, glmt/) — 0,20,6 $/1M: glm/glm-5.1, glm/glm-5, glm/glm-5-turbo, glm/glm-4.7, glm/glm-4.7-flash, glm/glm-4.6, glm/glm-4.6v, glm/glm-4.5, glm/glm-4.5v, glm/glm-4.5-air

MiniMax (minimax/, minimax-cn/) — 0,2 $/1M: minimax/MiniMax-M2.7, minimax/MiniMax-M2.7-highspeed, minimax/MiniMax-M2.5, minimax/MiniMax-M2.5-highspeed

Kimi (kimi/, kimi-coding/, kimi-coding-apikey/) — 9 $/mesečno fiksno ili po upotrebi: kimi/kimi-k2.6, kimi/kimi-k2.5

DeepSeek (ds/) — API ključ: ds/deepseek-v4-pro, ds/deepseek-v4-flash

Groq (groq/) — Ultra brzo: groq/llama-3.3-70b-versatile, groq/meta-llama/llama-4-maverick-17b-128e-instruct, groq/qwen/qwen3-32b, groq/openai/gpt-oss-120b

xAI (xai/) — Grok nativno: xai/grok-4.3, xai/grok-4.20-multi-agent-0309, xai/grok-4.20-0309-reasoning, xai/grok-4.20-0309-non-reasoning

Mistral (mistral/) — Hostovano u EU: mistral/mistral-large-latest, mistral/mistral-medium-3-5, mistral/mistral-small-latest, mistral/devstral-latest, mistral/codestral-latest

Perplexity (pplx/) — Sa pretragom: pplx/sonar-deep-research, pplx/sonar-reasoning-pro, pplx/sonar-pro, pplx/sonar

Together AI (together/) — Otvoreni izvor: together/meta-llama/Llama-3.3-70B-Instruct-Turbo-Free (besplatno), together/meta-llama/Llama-Vision-Free, together/deepseek-ai/DeepSeek-R1-Distill-Llama-70B-Free, together/deepseek-ai/DeepSeek-R1, together/Qwen/Qwen3-235B-A22B, together/meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8

Fireworks AI (fireworks/) — Brzo zaključivanje: fireworks/accounts/fireworks/models/kimi-k2p6, fireworks/accounts/fireworks/models/minimax-m2p7, fireworks/accounts/fireworks/models/qwen3p6-plus, fireworks/accounts/fireworks/models/glm-5p1, fireworks/accounts/fireworks/models/deepseek-v4-pro

Cerebras (cerebras/) — Wafer-scale: cerebras/zai-glm-4.7, cerebras/gpt-oss-120b

Cohere (cohere/) — Fokus na RAG: cohere/command-a-reasoning-08-2025, cohere/command-a-vision-07-2025, cohere/command-a-03-2025, cohere/command-r-08-2024

NVIDIA NIM (nvidia/) — Za preduzeća: nvidia/z-ai/glm-5.1, nvidia/minimaxai/minimax-m2.7, nvidia/google/gemma-4-31b-it, nvidia/mistralai/mistral-small-4-119b-2603, nvidia/mistralai/mistral-large-3-675b-instruct-2512, nvidia/qwen/qwen3.5-397b-a17b, nvidia/deepseek-ai/deepseek-v4-pro, nvidia/openai/gpt-oss-120b, nvidia/nvidia/nemotron-3-super-120b-a12b

Baidu Qianfan (qianfan/) — ERNIE: qianfan/ernie-5.1, qianfan/ernie-5.0-thinking-latest, qianfan/ernie-x1.1

Ollama Cloud (ollama-cloud/): ollama-cloud/deepseek-v4-pro, ollama-cloud/deepseek-v4-flash, ollama-cloud/kimi-k2.6, ollama-cloud/glm-5.1, ollama-cloud/minimax-m2.7, ollama-cloud/gemma4:31b, ollama-cloud/qwen3.5:397b

Gemini (Google Cloud gemini/): Sinhronizuje se uživo po API ključu direktno od Google-a — nema statične liste. Povežite ključ u Dashboard → Providers, a zatim koristite Available Models da uvezete aktuelan katalog (npr. gemini/gemini-3-pro, gemini/gemini-3-flash).

Ostali kompatibilni provajderi (izabrani): cohere, databricks, snowflake, together, vertex, alibaba, alibaba-cn, bedrock (preko aws-bedrock), azure-ai, openrouter (passthrough katalog), siliconflow, hyperbolic, huggingface, featherless-ai, cloudflare-ai, scaleway, deepinfra, vercel-ai-gateway, bazaarlink, friendliai, nous-research, reka, volcengine, ai21, gigachat. Svaki od njih održava svoju listu modela u providerRegistry.ts i može se automatski sinhronizovati kada provajder izloži /models endpoint.

Napomena o ID-jevima modela: OmniRoute koristi native ID-jeve provajdera (claude-opus-4-8, gpt-5.5, glm-5.1, MiniMax-M2.7, kimi-k2.5, grok-4.20-0309-reasoning). Neki ID-jevi sadrže verzije s tačkama zato što tako upstream API to očekuje. Ako model nije naveden gore, pokrenite omniroute models --search <term> ili pozovite GET /api/models/catalog da potvrdite dostupnost.


🧩 Napredne funkcije

Prilagođeni modeli

Dodajte bilo koji ID modela bilo kom provajderu bez čekanja ažuriranja aplikacije:

# Preko API-ja
curl -X POST http://localhost:20128/api/provider-models \
  -H "Content-Type: application/json" \
  -d '{"provider": "openai", "modelId": "gpt-5.2", "modelName": "GPT-5.2"}'

# Lista: curl http://localhost:20128/api/provider-models?provider=openai
# Uklanjanje: curl -X DELETE "http://localhost:20128/api/provider-models?provider=openai&model=gpt-5.2"

Ili koristite Dashboard: Providers → [Provider] → Custom Models.

Napomene:

  • OpenRouter i OpenAI/Anthropic-kompatibilni provajderi se upravljaju samo iz sekcije Available Models. Ručno dodavanje, uvoz i automatska sinhronizacija svi završavaju u istoj listi dostupnih modela, tako da za te provajdere ne postoji posebna sekcija Custom Models.
  • Sekcija Custom Models je namenjena provajderima koji ne izlažu upravljane uvoze dostupnih modela.

Ulančavanje OmniRoute Peer čvorova

Drugi OmniRoute gateway može se dodati kao Custom OpenAI-compatible provajder. Koristite /v1 osnovni URL peer-a i posebnu, sa minimalnim privilegijama, API ključ izdat od tog peer-a.

Za reciprocalne ili višehop lance, uključite opcionalnu zaštitu od petlje na svakom gateway-u:

# gateway-a
OMNIROUTE_INSTANCE_ID=gateway-a
OMNIROUTE_PEER_URLS=http://gateway-b:20128/v1
OMNIROUTE_PEER_MAX_HOPS=4
# gateway-b
OMNIROUTE_INSTANCE_ID=gateway-b
OMNIROUTE_PEER_URLS=http://gateway-a:20128/v1
OMNIROUTE_PEER_MAX_HOPS=4

Samo zahtevi poslati na eksplicitno dozvoljeni peer URL dobijaju X-OmniRoute-Peer-Trace zaglavlje. Gateway odbija ponovljeni instance ID ili istrošen budžet hopova sa HTTP 508 Loop Detected; obični upstream provajderi ne primaju peer metapodatke.

Ulančavanje peer-ova nije replikacija baze podataka ili host failover. Svaki gateway čuva nezavisno SQLite stanje, keševe, brojače brzine i sesije. Koristite reverse proxy sa provere zdravlja ili klijent failover za active/passive ili active/active dostupnost, i nikada nemojte montirati jednu SQLite bazu podataka u više pokrenutih OmniRoute instanci.

Namenske rute provajdera

Usmerite zahteve direktno ka specifičnom provajderu sa validacijom modela:

POST http://localhost:20128/v1/providers/openai/chat/completions
POST http://localhost:20128/v1/providers/openai/embeddings
POST http://localhost:20128/v1/providers/fireworks/images/generations

Prefiks provajdera se automatski dodaje ako nedostaje. Nepodudarni modeli vraćaju 400.

Konfiguracija mrežnog proksija

# Postavljanje globalnog proksija
curl -X PUT http://localhost:20128/api/settings/proxy \
  -d '{"global": {"type":"http","host":"proxy.example.com","port":"8080"}}'

# Proksi po provajderu
curl -X PUT http://localhost:20128/api/settings/proxy \
  -d '{"providers": {"openai": {"type":"socks5","host":"proxy.example.com","port":"1080"}}}'

# Test proksija
curl -X POST http://localhost:20128/api/settings/proxy/test \
  -d '{"proxy":{"type":"socks5","host":"proxy.example.com","port":"1080"}}'

Prioritet: Specifičan za ključ → Specifičan za kombinaciju → Specifičan za provajdera → Globalni → Okruženje.

API kataloga modela

curl http://localhost:20128/api/models/catalog

Vraća modele grupisane po provajderu sa tipovima (chat, embedding, image).

Sinhronizacija u cloud-u

  • Sinhronizujte provajdere, kombinacije i podešavanja preko uređaja
  • Automatska sinhronizacija u pozadini sa timeout-om i brzim otkazivanjem
  • Preferirajte server-side NEXT_PUBLIC_BASE_URL/NEXT_PUBLIC_CLOUD_URL u produkciji

Cloudflare Quick Tunnel

  • Dostupno u Dashboard → Endpoints za Docker i druge samostalno hostovane implementacije
  • Kreira privremeni https://*.trycloudflare.com URL koji prosleđuje na vaš trenutni OpenAI-kompatibilni /v1 endpoint
  • Prvo omogućavanje instalira cloudflared samo kada je potrebno; kasnija ponovna pokretanja koriste isti upravljani binarni fajl
  • Quick Tunnels se ne obnavljaju automatski nakon ponovnog pokretanja OmniRoute-a ili kontejnera; ponovo ih omogućite iz dashboard-a kada je potrebno
  • URL-ovi tunela su privremeni i menjaju se svaki put kada zaustavite/pokrenete tunel
  • Upravljani Quick Tunnels po podrazumevanom koriste HTTP/2 transport da bi se izbegla nametljiva QUIC UDP upozorenja o baferima u ograničenim kontejnerima
  • Podesite CLOUDFLARED_PROTOCOL=quic ili auto ako želite da promenite izbor upravljanog transporta
  • Podesite CLOUDFLARED_BIN ako preferirate korišćenje već instaliranog cloudflared binarnog fajla umesto upravljanog preuzimanja
  • Paneli Cloudflare Quick Tunnel, Tailscale Funnel i ngrok Tunnel mogu se prikazati ili sakriti u Settings → Appearance. Sakrivanje panela ne prekida pokrenuti tunel.

Inteligencija LLM Gateway-a (Faza 9)

  • Semantički keš — Automatski kešira ne-streaming odgovore sa temperature=0 (zaobiđite sa X-OmniRoute-No-Cache: true)
  • Idempotentnost zahteva — Deduplicira zahteve u okviru 5s putem Idempotency-Key ili X-Request-Id zaglavlja
  • Praćenje napretka — Opciona SSE event: progress obaveštenja putem X-OmniRoute-Progress: true zaglavlja

Translator Playground

Pristupite putem Dashboard → Translator. Otkrivajte greške i vizualizujte kako OmniRoute prevodi API zahteve između provajdera.

Mod Namena
Playground Izaberite izvorni/ciljni format, nalepite zahtev i odmah vidite prevedeni izlaz
Chat Tester Šaljite žive chat poruke kroz proksi i pregledajte kompletan ciklus zahteva/odgovora
Test Bench Pokrenite skupne testove kroz više kombinacija formata da biste verifikovali ispravnost prevoda
Live Monitor Pratite prevode u realnom vremenu dok zahtevi prolaze kroz proksi

Primeri upotrebe:

  • Otkrijte zašto specifična kombinacija klijenta/provajdera ne radi
  • Verifikujte da se thinking oznake, tool call-ovi i sistemski prompt-ovi pravilno prevode
  • Uporedite razlike u formatima između OpenAI, Claude, Gemini i Responses API formata

Strategije usmeravanja

Konfigurišite putem Dashboard → Settings → Routing. Dashboard izlaže šest najkorišćenijih strategija; kombinacije i auto-usmerivač interno podržavaju širi skup.

Strategije vidljive u dashboard-u (usmeravanje na nivou naloga):

Strategija Opis
Fill First Koristi naloge po prioritetnom redosledu — primarni nalog obrađuje sve zahteve dok ne postane nedostupan
Round Robin Kruži kroz sve naloge sa podesivim limitom lepljivosti (podrazumevano: 3 pozivа po nalogu)
P2C (Power of Two Choices) Bira 2 nasumična naloga i usmerava na zdraviji — balansira opterećenje sa svesnošću o zdravlju
Random Nasumično bira nalog za svaki zahtev koristeći Fisher-Yates shuffle
Least Used Usmerava na nalog sa najstarijim lastUsedAt vremenskim pečatom, ravnomerno distribuirajući saobraćaj
Cost Optimized Usmerava na nalog sa najnižom vrednošću prioriteta, optimizujući za provajdere s najnižim troškovima

Napredne combo i auto strategije (konfigurabilne po kombinaciji ili putem auto/* prefiksa — vidi AUTO-COMBO.md):

  • priority — striktan redosled, nikada ne rotira
  • weighted — proporcionalna podela saobraćaja po težinama modela
  • fill-first — isprazniti prvi model dok se ne dosegnu limiti
  • round-robin / strict-random / random
  • p2c (Power of Two Choices)
  • least-used i cost-optimized
  • auto — vođeno rezultatom kroz sve kandidate
  • lkgp (Last Known Good Provider) — vezuje se za poslednjeg uspešnog provajdera, zatim pada na pravila
  • context-optimized — bira model sa najvećim slobodnim prozorom konteksta
  • context-relay — ulančava modele sa dugim kontekstom za naredne ture

Zaglavlje za eksternu lepljivu sesiju

Za eksternu afinitet sesije (na primer, Claude Code/Codex agenti iza reverse proxy-ja), pošaljite:

X-Session-Id: your-session-key

OmniRoute takođe prihvata x_session_id i vraća efektivni ključ sesije u X-OmniRoute-Session-Id.

Ako koristite Nginx i šaljete zaglavlja u underscore-obliku, omogućite:

underscores_in_headers on;

Wildcard aliasi modela

Kreirajte wildcard šablone za remapiranje naziva modela:

Šablon: claude-sonnet-*     →  Cilj: cc/claude-sonnet-4-6
Šablon: gpt-*               →  Cilj: gh/gpt-5.3-codex

Wildcard-ovi podržavaju * (bilo koji karakteri) i ? (jedan karakter).

Rezervni lanci (Fallback Chains)

Definišite globalne rezervne lance koji se primenjuju kroz sve zahteve:

Lanac: production-fallback
  1. cc/claude-opus-4-7
  2. gh/gpt-5.3-codex
  3. glm/glm-4.7

Otpornost i Circuit Breakeri

Konfigurišite putem Dashboard → Settings → Resilience.

OmniRoute implementira otpornost na nivou provajdera sa pet komponenti:

  1. Red čekanja zahteva i regulisanje tempa — Oblikovanje zahteva na nivou sistema:

    • Requests Per Minute (RPM) — Maksimalan broj zahteva u minuti po nalogu
    • Min Time Between Requests — Minimalni razmak u milisekundama između zahteva
    • Max Concurrent Requests — Maksimalan broj istovremenih zahteva po nalogu
  2. Cooldown veze — Konfiguracija po tipu autentifikacije za jednu vezu nakon grešaka koje se mogu ponoviti:

    • Base Cooldown — Podrazumevani period cooldown-a za upstream greške koje se mogu ponoviti
    • Use Upstream Retry Hints — Poštuje autoritativne Retry-After ili reset nagoveštaje kada su dostupni
    • Max Backoff Steps — Maksimalan nivo eksponencijalnog backoff-a za ponovljene greške
  3. Circuit Breaker provajdera — Prati end-to-end greške provajdera, obeležava provajdera kao degradiranog na podešenom pragu upozorenja i otvara breaker kada se dostigne podešeni prag greške:

    • Degradation Threshold — Uzastopne greške provajdera prije prelaska u DEGRADED
    • Failure Threshold — Uzastopne greške provajdera prije prelaska u OPEN
    • Reset Timeout — Vremenski prozor prije nego se provajder ponovo testira
    • CLOSED (Zdrav) — Zahtevi teku normalno
    • DEGRADED — Zahtevi i dalje teku dok se prate povećane greške
    • OPEN — Provajder je privremeno blokiran nakon ponovljenih grešaka
    • HALF_OPEN — Testira se da li se provajder oporavio

    Ograničenja brzine 429 na nivou veze ostaju u Connection Cooldown i ne broje se u okviru breakera provajdera.

    Stanje runtime-a breakera provajdera prikazuje se samo na Dashboard → Health.

  4. Čekanje na cooldown — Ako sve kandidatske veze već čekaju u cooldown-u, OmniRoute može sačekati najraniji cooldown i automatski ponoviti isti klijentski zahtev.

  5. Automatsko otkrivanje ograničenja brzine — Kada upstream provajderi vrate eksplicitne prozore čekanja, ti nagoveštaji nadjačavaju lokalni cooldown veze kada je podešavanje omogućeno.

Profesionalni savet: Koristite stranicu Health za pregled i resetovanje live breakera provajdera nakon zastoja. Stranica Resilience samo menja konfiguraciju.


Izvoz / Uvoz baze podataka

Upravljajte rezervnim kopijama baze podataka u Dashboard → Settings → System & Storage.

Akcija Opis
Export Database Preuzima trenutnu SQLite bazu podataka kao .sqlite fajl
Export All (.tar.gz) Preuzima kompletnu arhivu rezervne kopije koja uključuje: bazu podataka, podešavanja, kombinacije, veze provajdera (bez kredencijala), metapodatke API ključeva
Import Database Otpremite .sqlite fajl da zamenite trenutnu bazu podataka. Rezervna kopija pre uvoza automatski se kreira osim ako je DISABLE_SQLITE_AUTO_BACKUP=true
# API: Izvoz baze podataka
curl -o backup.sqlite http://localhost:20128/api/db-backups/export

# API: Izvoz svega (kompletna arhiva)
curl -o backup.tar.gz http://localhost:20128/api/db-backups/exportAll

# API: Uvoz baze podataka
curl -X POST http://localhost:20128/api/db-backups/import \
  -F "file=@backup.sqlite"

Validacija uvoza: Uvezeni fajl se validira za integritet (SQLite pragma provera), obavezne tabele (provider_connections, provider_nodes, combos, api_keys) i veličinu (maksimalno 100MB).

Primeri upotrebe:

  • Migracija OmniRoute-a između mašina
  • Kreiranje eksternih rezervnih kopija za oporavak od katastrofe
  • Deljenje konfiguracija između članova tima (izvoz svega → deljenje arhive)

Settings Dashboard

Stranica podešavanja organizovana je u 7 tabova za lakšu navigaciju:

Tab Sadržaj
General Alati za sistemsko skladištenje, podrazumevano ponašanje, vidljivost Endpoint tunela
Appearance Kontrole teme (svetla/tamna/sistemska), vidljivost sidebar-a, prekidači panela za Cloudflare/Tailscale/ngrok kartice tunela
AI Budžet razmišljanja (passthrough / auto-strip / custom / adaptive — vidi THINKING_BUDGET.md), globalni sistemski prompt, statistika prompt keša
Security Podešavanja prijave/lozinke, kontrola pristupa po IP-u, API autentifikacija za /models, blokiranje provajdera, zaštita od prompt-injection napada
Routing Globalna strategija usmeravanja (Fill First / Round Robin / P2C / Random / Least Used / Cost Optimized), wildcard aliasi modela, rezervni lanci, podrazumevane vrednosti kombinacija
Resilience Red čekanja zahteva, cooldown veze, konfiguracija breakera provajdera i ponašanje čekanja na cooldown
Advanced Globalna konfiguracija proksija (HTTP/SOCKS5), prekoračenja proksija po provajderu

General više ne duplira read-only zapisnike i beleške o kešu. Podešavanja retencije i optimizacije baze podataka trajno se čuvaju putem /api/settings/database; ručno čišćenje keša koristi DELETE /api/cache. Maksimalan broj redova u logovima zahteva i proksija kontrolišu se putem CALL_LOGS_TABLE_MAX_ROWS i PROXY_LOGS_TABLE_MAX_ROWS.


Troškovi i upravljanje budžetom

Pristupite putem Dashboard → Costs.

Tab Namena
Budget Postavite limite potrošnje po API ključu sa dnevnim/nedeljnim/mesečnim budžetima i pratom u realnom vremenu
Pricing Pregledajte i uredite stavke cena modela — cena po 1K ulaznih/izlaznih tokena po provajderu
# API: Postavljanje budžeta
curl -X POST http://localhost:20128/api/usage/budget \
  -H "Content-Type: application/json" \
  -d '{"keyId": "key-123", "limit": 50.00, "period": "monthly"}'

# API: Dobijanje trenutnog statusa budžeta
curl http://localhost:20128/api/usage/budget

Praćenje troškova: Svaki zahtev zapisuje potrošnju tokena i izračunava trošak koristeći tabelu cena. Pregledajte raspodele u Dashboard → Usage po provajderu, modelu i API ključu.


Transkripcija audio zapisa

OmniRoute podržava transkripciju audio zapisa putem OpenAI-kompatibilnog endpointa:

POST /v1/audio/transcriptions
Authorization: Bearer your-api-key
Content-Type: multipart/form-data

# Primer sa curl
curl -X POST http://localhost:20128/v1/audio/transcriptions \
  -H "Authorization: Bearer your-api-key" \
  -F "file=@audio.mp3" \
  -F "model=openai/whisper-1"

deepgram/nova-3 je izvorna Deepgram ruta i zahteva Deepgram API ključ. Ako je konfigurisan samo OpenRouter, koristite openrouter/deepgram/nova-3.

Speech-to-Text (transkripcija) provajderi:

  • openai/ (kompatibilan sa whisper)
  • groq/ (Groq Whisper Turbo)
  • deepgram/ (Nova porodica)
  • assemblyai/
  • nvidia/ (Parakeet, Canary)
  • huggingface/ (whisper varijante)
  • qwen/

Text-to-Speech (POST /v1/audio/speech) provajderi:

  • openai/ (tts-1, tts-1-hd)
  • hyperbolic/
  • deepgram/ (Aura)
  • nvidia/ (Magpie TTS)
  • elevenlabs/
  • huggingface/
  • inworld/
  • cartesia/
  • playht/
  • kie/
  • aws-polly/
  • xiaomi-mimo/
  • coqui/, tortoise/
  • qwen/

Podržani audio formati za transkripciju: mp3, wav, m4a, flac, ogg, webm. Izlazni formati TTS-a zavise od provajdera (mp3, wav, opus, pcm, mulaw).


Strategije balansiranja kombinacija

Konfigurišite balansiranje po kombinaciji u Dashboard → Combos → Create/Edit → Strategy.

Strategija Opis
Round-Robin Rotira kroz modele sekvencijalno
Priority Uvek prvo pokušava prvi model; pada na rezervni samo pri grešci
Random Bira nasumičan model iz kombinacije za svaki zahtev
Weighted Usmerava proporcionalno na osnovu dodeljenih težina po modelu
Least-Used Usmerava na model sa najmanje nedavnih zahteva (koristi metrike kombinacije)
Cost-Optimized Usmerava na najjeftiniji dostupan model (koristi tabelu cena)

Globalne podrazumevane vrednosti kombinacija mogu se podesiti u Dashboard → Settings → Routing → Combo Defaults. Ciljni timeout-i kombinacije po podrazumevanom nasleđuju trenutni timeout zahteva. Koristite Target timeout (seconds) u podrazumevanim vrednostima kombinacije ili pojedinačnoj kombinaciji samo kada kraći limit po cilju treba da pokrene brži prelazak na rezervni.

Optimizacije kombinacija sa nultom latencijom su opcione. Ostavite Zero-latency optimizations onemogućenim da sprečite ove funkcije latencije da se utrkuju sa rezervnim ciljevima, preskoče ciljeve na osnovu istorije TTFT-a, ili kompresuju rezervne zahteve; omogućavanje dozvoljava konfigurisano hedžovanje, prediktivne TTFT preskoke i proaktivnu kompresiju rezervnih zahteva da razmene tačnost usmeravanja/zahteva za manju latenciju u repu.

Onemogućite Reasoning token buffer kada upstream provajderi zahtevaju stroge max_tokens / maxOutputTokens limite. Kada je omogućeno, usmeravanje kombinacije dodaje prostor za modele razmišljanja samo za modele sa poznatim izlaznim ograničenjem i ostavlja limit tokena klijenta nepromenjen kada bi sigurna bafer vrednost premašila to ograničenje. Ako je limit klijenta već iznad poznatog ograničenja, OmniRoute ga ograničava na tu vrednost prije slanja upstream zahteva.


Health Dashboard

Pristupite putem Dashboard → Health. Pregled zdravlja sistema u realnom vremenu sa 6 kartica:

Kartica Šta prikazuje
System Status Vreme rada, verzija, upotreba memorije, direktorijum podataka
Provider Health Runtime stanje globalnog circuit breaker-a provajdera
Rate Limits Aktivni cooldown-i veze po nalogu sa preostalim vremenom
Active Lockouts Aktivna zaključavanja specifična za model i privremeni izuzeci
Signature Cache Statistika keša deduplikacije (aktivni ključevi, stopa uspešnosti)
Latency Telemetry Agregacija latencije p50/p95/p99 po provajderu

Profesionalni savet: Stranica Health se automatski osvežava svakih 10 sekundi. Koristite karticu circuit breaker-a da identifikujete koji provajderi imaju probleme.


🤖 Аутоматско рутирање (без конфигурације)

OmniRoute долази са рутером вођеним оценама (score-driven auto-router) који бира најбољи модел за сваки захтев преко свих повезаних провајдера — без потребе за одржавањем комбинација. Само пошаљите захтев са једним од auto/* префикса и OmniRoute ће у ходу саставити виртуелну комбинацију, оцењујући кандидате на основу латенције, цене, стопе успешности, уклапања у контекст, погодности модела за задатак, недавних отказивања, квоте и стања circuit-breaker-а.

Префикс Оптимизује за
auto Уравнотежени подразумевани режим (латенција × цена × стопа успешности)
auto/coding Задаци програмирања: преферира Claude, GPT-5, GLM, Kimi, Qwen Coder, DeepSeek coders
auto/cheap Најнижа цена по токену, прихвата вишу латенцију
auto/fast Најнижа латенција, игнорише цену
auto/offline Само локални провајдери (Ollama, vLLM, llama.cpp) — корисно за air-gapped системе
auto/smart Приоритет квалитету закључивања (Opus, GPT-5 xhigh, R1, GLM 5.1 reasoning)
auto/lkgp "Last Known Good Provider" — фиксира се на последњи успешни провајдер, затим прелази на правила

Пример:

curl -X POST http://localhost:20128/v1/chat/completions \
  -H "Authorization: Bearer $OMNIROUTE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "auto/coding",
    "messages": [{ "role": "user", "content": "Refactor this Python function" }],
    "stream": true
  }'

Аутоматски рутер је потпуно описан у AUTO-COMBO.md — укључујући начин подешавања тежина оцењивања, стављања провајдера на црну листу и увида у одлуке рутирања у Dashboard → Auto Combo.


🔌 MCP и A2A интеграција

OmniRoute је истовремено MCP сервер (Model Context Protocol) и A2A сервер (Agent-to-Agent JSON-RPC 2.0). Свако IDE окружење или агент домаћин компатибилан са MCP-ом може директно позивати OmniRoute алате — без потребе за додатним омотачем (wrapper).

MCP транспорти

  • SSE: http://localhost:20128/api/mcp/sse
  • Streamable HTTP: http://localhost:20128/api/mcp/stream
  • stdio: omniroute --mcp (за IDE додатке који преферирају stdio)

Повезивање Claude Desktop

Уредите ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) или еквивалентну путању на Windows/Linux:

{
  "mcpServers": {
    "omniroute": {
      "command": "omniroute",
      "args": ["--mcp"]
    }
  }
}

Повезивање Cursor / Continue / VS Code MCP

Користите SSE URL http://localhost:20128/api/mcp/sse и Bearer API кључ генерисан у Dashboard → API Keys.

Опсези (Scopes)

MCP тренутно дефинише 32 именована опсега. Сваки Bearer кључ може бити ограничен на одређене опсеге — погледајте MCP-SERVER.md за меродаван преглед опсега и алата, и A2A-SERVER.md за JSON-RPC шему.


🧠 Sistem vештina

OmniRoute izlaže proširivi skill framework (src/lib/skills/) tako da agenti i A2A endpoint mogu da izvršavaju domenski specifične rutine (npr. code-review, summarize, extract-facts, web-research).

  • Marketplace UI — Pregledajte i instalirajte vештine iz Dashboard → Skills
  • Opsezi po ključu — Ograničite koji API ključevi mogu da pozivaju koje vештине
  • Prilagođene vештine — Ubacite TypeScript fajl u src/lib/a2a/skills/, registrujte ga, i on postaje odmah pozivljiv preko A2A

Kompletna referenca: SKILLS.md.


💾 Sistem memorije

OmniRoute čuva dugotrajnu konverzacionu memoriju sa hibridnim pronalaženjem:

  • SQLite FTS5 za pretragu po ključnim rečima kroz prethodne razmene
  • Qdrant vector store (opciono) za semantičko prisećanje
  • Automatska ekstrakcija činjenica — entiteti, preference i odluke se sumiraju nakon svake sesije i čuvaju u tabeli memory_facts
  • Memorije su ograničene po API ključu i po sesiji

Upravljajte memorijama u Dashboard → Memory (pretraga, uređivanje, izvoz, brisanje). HTTP površina (/api/memory/*) omogućava agentima da programski šalju i pretražuju činjenice — pogledajte MEMORY.md.


🔔 Webhooks

Pretplatite se na OmniRoute događaje za praćenje u realnom vremenu i automatizaciju.

  • Kreirajte webhook u Dashboard → Webhooks sa ciljnim URL-om i HMAC tajnim ključem za potpisivanje
  • Dostupni događaji: request.completed, request.failed, provider.unavailable, budget.exceeded, combo.switched, circuit_breaker.opened, circuit_breaker.closed
  • Svaki payload sadrži X-OmniRoute-Signature (HMAC-SHA256) za verifikaciju
  • Ponovni pokušaji: 3 pokušaja sa eksponencijalnim odlaganjem, zatim red za neisporučene poruke (dead-letter queue)

Kompletna šema u WEBHOOKS.md.


☁️ Cloud Agents

OmniRoute se integriše sa cloud agentima za kodiranje (OpenAI Codex Cloud, Devin, Jules, Antigravity) tako da možete slati dugotrajne zadatke iz istog dashboarda koji upravlja vašim lokalnim rutiranjem.

  • Kreirajte zadatke u Dashboard → Cloud Agents ili preko POST /api/v1/agents/tasks
  • Praćenje statusa, logova i artefakata po zadatku
  • Sopstveni API ključ po provajderu — kredencijali nikada ne napuštaju OmniRoute instancu

Kompletna referenca: CLOUD_AGENT.md.


🛠️ Programsko upravljanje

Možete upravljati svim OmniRoute resursima (provajderi, kombinacije, ključevi, podešavanja) preko HTTP-a koristeći Bearer ključ sa opsegom manage.

Generišite ključ u Dashboard → API Keys → New Key → Scope: manage, zatim:

# Prikaz liste provajdera
curl http://localhost:20128/api/providers \
  -H "Authorization: Bearer $OMNIROUTE_MANAGE_KEY"

# Dodavanje veze sa provajderom
curl -X POST http://localhost:20128/api/providers \
  -H "Authorization: Bearer $OMNIROUTE_MANAGE_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "provider": "openai", "apiKey": "sk-...", "name": "main" }'

# Kreiranje kombinacije
curl -X POST http://localhost:20128/api/combos \
  -H "Authorization: Bearer $OMNIROUTE_MANAGE_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "premium", "strategy": "priority", "models": [{ "model": "cc/claude-opus-4-7" }, { "model": "glm/glm-5.1" }] }'

# Prikaz liste/kreiranje API ključeva
curl http://localhost:20128/api/keys -H "Authorization: Bearer $OMNIROUTE_MANAGE_KEY"
curl -X POST http://localhost:20128/api/keys -H "Authorization: Bearer $OMNIROUTE_MANAGE_KEY" \
  -d '{ "name": "ci-bot", "scopes": ["chat"] }'

Pogledajte API_REFERENCE.md za kompletan katalog endpointa i šeme zahteva/odgovora.


💻 Interni CLI

OmniRoute dolazi sa internim CLI-jem (omniroute …) za podešavanje, dijagnostiku i kontrolu rada. Ovo je odvojeno od stranice „CLI Tools” u dashboard-u, koja konfiguriše CLI alate trećih strana (Claude Code, Cursor, Codex, Cline, …) da bi mogli da komuniciraju sa OmniRoute-om.

omniroute setup                    # Interaktivni čarobnjak (lozinka, provajderi, kombinacije)
omniroute setup --non-interactive  # Pogodno za CI
omniroute doctor                   # Dijagnostika ispravnosti (data direktorijum, baza, provajderi, portovi)
omniroute providers available      # Prikaz podržanih provajdera
omniroute providers list           # Prikaz konfigurisanih konekcija
omniroute providers test <id>      # Testiranje konekcije provajdera u realnom vremenu
omniroute combos list              # Prikaz kombinacija
omniroute combos switch <name>     # Postavljanje podrazumevane kombinacije
omniroute models                   # Prikaz dostupnih modela (--json, --search)
omniroute keys add | list | remove # Upravljanje API ključevima iz terminala
omniroute backup                   # Snimak konfiguracije i baze podataka
omniroute restore [<timestamp>]    # Vraćanje iz snimka
omniroute health                   # Detaljno stanje sistema (breakeri, keš, memorija)
omniroute quota                    # Iskorišćenost kvote provajdera
omniroute mcp status                # Status MCP servera
omniroute a2a status                # Status A2A servera
omniroute tunnel list|create|stop  # Cloudflare/Tailscale/ngrok tuneli
omniroute reset-password           # Resetovanje admin lozinke
omniroute --mcp                    # Pokretanje MCP servera preko stdio
omniroute --port 3000              # Pokretanje servera na proizvoljnom portu

Savet: kombinujte omniroute doctor --json sa alatom za monitoring da biste dobijali upozorenja o neispravnim konekcijama provajdera.


🖥️ Desktop aplikacija (Electron)

OmniRoute je dostupan kao nativna desktop aplikacija za Windows, macOS i Linux.

Instalacija

# Iz direktorijuma electron:
cd electron
npm install

# Razvojni režim (povezivanje na aktivan Next.js dev server):
npm run dev

# Produkcioni režim (koristi samostalni build):
npm start

Kreiranje instalacionih paketa

cd electron
npm run build          # Trenutna platforma
npm run build:win      # Windows (.exe NSIS)
npm run build:mac      # macOS (.dmg universal)
npm run build:linux    # Linux (.AppImage)

Izlaz → electron/dist-electron/

Ključne funkcije

Funkcija Opis
Spremnost servera Provera servera pre prikazivanja prozora (bez praznog ekrana)
Sistemska traka Minimizovanje u traku, promena porta, izlaz preko menija u traci
Upravljanje portovima Promena porta servera iz trake (automatski restart servera)
Bezbednosna politika sadržaja (CSP) Restriktivan CSP preko zaglavlja sesije
Jedinstvena instanca Samo jedna instanca aplikacije može biti pokrenuta u isto vreme
Režim rada bez interneta Ugrađeni Next.js server radi bez internet konekcije

Promenljive okruženja

Promenljiva Podrazumevana vrednost Opis
OMNIROUTE_PORT 20128 Port servera
OMNIROUTE_MEMORY_MB 512 Ograničenje Node.js heap-a (6416384 MB)

📖 Kompletna dokumentacija: electron/README.md