# OmniRoute — Dashboard Features Gallery (Српски) 🌐 **Languages:** 🇺🇸 [English](../../../../guides/FEATURES.md) · 🇪🇹 [am](../../../am/docs/guides/FEATURES.md) · 🇸🇦 [ar](../../../ar/docs/guides/FEATURES.md) · 🇦🇿 [az](../../../az/docs/guides/FEATURES.md) · 🇧🇬 [bg](../../../bg/docs/guides/FEATURES.md) · 🇧🇩 [bn](../../../bn/docs/guides/FEATURES.md) · 🇧🇦 [bs](../../../bs/docs/guides/FEATURES.md) · 🇨🇿 [cs](../../../cs/docs/guides/FEATURES.md) · 🇩🇰 [da](../../../da/docs/guides/FEATURES.md) · 🇩🇪 [de](../../../de/docs/guides/FEATURES.md) · 🇬🇷 [el](../../../el/docs/guides/FEATURES.md) · 🇪🇸 [es](../../../es/docs/guides/FEATURES.md) · 🇪🇪 [et](../../../et/docs/guides/FEATURES.md) · 🇮🇷 [fa](../../../fa/docs/guides/FEATURES.md) · 🇫🇮 [fi](../../../fi/docs/guides/FEATURES.md) · 🇫🇷 [fr](../../../fr/docs/guides/FEATURES.md) · 🇮🇪 [ga](../../../ga/docs/guides/FEATURES.md) · 🇮🇳 [gu](../../../gu/docs/guides/FEATURES.md) · 🇳🇬 [ha](../../../ha/docs/guides/FEATURES.md) · 🇮🇱 [he](../../../he/docs/guides/FEATURES.md) · 🇮🇳 [hi](../../../hi/docs/guides/FEATURES.md) · 🇭🇷 [hr](../../../hr/docs/guides/FEATURES.md) · 🇭🇺 [hu](../../../hu/docs/guides/FEATURES.md) · 🇦🇲 [hy](../../../hy/docs/guides/FEATURES.md) · 🇮🇩 [id](../../../id/docs/guides/FEATURES.md) · 🇳🇬 [ig](../../../ig/docs/guides/FEATURES.md) · 🇮🇹 [it](../../../it/docs/guides/FEATURES.md) · 🇯🇵 [ja](../../../ja/docs/guides/FEATURES.md) · 🇬🇪 [ka](../../../ka/docs/guides/FEATURES.md) · 🇰🇭 [km](../../../km/docs/guides/FEATURES.md) · 🇮🇳 [kn](../../../kn/docs/guides/FEATURES.md) · 🇰🇷 [ko](../../../ko/docs/guides/FEATURES.md) · 🇱🇹 [lt](../../../lt/docs/guides/FEATURES.md) · 🇱🇻 [lv](../../../lv/docs/guides/FEATURES.md) · 🇮🇳 [ml](../../../ml/docs/guides/FEATURES.md) · 🇮🇳 [mr](../../../mr/docs/guides/FEATURES.md) · 🇲🇾 [ms](../../../ms/docs/guides/FEATURES.md) · 🇲🇹 [mt](../../../mt/docs/guides/FEATURES.md) · 🇲🇲 [my](../../../my/docs/guides/FEATURES.md) · 🇳🇵 [ne](../../../ne/docs/guides/FEATURES.md) · 🇳🇱 [nl](../../../nl/docs/guides/FEATURES.md) · 🇳🇴 [no](../../../no/docs/guides/FEATURES.md) · 🇮🇳 [or](../../../or/docs/guides/FEATURES.md) · 🇮🇳 [pa](../../../pa/docs/guides/FEATURES.md) · 🇵🇭 [phi](../../../phi/docs/guides/FEATURES.md) · 🇵🇱 [pl](../../../pl/docs/guides/FEATURES.md) · 🇵🇹 [pt](../../../pt/docs/guides/FEATURES.md) · 🇧🇷 [pt-BR](../../../pt-BR/docs/guides/FEATURES.md) · 🇷🇴 [ro](../../../ro/docs/guides/FEATURES.md) · 🇷🇺 [ru](../../../ru/docs/guides/FEATURES.md) · 🇱🇰 [si](../../../si/docs/guides/FEATURES.md) · 🇸🇰 [sk](../../../sk/docs/guides/FEATURES.md) · 🇸🇮 [sl](../../../sl/docs/guides/FEATURES.md) · 🇸🇪 [sv](../../../sv/docs/guides/FEATURES.md) · 🇰🇪 [sw](../../../sw/docs/guides/FEATURES.md) · 🇮🇳 [ta](../../../ta/docs/guides/FEATURES.md) · 🇮🇳 [te](../../../te/docs/guides/FEATURES.md) · 🇹🇭 [th](../../../th/docs/guides/FEATURES.md) · 🇹🇷 [tr](../../../tr/docs/guides/FEATURES.md) · 🇺🇦 [uk-UA](../../../uk-UA/docs/guides/FEATURES.md) · 🇵🇰 [ur](../../../ur/docs/guides/FEATURES.md) · 🇺🇿 [uz](../../../uz/docs/guides/FEATURES.md) · 🇻🇳 [vi](../../../vi/docs/guides/FEATURES.md) · 🇳🇬 [yo](../../../yo/docs/guides/FEATURES.md) · 🇨🇳 [zh-CN](../../../zh-CN/docs/guides/FEATURES.md) · 🇹🇼 [zh-TW](../../../zh-TW/docs/guides/FEATURES.md) --- 🌐 **Languages:** 🇺🇸 [English](../../../../guides/FEATURES.md) · 🇪🇹 [am](../../../am/docs/guides/FEATURES.md) · 🇸🇦 [ar](../../../ar/docs/guides/FEATURES.md) · 🇦🇿 [az](../../../az/docs/guides/FEATURES.md) · 🇧🇬 [bg](../../../bg/docs/guides/FEATURES.md) · 🇧🇩 [bn](../../../bn/docs/guides/FEATURES.md) · 🇧🇦 [bs](../../../bs/docs/guides/FEATURES.md) · 🇨🇿 [cs](../../../cs/docs/guides/FEATURES.md) · 🇩🇰 [da](../../../da/docs/guides/FEATURES.md) · 🇩🇪 [de](../../../de/docs/guides/FEATURES.md) · 🇬🇷 [el](../../../el/docs/guides/FEATURES.md) · 🇪🇸 [es](../../../es/docs/guides/FEATURES.md) · 🇪🇪 [et](../../../et/docs/guides/FEATURES.md) · 🇮🇷 [fa](../../../fa/docs/guides/FEATURES.md) · 🇫🇮 [fi](../../../fi/docs/guides/FEATURES.md) · 🇫🇷 [fr](../../../fr/docs/guides/FEATURES.md) · 🇮🇪 [ga](../../../ga/docs/guides/FEATURES.md) · 🇮🇳 [gu](../../../gu/docs/guides/FEATURES.md) · 🇳🇬 [ha](../../../ha/docs/guides/FEATURES.md) · 🇮🇱 [he](../../../he/docs/guides/FEATURES.md) · 🇮🇳 [hi](../../../hi/docs/guides/FEATURES.md) · 🇭🇷 [hr](../../../hr/docs/guides/FEATURES.md) · 🇭🇺 [hu](../../../hu/docs/guides/FEATURES.md) · 🇦🇲 [hy](../../../hy/docs/guides/FEATURES.md) · 🇮🇩 [id](../../../id/docs/guides/FEATURES.md) · 🇳🇬 [ig](../../../ig/docs/guides/FEATURES.md) · 🇮🇹 [it](../../../it/docs/guides/FEATURES.md) · 🇯🇵 [ja](../../../ja/docs/guides/FEATURES.md) · 🇬🇪 [ka](../../../ka/docs/guides/FEATURES.md) · 🇰🇭 [km](../../../km/docs/guides/FEATURES.md) · 🇮🇳 [kn](../../../kn/docs/guides/FEATURES.md) · 🇰🇷 [ko](../../../ko/docs/guides/FEATURES.md) · 🇱🇹 [lt](../../../lt/docs/guides/FEATURES.md) · 🇱🇻 [lv](../../../lv/docs/guides/FEATURES.md) · 🇮🇳 [ml](../../../ml/docs/guides/FEATURES.md) · 🇮🇳 [mr](../../../mr/docs/guides/FEATURES.md) · 🇲🇾 [ms](../../../ms/docs/guides/FEATURES.md) · 🇲🇹 [mt](../../../mt/docs/guides/FEATURES.md) · 🇲🇲 [my](../../../my/docs/guides/FEATURES.md) · 🇳🇵 [ne](../../../ne/docs/guides/FEATURES.md) · 🇳🇱 [nl](../../../nl/docs/guides/FEATURES.md) · 🇳🇴 [no](../../../no/docs/guides/FEATURES.md) · 🇮🇳 [or](../../../or/docs/guides/FEATURES.md) · 🇮🇳 [pa](../../../pa/docs/guides/FEATURES.md) · 🇵🇭 [phi](../../../phi/docs/guides/FEATURES.md) · 🇵🇱 [pl](../../../pl/docs/guides/FEATURES.md) · 🇵🇹 [pt](../../../pt/docs/guides/FEATURES.md) · 🇧🇷 [pt-BR](../../../pt-BR/docs/guides/FEATURES.md) · 🇷🇴 [ro](../../../ro/docs/guides/FEATURES.md) · 🇷🇺 [ru](../../../ru/docs/guides/FEATURES.md) · 🇱🇰 [si](../../../si/docs/guides/FEATURES.md) · 🇸🇰 [sk](../../../sk/docs/guides/FEATURES.md) · 🇸🇮 [sl](../../../sl/docs/guides/FEATURES.md) · 🇸🇪 [sv](../../../sv/docs/guides/FEATURES.md) · 🇰🇪 [sw](../../../sw/docs/guides/FEATURES.md) · 🇮🇳 [ta](../../../ta/docs/guides/FEATURES.md) · 🇮🇳 [te](../../../te/docs/guides/FEATURES.md) · 🇹🇭 [th](../../../th/docs/guides/FEATURES.md) · 🇹🇷 [tr](../../../tr/docs/guides/FEATURES.md) · 🇺🇦 [uk-UA](../../../uk-UA/docs/guides/FEATURES.md) · 🇵🇰 [ur](../../../ur/docs/guides/FEATURES.md) · 🇺🇿 [uz](../../../uz/docs/guides/FEATURES.md) · 🇻🇳 [vi](../../../vi/docs/guides/FEATURES.md) · 🇳🇬 [yo](../../../yo/docs/guides/FEATURES.md) · 🇨🇳 [zh-CN](../../../zh-CN/docs/guides/FEATURES.md) · 🇹🇼 [zh-TW](../../../zh-TW/docs/guides/FEATURES.md) Визуелни водич кроз сваки одељак контролне табле OmniRoute. > 📅 **Последње ажурирање:** 2026-06-28 — **v3.8.40** --- ## ✨ Istaknute funkcije verzije v3.8.0 Ciklus v3.7.x → v3.8.0 doneo je automatsko rutiranje bez konfiguracije, nove provajdere, OAuth tokove, dublju otpornost i znatno bogatije CLI iskustvo. Ključne funkcije su navedene ispod — potpuni detalji dalje u dokumentu i u povezanim specifikacijama. - 🤖 **Auto Combo / Automatsko rutiranje bez konfiguracije** — koristite prefikse `auto/coding`, `auto/fast`, `auto/cheap`, `auto/offline`, `auto/smart`, `auto/lkgp`, `auto/chaos`. Pokreće ih mehanizam za bodovanje sa 16 faktora i 6 pažljivo odabranih **paketa režima** (ship-fast, cost-saver, quality-first, offline-friendly, reliability-first, chaos-mode) - 🆕 **Command Code provajder** (#2199) — potpuna registracija sa katalogom modela i praćenjem kvota - 🆕 **Z.AI provajder** — novi provajder sa besplatnim nivoom i oznakama kvota - 🎬 **Proširenje KIE medija** — proširen katalog koji uključuje modele za generisanje video zapisa - 🔐 **Devin autentifikacija** — Desktop uvozi postojeći Devin API ključ; CLI koristi lokalne `devin auth login` akreditive - 🆓 **8 novih besplatnih provajdera** — LLM7, Lepton, UncloseAI, BazaarLink, Completions, Enally, FreeTheAi, Command Code - 🎯 **Rutiranje po nivoima svesno o manifestu W1–W4** — manifesti provajdera pokreću ponderisani izbor nivoa - 🎨 **Potpuni Cursor OpenAI paritet** — pozivi alata, striming, upravljanje sesijama od početka do kraja - 📊 **Korišćenje Cursor Pro plana** — podaci o kvoti i ciklusu prikazani na kontrolnoj tabli ograničenja provajdera - ⚡ **Analitika po nivoima usluge / Codex analitika brzog nivoa** — vidljivost potrošnje po nivoima - 📌 **Prilepljeno rutiranje po sesiji** — Codex sesije se vezuju za isti nalog između poteza - 🔊 **Poboljšanja Inworld TTS** — katalozi glasova, striming i poboljšanja latencije - 🔑 **Kiro headless autentifikacija** — prijava putem lokalnog `kiro-cli` SQLite skladišta, bez potrebe za pregledačem - 📉 **Praćenje kvota i ograničenja za DeepSeek** — dnevna/mesečna potrošnja prikazana na kontrolnoj tabli - 🔄 **Strategija rutiranja svesna o resetovanju** — kombinacije sada favorizuju naloge čiji se prozor kvote uskoro resetuje - ⏱️ **`fallbackDelayMs`** i **dinamička detekcija ograničenja alata** — precizniji tajming za prebacivanje na rezervu + ograničenja broja alata po provajderu - 🔧 **Degradacija režima u pozadini (Responses API)** — prebacuje se na sinhroni režim sa strukturiranim upozorenjem kada uzvodni servis nema podršku za pozadinsko ispitivanje - 🚦 **Klasifikacija 429 po provajderu** + prekidač `useUpstream429BreakerHints` — precizniji rad prekidača na osnovu naznaka o ograničenju brzine od uzvodnog servisa - 🩺 **Kontrolna tabla za pauze modela** — pratite blokade po modelu i ručno ih ponovo omogućite iz korisničkog interfejsa - 🔒 **MITM dinamička detekcija Linux sertifikata** — radi na Debian/Ubuntu, Fedora/RHEL, Arch i drugim distribucijama - 💻 **CLI paket poboljšanja** — preko 20 komandi, uključujući `omniroute providers`, `omniroute combos`, `omniroute doctor`, `omniroute setup` - 🔍 **Otkrivanje modela za Qdrant embedding** — automatska provera modela vektorskog skladišta - 🔑 **API ključevi / Bearer ključevi sa opsegom `manage`** — programski izvršavajte administratorske operacije preko API-ja - 🏥 **Analitika stanja combo ciljeva** + **strukturirani combo builder** — stanje po cilju i UI builder za sklapanje koraka `(provider, model, connection)` - 🤝 **GitLab Duo OAuth provajder** — prijava sa GitLab akreditivima - 🧠 **Reasoning Replay Cache** — hibridna memorijska + SQLite trajna memorija tragova rezonovanja 📚 **Related docs:** [Skills Framework](../frameworks/SKILLS.md) · [Memory System](../frameworks/MEMORY.md) · [Cloud Agents](../frameworks/CLOUD_AGENT.md) · [Webhooks](../frameworks/WEBHOOKS.md) · [Reasoning Replay Cache](../routing/REASONING_REPLAY.md) --- ## 🔌 Провајдери Управљајте везама са AI провајдерима: OAuth провајдери (Claude Code, Codex), провајдери са API кључем (Groq, DeepSeek, OpenRouter) и бесплатни провајдери (Qoder, Kiro). Kiro налози укључују праћење стања кредита — преостали кредити, укупна додела и датум обнове видљиви су у Dashboard → Usage. OpenRouter везе могу да чувају `preset` по вези у Advanced Settings. Када је подешен, OmniRoute га шаље као поље врхунског нивоа OpenRouter захтева, на пример `"preset": "email-copywriter"`, осим ако клијентски захтев већ не садржи свој сопствени `preset`. ![Providers Dashboard](../screenshots/01-providers.png) --- ## 🎨 Комбо Направите комбо стратегије рутирања модела са 19 јавних стратегија: priority, weighted, round-robin, context-relay, fill-first, p2c (power-of-two choices), random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp (last-known-good-provider), context-optimized, cache-optimized, **fusion** (паралелно слање упита групи модела, а затим синтеза одговора преко судије) и **pipeline**. Сваки комбо повезује више модела уз аутоматски резервни механизам и укључује брзе шаблоне и провере спремности. Недавна побољшања комбоа: - **Структуирани градитељ комбоа** — направите сваки корак избором провајдера, модела и тачног налога/везе - **Подршка за поновљене провајдере** — поново користите истог провајдера више пута у једном комбоу, све док је тупла `(provider, model, connection)` јединствена - **Здравље мете комбоа** — аналитика и приказ здравља сада разликују појединачне мете/кораке комбоа уместо да све спајају у стрингове модела - **Композитно уређивање нивоа** — `defaultTier -> fallbackTier` сада утиче на редослед извршавања/резервног механизма у извођењу за кораке комбоа на врхунском нивоу - **Шаблони системског упита** — комбо `system_message` подржава сервер-стране `{{MODEL_ID}}`, `{{PROVIDER_ID}}`, `{{ACCOUNT}}` и `{{FINGERPRINT}}` променљиве, које се проширују на основу мете која је стварно рутирана, непосредно пре слања. Дозволу имају само наведене вредности и нема рекурзије; непознате променљиве остају непромењене; празне вредности се проширују на празно; клијентски системски упити се никада не преписују. `{{FINGERPRINT}}` се решава само за бесплатне провајдере засноване на отиску са фиксираним или аутоматски ротираним отиском — свуда другде се проширује на празно (нпр. везе са јединственим отиском, провајдери без отиска). Проширивање обухвата стандардну петљу слања, round-robin и фиксиране сесије контекст-кеша; fusion, chaos, pipeline и nested-execute стратегије још не проширују променљиве. ![Combos Dashboard](../screenshots/02-combos.png) --- ## 📊 Аналитика Свеобухватна аналитика коришћења са потрошњом токена, процењеним трошковима, топлотним мапама активности, графиконима недељне расподеле и прегледима по провајдерима. ![Analytics Dashboard](../screenshots/03-analytics.png) --- ## 🏥 Здравље система Праћење у реалном времену: време рада, меморија, верзија, перцентили латенције (p50/p95/p99), статистика кеша, стања circuit breaker-а провајдера, активне сесије под надзором квоте и здравље мета комбоа. ![Health Dashboard](../screenshots/04-health.png) --- ## 🔧 Плејграунд за преводиоца Четири режима за дебагирање API превода: **Playground** (конвертор формата), **Chat Tester** (тестирање уживо), **Test Bench** (групно тестирање) и **Live Monitor** (праћење у реалном времену). ![Playground преводиоца](../screenshots/05-translator.png) --- ## 🎮 Model Playground _(v2.0.9+)_ Тестирајте било који модел директно из контролне табле. Изаберите добављача, модел и крајњу тачку, пишите упите (промптове) уз Monaco Editor, стримујте одговоре у реалном времену, прекините стриминг у ходу и прикажите метрике времена извршавања. --- ## 🎨 Теме _(v2.0.5+)_ Прилагодиве теме боја за целу контролну таблу. Изаберите једну од 7 унапред задатих боја (Coral, Blue, Red, Green, Violet, Orange, Cyan) или направите прилагођену тему одабиром било које hex боје. Подржани су светли, тамни и системски режим. --- ## ⚙️ Подешавања Обухватан панел подешавања са **7 картица**: - **General** — Системско складиштење, управљање резервним копијама (извоз/увоз базе података) - **Appearance** — Бирач теме (тамна/светла/системска), унапред задате теме боја и прилагођене боје, видљивост дневника здравственог стања, контроле видљивости ставки и раздвајача група на бочној траци, контроле видљивости тунела крајњих тачака - **AI** — Функције AI асистента, унапред задате рутирне пресете (Auto Combo `auto/coding`, `auto/fast`, `auto/cheap`, `auto/smart`), кеш понављања резоновања и прекидачи за вештине/памћење - **Security** — Заштита API крајње тачке, блокирање прилагођених добављача, филтрирање IP адреса, информације о сесији - **Routing** — Алијаси модела, деградација позадинских задатака, рутирање по нивоима свесно манифеста (W1–W4), `fallbackDelayMs`, „лепљиво” рутирање по сесији - **Resilience** — Постојаност ограничења брзине, подешавање прекидача кола (circuit breaker), аутоматско онемогућавање забрањених налога, праћење истека добављача, праг предаје за **Context Relay** и конфигурација модела за резимирање, класификација 429 по добављачу и прекидач `useUpstream429BreakerHints`, хлађење модела - **Advanced** — Прескакања конфигурације, траг ревизије конфигурације, режим деградације резервних опција, деградација позадинског режима за Responses API ![Контролна табла подешавања](../screenshots/06-settings.png) --- ## 🔧 CLI алати Конфигурација једним кликом за AI алате за кодирање: Claude Code, Codex CLI, OpenClaw, Kilo Code, Antigravity, Cline, Continue, Cursor и Factory Droid. Обухвата аутоматизовану примену/поништавање конфигурације, профиле веза и мапирање модела. ![Контролна табла CLI алата](../screenshots/07-cli-tools.png) --- ## 🤖 CLI агенти _(v2.0.11+)_ Контролна табла за откривање и управљање CLI агентима. Приказује мрежу од 16 уграђених агента (Codex, Claude, Goose, OpenClaw, Aider, OpenCode, Cline, ForgeCode, Amazon Q, Open Interpreter, Cursor CLI, Warp, **Windsurf**, **Devin CLI**, **Kimi Coding**, **Command Code**) са: - **Статус инсталације** — Инсталиран / Није пронађен, уз детекцију верзије - **Ознаке протокола** — stdio, HTTP, итд. - **Прилагођени агенти** — Регистровање било ког CLI алата преко форме (назив, извршни фајл, команда за верзију, аргументи покретања) - **Подударање CLI отиска** — Прекидач по добављачу за подударање потписа изворних CLI захтева, чиме се смањује ризик забране уз очување IP адресе проксија - **Локална Devin аутентикација** — Devin CLI користи `devin auth login`; није потребан ток OAuth преко прегледача --- ## 🔗 Prosleđivanje konteksta (Context Relay) _(v3.5.5+)_ Kombinovana strategija koja očuvava kontinuitet sesije kada rotacija naloga nastupi u sred konverzacije. Pre nego što se aktivni nalog istroši, OmniRoute u pozadini generiše strukturirani rezime za predaju (handoff summary). Nakon što se sledeći zahtev razreši na drugi nalog, rezime se ubacuje kao sistemska poruka tako da novi nalog nastavlja sa potpunim kontekstom. Podešavanje je moguće na nivou kombinacije ili globalno: - **Prag za predaju (Handoff Threshold)** — Procenat iskorišćenosti kvote koji pokreće generisanje rezimea (podrazumevano 85%) - **Maksimalan broj poruka za rezime (Max Messages For Summary)** — Koliko skorašnje istorije treba sažeti - **Model za rezime (Summary Model)** — Opcioni model koji se koristi umesto podrazumevanog za generisanje rezimea predaje Trenutno je podržana rotacija Codex naloga. Pogledajte [dokumentaciju za Context Relay](../architecture/ARCHITECTURE.md). --- ## 🗜️ Kompresija promptova _(v3.7.9+)_ Context & Cache sada izlaže posebne stranice za Caveman, RTK i kombinacije kompresije (Compression Combos): - **Caveman** — paketi pravila svesni jezika, pregled, kontrole režima izlaza i analitika - **RTK** — kompresija svesna komandi za shell, git, test, build, package, Docker, infra, JSON i izlaz stack-trace-a - **Compression Combos** — imenovani pipeline-ovi kao `rtk -> caveman` dodeljeni kombinacijama rutiranja; podrazumevana slojevita matematika dostiže prosek od `~89%` i uštede od `78-95%` u prihvatljivom kontekstu kada oba mehanizma dejstvuju - **Oporavak sirovog izlaza (Raw-output recovery)** — opcioni redigovani pokazivači na sirovi RTK izlaz radi debagovanja komprimovanih grešaka Pogledajte [Vodič za kompresiju](../compression/COMPRESSION_GUIDE.md), [RTK kompresiju](../compression/RTK_COMPRESSION.md) i [Mehanizme kompresije](../compression/COMPRESSION_ENGINES.md). --- ## 🛡️ Pojačana bezbednost proksija (Proxy Hardening) _(v3.5.5+)_ Sveobuhvatno sprovođenje konfiguracije proksija kroz ceo tok obrade zahteva: - **Provera zdravlja tokena (Token Health Check)** — Pozadinsko obnavljanje OAuth tokena sada razrešava konfiguraciju proksija po vezi, sprečavajući greške u okruženjima koja zahtevaju proksi - **Validacija API ključa** — Validacija ključa provajdera (`POST /api/providers/validate`) prolazi kroz `runWithProxyContext`, poštujući postavke proksija na nivou provajdera i globalne postavke - **Ispravka undici Dispatcher-a** — Dispatcher-i proksija koriste undici-jevu sopstvenu implementaciju fetch-a umesto Node-ove ugrađene fetch funkcije, čime se rešava greška `invalid onRequestStart method` na Node.js 22 - **Detekcija verzije Node.js-a** — Stranica za prijavu proaktivno detektuje nekompatibilne verzije Node.js-a (24+) i prikazuje upozoravajuću traku sa uputstvima za korišćenje Node 22 LTS --- ## 📧 Maskiranje privatnosti email adrese _(v3.5.6+)_ Email adrese OAuth naloga su podrazumevano maskirane (npr. `di*****@g****.com`) da bi se sprečilo neželjeno otkrivanje prilikom deljenja snimaka ekrana ili snimanja demoa. Koristite Settings → Appearance → Account email visibility da otkrijete ili maskirate pune email adrese naloga globalno, na svim ekranima provajdera, kombinacija, logova, kvota i playground-a. --- ## 👁️ Prekidač vidljivosti modela _(v3.5.6+)_ Lista modela na stranici provajdera sada uključuje: - **Traku za pretragu/filtriranje u realnom vremenu** — Brzo pronalaženje određenih modela - **Prekidač vidljivosti po modelu** (ikonica 👁) — Skriveni modeli su prikazani sivom bojom i izostavljeni iz kataloga `/v1/models` - **Bedž aktivnog broja** (`N/M active`) — Prikazuje na prvi pogled koliko je modela omogućeno u odnosu na ukupan broj --- ## 🔧 Popravka OAuth env-a _(v3.6.1+)_ Akcija „Repair env" jednim klikom za OAuth provajdere koja vraća nedostajuće environment promenljive i popravlja neispravno stanje autentikacije. Dostupna iz `Dashboard → Providers → [OAuth Provider] → Repair env`. Automatski detektuje i popravlja: - Nedostajuće OAuth klijentske kredencijale - Oštećene unose u env fajlu - Sanitizaciju backup putanje --- ## 🗑️ Deinstalacija / Potpuna deinstalacija _(v3.6.2+)_ Skripte za čisto uklanjanje za sve metode instalacije: | Komanda | Akcija | | ------------------------ | ----------------------------------------------------------------------------------------------- | | `npm run uninstall` | Uklanja sistemsku aplikaciju, ali **čuva 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**. | --- ## 🖼️ Mediji _(v2.0.3+)_ Generišite slike, video i muziku direktno iz dashboard-a. Podržava OpenAI, xAI, Together, Hyperbolic, SD WebUI, ComfyUI, AnimateDiff, Stable Audio Open i MusicGen. --- ## 📝 Logovi zahteva Logovanje zahteva u realnom vremenu sa filtriranjem po provajderu, modelu, nalogu i API ključu. Prikazuje status kodove, potrošnju tokena, latenciju i detalje odgovora. ![Usage Logs](../screenshots/08-usage.png) --- ## 🌐 API endpoint Vaš unifikovani API endpoint sa raspodelom mogućnosti: Chat Completions, Responses API, Embeddings, Image Generation, Reranking, Audio Transcription, Text-to-Speech, Moderations, i registrovani API ključevi. Cloudflare Quick Tunnel, Tailscale Funnel, ngrok Tunnel i cloud proxy podrška su dostupni za daljinski pristup. ![Endpoint Dashboard](../screenshots/09-endpoint.png) --- ## 🔑 Upravljanje API ključevima Kreirajte, definišite domen i opozivajte API ključeve. Svaki ključ se može ograničiti na specifične modele/provajdere sa punim pristupom ili samo-za-čitanje dozvolama. Vizuelno upravljanje ključevima sa praćenjem potrošnje. --- ## 📋 Audit log Praćenje administrativnih akcija sa filtriranjem po tipu akcije, izvršiocu, cilju, IP adresi i vremenskoj oznaci. Kompletna istorija bezbednosnih događaja. --- ## 🖥️ Desktop aplikacija Nativna Electron desktop aplikacija za Windows, macOS i Linux. Pokrenite OmniRoute kao samostalnu aplikaciju sa integracijom u system tray, podrškom za rad bez interneta, automatskim ažuriranjem i instalacijom jednim klikom. Ključne funkcionalnosti: - Provera spremnosti servera (nema praznog ekrana pri hladnom pokretanju) - System tray sa upravljanjem portovima - Content Security Policy - Zaključavanje jedne instance (single-instance lock) - Automatsko ažuriranje pri ponovnom pokretanju - UI uslovljen platformom (macOS traffic lights, Windows/Linux podrazumevana titlebar traka) - Ojačano pakovanje Electron build-a — simbolički linkovani `node_modules` u samostalnom paketu se detektuje i odbija pre pakovanja, sprečavajući runtime zavisnost od build mašine (v2.5.5+) - **Elegantno isključivanje (Graceful shutdown)** — Electron `before-quit` čisto isključuje Next.js, sprečavajući zaključavanje SQLite WAL baze podataka (v3.6.2+) 📖 Pogledajte [`electron/README.md`](../../electron/README.md) za kompletnu dokumentaciju. --- ## 🌐 V1 WebSocket Bridge _(v3.6.6+)_ OmniRoute sada podržava **OpenAI-kompatibilne WebSocket klijente** putem `/v1/ws` upgrade endpointa. Prilagođeni `scripts/dev/v1-ws-bridge.mjs` server obavija Next.js i unapređuje WS konekcije u pune bidirekcione streaming sesije. Autentikacija koristi isti API ključ ili session cookie kao i HTTP zahtevi. Ključna ponašanja: - WS upgrade validiran od strane `src/lib/ws/handshake.ts` pre nego što se konekcija uspostavi - Streamovi se čisto prekidaju pri zatvaranju sesije ili grešci na upstream-u - Radi paralelno sa postojećim HTTP+SSE streaming putem --- ## 🔑 Токени за синхронизацију и конфигурациони пакет _(v3.6.6+)_ Приступ са више уређаја и приступ спољних оператера сада је могућ путем **токена за синхронизацију са ограниченим опсегом**: - **`POST /api/sync/tokens`** — Издавање новог токена за синхронизацију (са ограниченим опсегом и опционим роком важења) - **`DELETE /api/sync/tokens/:id`** — Опозив токена - **`GET /api/sync/bundle`** — Преузимање верзионисаног JSON снимка конфигурације идентификованог помоћу `ETag` вредности (аутентификација је могућа само токеном за синхронизацију). Подешавања аутентификације, попут лозинке контролне табле, уклањају се, али акредитиви добављача и API кључеви остају укључени, па датотеку третирајте као тајну Конфигурациони пакет се креира помоћу `src/lib/sync/bundle.ts`. Корисници пакета упоређују заглавље одговора `ETag` како би открили промене без поновног преузимања целокупног садржаја. Из CLI-ја, `omniroute sync bundle --token ` (или `OMNIROUTE_SYNC_TOKEN`) чува га у датотеци којој може да приступи само власник. --- ## 🧠 GLM Thinking preset _(v3.6.6+)_ **GLM Thinking (`glmt`)** je sada registrovan kao provajder prvog reda: 65 536 maksimalnih izlaznih tokena, 24 576 budžeta za razmišljanje, podrazumevani tajmaut od 900 s, format API-ja kompatibilan sa Claude-om, i deljena sinhronizacija korišćenja sa GLM porodicom. **Hibridno brojanje tokena** je takođe stiglo u v3.6.6: kada provajder kompatibilan sa Claude-om izloži `/messages/count_tokens`, OmniRoute ga poziva pre velikih zahteva, sa gracioznim rezervnim mehanizmom procene. --- ## 🛡️ Bezbedno izlazno dohvatanje i SSRF zaštita _(v3.6.6+)_ Sve provere provajdera i pozivi za otkrivanje modela sada prolaze kroz dvoslojnu izlaznu zaštitu: 1. **URL zaštita** (`src/shared/network/outboundUrlGuard.ts`) — Blokira privatne/loopback/link-local IP opsege pre nego što se otvori soket. 2. **Wrapper za bezbedno dohvatanje** (`src/shared/network/safeOutboundFetch.ts`) — Primenjuje URL zaštitu, normalizuje tajmaute i ponavlja privremene greške koristeći eksponencijalni backoff. Kršenja zaštite se prikazuju kao HTTP 422 (`URL_GUARD_BLOCKED`) i upisuju se u dnevnik revizije usklađenosti preko `providerAudit.ts`. --- ## 🔄 Ponovni pokušaji svesni cooldown-a _(v3.6.6+)_ Zahtevi za ćaskanje se sada **automatski ponavljaju** kada nadređeni provajder vrati cooldown ograničen na model. Podesivo preko `REQUEST_RETRY` (podrazumevano: 2) i `MAX_RETRY_INTERVAL_SEC` (podrazumevano: 30 s). Poboljšano je učenje iz zaglavlja ograničenja stope preko `x-ratelimit-reset-requests`, `x-ratelimit-reset-tokens` i `Retry-After` — stanje cooldown-a po modelu vidljivo je na Resilience kontrolnoj tabli. --- ## 📋 Revizija usklađenosti v2 _(v3.6.6+)_ Dnevnik revizije je proširen paginacijom baziranom na kursoru, obogaćivanjem konteksta zahteva (ID zahteva, user agent, IP), strukturisanim događajima autentikacije, CRUD događajima provajdera sa kontekstom razlika (diff), i logovanjem validacija blokiranih zbog SSRF-a. Novi događaji se emituju iz `src/lib/compliance/providerAudit.ts`.