# OmniRoute — Dashboard Features Gallery (Yorùbá) 🌐 **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) · 🇷🇸 [sr](../../../sr/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) · 🇨🇳 [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) · 🇷🇸 [sr](../../../sr/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) · 🇨🇳 [zh-CN](../../../zh-CN/docs/guides/FEATURES.md) · 🇹🇼 [zh-TW](../../../zh-TW/docs/guides/FEATURES.md) Ìtọ́sọ́nà àwòrán sí gbogbo abala ojú-iṣẹ́ OmniRoute. > 📅 **Ìgbà ìkẹyìn tí a ṣàfikún:** 2026-06-28 — **v3.8.40** --- ## ✨ Àwọn Kókó Pàtàkì v3.8.0 Àyíká v3.7.x → v3.8.0 ṣàfikún ìtọ́sọ́nà aládàáṣe láìsí àtòjọ-ẹ̀rọ, àwọn olùpèsè tuntun, àwọn ìṣàn OAuth, ìfaradà tó jinlẹ̀ sí i, àti ìrírí CLI tó túbọ̀ lọ́rọ̀. Àwọn ànfàní pàtàkì wà nísàlẹ̀ — àwọn ẹ̀kúnrẹ́rẹ́ kíkún wà níwájú sí i nínú ìwé náà àti nínú àwọn àlàyé ìlànà tí a so mọ́ ọn. - 🤖 **Auto Combo / Ìtọ́sọ́nà aládàáṣe láìsí àtòjọ-ẹ̀rọ** — lo àwọn ìpele-iṣáájú `auto/coding`, `auto/fast`, `auto/cheap`, `auto/offline`, `auto/smart`, `auto/lkgp`, `auto/chaos`. Ẹ́ńjìnnì ìṣírò onífàkítọ̀ 16 àti àwọn **àkójọpọ̀ módù** 6 tí a ṣètò pẹ̀lú ìṣọ́ra (ship-fast, cost-saver, quality-first, offline-friendly, reliability-first, chaos-mode) ló ń ṣètìlẹ́yìn fún un - 🆕 **Olùpèsè Command Code** (#2199) — ìforúkọsílẹ̀ alákọ̀ọ́kọ́ pẹ̀lú àkójọ àwọn model àti ìtọ́pa ìpín lílò - 🆕 **Olùpèsè Z.AI** — olùpèsè ìpele ọ̀fẹ́ tuntun pẹ̀lú àwọn àmì ìpín lílò - 🎬 **Ìfẹ̀síwájú mídíà KIE** — àkójọ tí a fẹ̀ sí i, tó fi mọ́ àwọn model ìṣẹ̀dá fídíò - 🔐 **Ìfàṣẹsí Devin** — Desktop ń kó kọ́kọ́rọ́ Devin API tó ti wà wọlé; CLI sì ń lo àwọn ẹ̀rí `devin auth login` abẹ́lé - 🆓 **Àwọn olùpèsè ọ̀fẹ́ tuntun 8** — LLM7, Lepton, UncloseAI, BazaarLink, Completions, Enally, FreeTheAi, Command Code - 🎯 **Ìtọ́sọ́nà ìpele W1–W4 tó mọ̀ nípa manifest** — àwọn manifest olùpèsè ló ń darí yíyan ìpele tí a fi ìwọ̀n sí - 🎨 **Ìbámu OpenAI kíkún fún Cursor** — àwọn ìpè irinṣẹ́, streaming, àti ìṣàkóso session láti ìbẹ̀rẹ̀ dé òpin - 📊 **Lílò ètò Cursor Pro** — dátà ìpín lílò àti àyíká hàn lórí pátákó ìṣàkóso ààlà àwọn olùpèsè - ⚡ **Ìpínkiri ìpele iṣẹ́ / ìtúpalẹ̀ ìpele yíyára Codex** — ìríran sí bí ìpele kọ̀ọ̀kan ṣe ń jẹ ohun àmúlò - 📌 **Ìtọ́sọ́nà dídì mọ́ ọ̀nà fún session kọ̀ọ̀kan** — àwọn session Codex máa ń dúró lórí account kan náà láàárín àwọn ìyípadà ọ̀rọ̀ - 🔊 **Àwọn ìmúdàgbàsókè Inworld TTS** — àwọn àkójọ ohùn, streaming, àti ìmúdára àkókò ìdádúró - 🔑 **Ìfàṣẹsí Kiro láìsí ojú-àwòrán** — wọlé nípasẹ̀ ibi ìpamọ́ SQLite abẹ́lé ti `kiro-cli`, kò nílò browser - 📉 **Ìṣàkíyèsí ìpín lílò àti ààlà DeepSeek** — lílò ojoojúmọ́ àti oṣooṣù hàn nípasẹ̀ pátákó ìṣàkóso - 🔄 **Ọgbọ́n ìtọ́sọ́nà tó mọ ìgbà àtúnṣe** — àwọn combo ń yan àwọn account tí fèrèsé ìpín lílò wọn yóò tètè ṣe àtúnṣe jù lọ nísinsìnyí - ⏱️ **`fallbackDelayMs`** àti **ìṣàwárí ààlà irinṣẹ́ tó ń yí padà** — ìṣàkóso àkókò fallback tó péye sí i + àwọn ààlà iye irinṣẹ́ fún olùpèsè kọ̀ọ̀kan - 🔧 **Ìdínkù módù abẹ́lẹ̀ (Responses API)** — ó máa ń padà sí módù synchronous pẹ̀lú ìkìlọ̀ tó ní ètò nígbà tí upstream kò bá ní background polling - 🚦 **Ìsọ̀rí 429 fún olùpèsè kọ̀ọ̀kan** + àṣàyàn `useUpstream429BreakerHints` — ìhùwàsí breaker tó péye sí i nípa lílo àwọn ìtọ́kasí ààlà ìwọ̀n upstream - 🩺 **Pátákó ìṣàkóso cooldown àwọn model** — ṣàkíyèsí ìdènà model kọ̀ọ̀kan, kí o sì tún mú wọn ṣiṣẹ́ lọ́wọ́ láti UI - 🔒 **Ìṣàwárí cert Linux MITM tó ń yí padà** — ó ń ṣiṣẹ́ lórí Debian/Ubuntu, Fedora/RHEL, Arch, àti àwọn distro mìíràn - 💻 **Àkójọpọ̀ ìmúdàgbàsókè CLI** — àwọn command tó ju 20 lọ, tó fi mọ́ `omniroute providers`, `omniroute combos`, `omniroute doctor`, `omniroute setup` - 🔍 **Ìṣàwárí model embedding Qdrant** — ìdánwò model ibi ìpamọ́ vector aládàáṣe - 🔑 **Àwọn API Keys / Bearer keys pẹ̀lú scope `manage`** — ṣe àwọn iṣẹ́ admin lọ́nà ètò nípasẹ̀ API - 🏥 **Ìtúpalẹ̀ ìlera àfojúsùn combo** + **olùkọ́ combo tó ní ètò** — ìlera àfojúsùn kọ̀ọ̀kan àti olùkọ́ UI fún ṣíṣe àkójọpọ̀ àwọn ìgbésẹ̀ `(provider, model, connection)` - 🤝 **Olùpèsè GitLab Duo OAuth** — wọlé pẹ̀lú àwọn ẹ̀rí GitLab - 🧠 **Reasoning Replay Cache** — ìtọ́jú àpapọ̀ inú-memory + SQLite fún àwọn ipa reasoning 📚 **Àwọn ìwé tó jọmọ́:** [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) --- ## 🔌 Àwọn Olùpèsè Ṣàkóso àwọn ìsopọ̀ olùpèsè AI: àwọn olùpèsè OAuth (Claude Code, Codex), àwọn olùpèsè kọ́kọ́rọ́ API (Groq, DeepSeek, OpenRouter), àti àwọn olùpèsè ọ̀fẹ́ (Qoder, Kiro). Àwọn àkọọ́lẹ̀ Kiro ní ìtọ́pa iye kirẹditi — àwọn kirẹditi tó kù, àpapọ̀ iye tí a yọ̀ǹda, àti ọjọ́ ìsọdọ̀tun ni a lè rí ní Pátákó → Ìlò. Àwọn ìsopọ̀ OpenRouter lè tọ́jú `preset` kan fún ìsopọ̀ kọ̀ọ̀kan nínú Àwọn Ètò Onítẹ̀síwájú. Nígbà tí a bá ṣètò rẹ̀, OmniRoute máa ń fi í ránṣẹ́ gẹ́gẹ́ bí pápá ìbéèrè ìpele-òkè OpenRouter, fún àpẹẹrẹ `"preset": "email-copywriter"`, àyàfi tí ìbéèrè oníbàárà bá ti pèsè `preset` tirẹ̀ tẹ́lẹ̀. ![Pátákó Àwọn Olùpèsè](../screenshots/01-providers.png) --- ## 🎨 Àwọn Àkópọ̀ Ṣẹ̀dá àwọn àkópọ̀ ìdarí-ọ̀nà awoṣe pẹ̀lú ọgbọ́n gbogbogbò 19: priority, weighted, round-robin, context-relay, fill-first, p2c (yíyan agbára-méjì), random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp (olùpèsè-tó-dára-tí-a-mọ̀-kẹ́yìn), context-optimized, cache-optimized, **fusion** (pín iṣẹ́ jáde sí ẹgbẹ́ àwọn awoṣe ní ìṣọ̀kan, lẹ́yìn náà kí adájọ́ ṣàkópọ̀ ìdáhùn kan), àti **pipeline**. Àkópọ̀ kọ̀ọ̀kan so ọ̀pọ̀ awoṣe pọ̀ pẹ̀lú ìpadà-sẹ́yìn aládàáṣe, ó sì ní àwọn àdàkọ ìbẹ̀rẹ̀ kíákíá àti àwọn àyẹ̀wò ìmúrasílẹ̀. Àwọn ìlọsíwájú àkópọ̀ láìpẹ́: - **Olùkọ́ àkópọ̀ oníṣètò** — ṣẹ̀dá ìgbésẹ̀ kọ̀ọ̀kan nípa yíyan olùpèsè, awoṣe, àti àkọọ́lẹ̀/ìsopọ̀ pàtó - **Àtìlẹ́yìn fún olùpèsè tí a tún lò** — tún olùpèsè kan náà lò ní ọ̀pọ̀ ìgbà nínú àkópọ̀ kan, níwọ̀n ìgbà tí àkójọpọ̀ `(provider, model, connection)` jẹ́ aláìlẹ́gbẹ́ - **Ìlera ibi-àfojúsùn àkópọ̀** — ìtúpalẹ̀ àti àwọn àfihàn ìlera ti ń ṣe ìyàtọ̀ báyìí láàárín ibi-àfojúsùn/ìgbésẹ̀ àkópọ̀ kọ̀ọ̀kan dípò kí wọ́n pa gbogbo rẹ̀ pọ̀ sínú àwọn ọ̀rọ̀ awoṣe - **Ìṣètò ìpele àpapọ̀** — `defaultTier -> fallbackTier` ti ń ní ipa báyìí lórí ìtòlẹ́sẹẹsẹ ìṣiṣẹ́/ìpadà-sẹ́yìn ní àkókò ìṣiṣẹ́ fún àwọn ìgbésẹ̀ àkópọ̀ ìpele-òkè - **Àwọn àdàkọ ìtọ́ni ètò** — `system_message` àkópọ̀ ṣe àtìlẹ́yìn ní ẹ̀gbẹ́ olupin fún `{{MODEL_ID}}`, `{{PROVIDER_ID}}`, `{{ACCOUNT}}` àti `{{FINGERPRINT}}` àwọn ààyè ìròyìn, tí a máa ń fẹ̀ síi láti inú ibi-àfojúsùn tí a darí sí ní ti gidi kíákíá ṣáájú fífi ránṣẹ́. Wọ́n wà nínú àkójọ-ìyọ̀ǹda, wọn kì í sì í pe ara wọn padà; àwọn ààyè ìròyìn tí a kò mọ̀ dúró gẹ́gẹ́ bí wọ́n ṣe jẹ́; àwọn iye òfo máa ń fẹ̀ sí òfo; a kì í tún àwọn ìtọ́ni ètò oníbàárà kọ. `{{FINGERPRINT}}` ń yanjú fún àwọn olùpèsè ọ̀fẹ́ tó dá lórí fingerprint nìkan, tí wọ́n ní fingerprint tí a ti kàn mọ́lẹ̀ tàbí tí a ń yí padà láìfọwọ́sí — ó máa ń fẹ̀ sí òfo ní ibòmíràn (fún àpẹẹrẹ àwọn ìsopọ̀ fingerprint kan ṣoṣo, àwọn olùpèsè tí kì í ṣe fp). Ìfẹ̀síwájú yìí kan iyípo fífi-ránṣẹ́ boṣewa, round-robin, àti àwọn sáẹ́ṣọ̀nù àfipamọ́ àyíká-ọ̀rọ̀ tí a kàn mọ́lẹ̀; àwọn ọgbọ́n fusion, chaos, pipeline àti nested-execute kò tíì fẹ̀ àwọn ààyè ìròyìn síi. ![Pátákó Àwọn Àkópọ̀](../screenshots/02-combos.png) --- ## 📊 Ìtúpalẹ̀ Ìtúpalẹ̀ lílò tó péye pẹ̀lú ìná àwọn token, àwọn ìṣírò iye-owó, àwọn àwòrán-ooru ìṣiṣẹ́, àwọn àwòrán ìpínpín ọ̀sọ̀ọ̀sẹ̀, àti ìtúpalẹ̀ fún olùpèsè kọ̀ọ̀kan. ![Pátákó Ìtúpalẹ̀](../screenshots/03-analytics.png) --- ## 🏥 Ìlera Ètò Àbójútó ní àsìkò gidi: àkókò ìṣiṣẹ́, ìrántí, ẹ̀yà, àwọn ìpín ọgọ́rùn-ún ìdádúró (p50/p95/p99), àwọn ìṣirò àfipamọ́, àwọn ipò olùdáwọ́-dídá yíká olùpèsè, àwọn sáẹ́ṣọ̀nù ìtọ́jú iye-ààlà tó ń ṣiṣẹ́, àti ìlera ibi-àfojúsùn àkópọ̀. ![Pátákó Ìlera](../screenshots/04-health.png) --- ## 🔧 Pápá Ìdánwò Atúmọ̀ Èdè Àwọn ìpo mẹ́rin fún ṣíṣe àyẹ̀wò àṣìṣe àwọn ìtumọ̀ API: **Pápá Ìdánwò** (olùyípadà ìṣètò), **Olùdánwò Ìjíròrò** (àwọn ìbéèrè ní tààrà), **Pẹpẹ Ìdánwò** (àwọn ìdánwò lẹ́ẹ̀kan ṣoṣo), àti **Olùṣàkíyèsí Ní Tààrà** (ìṣàn ní àkókò gidi). ![Pápá Ìdánwò Atúmọ̀ Èdè](../screenshots/05-translator.png) --- ## 🎮 Pápá Ìdánwò Módẹ́lì _(v2.0.9+)_ Ṣe ìdánwò módẹ́lì èyíkéyìí ní tààrà láti ojú ìdarí. Yan olùpèsè, módẹ́lì, àti endpoint, kọ àwọn prompt pẹ̀lú Monaco Editor, gba àwọn ìdáhùn tí ń ṣàn ní àkókò gidi, dá a dúró láàárín ìṣàn, kí o sì wo àwọn ìwọ̀n àkókò. --- ## 🎨 Àwọn Àkòrí Àwọ̀ _(v2.0.5+)_ Àwọn àkòrí àwọ̀ tí a lè ṣàtúnṣe fún gbogbo ojú ìdarí. Yan lára àwọn àwọ̀ àtòjọ 7 (Coral, Blue, Red, Green, Violet, Orange, Cyan) tàbí ṣẹ̀dá àkòrí àwọ̀ àdáni nípa yíyan àwọ̀ hex èyíkéyìí. Ó ṣe àtìlẹ́yìn fún ìpo ìmọ́lẹ̀, òkùnkùn, àti ti ẹ̀rọ. --- ## ⚙️ Àwọn Ètò Pánẹ́lì ètò tó péye pẹ̀lú **àwọn taabu 7**: - **Gbogbogbò** — Ibi ìpamọ́ ẹ̀rọ, ìṣàkóso àfẹ́yìntì (gbé àkójọpọ̀ dátà jáde/wọlé) - **Ìrísí** — Olùyan àkòrí (òkùnkùn/ìmọ́lẹ̀/ẹ̀rọ), àwọn àkòrí àwọ̀ àtòjọ àti àwọn àwọ̀ àdáni, híhan àkọsílẹ̀ ìlera, àwọn ìṣàkóso híhan ohun inú àkójọ ẹ̀gbẹ́ àti olùpín ẹgbẹ́, àwọn ìṣàkóso híhan tunnel endpoint - **AI** — Àwọn ẹ̀ya olùrànlọ́wọ́ AI, àwọn àtòjọ routing àkọ́kọ́ (Auto Combo `auto/coding`, `auto/fast`, `auto/cheap`, `auto/smart`), cache àtúnṣeré ìrònú, àti àwọn ìyípadà tan/pà fún ọgbọ́n/ìrántí - **Ààbò** — Ààbò endpoint API, dídènà olùpèsè àdáni, àsẹ̀ IP, àlàyé session - **Routing** — Àwọn orúkọ àfirọ́pò módẹ́lì, ìdínkù iṣẹ́ abẹ́lẹ̀, routing ipele tó mọ̀ nípa manifest (W1–W4), `fallbackDelayMs`, routing tí ó dúró fún session kọ̀ọ̀kan - **Ìfaradà** — Ìtọ́jú ààlà oṣuwọn, àtúnṣe circuit breaker, pípa àwọn àkọọ́lẹ̀ tí a fòfin dè láìfọwọ́ṣe, àbójútó ọjọ́ ìparí olùpèsè, iye ààlà ìfàrọ́wọ́lé **Context Relay** àti ìṣètò módẹ́lì àkótán, ìsọ̀rí 429 fún olùpèsè kọ̀ọ̀kan àti ìyípadà tan/pà `useUpstream429BreakerHints`, àwọn àkókò ìsinmi módẹ́lì - **Ìlọsíwájú** — Àwọn ìṣàtúnṣe ìṣètò, àkọsílẹ̀ àyẹ̀wò ìṣètò, ìpo ìdínkù fallback, ìdínkù ìpo abẹ́lẹ̀ fún Responses API ![Ojú Ìdarí Àwọn Ètò](../screenshots/06-settings.png) --- ## 🔧 Àwọn Irinṣẹ́ CLI Ìṣètò títẹ̀-lẹ́ẹ̀kan fún àwọn irinṣẹ́ coding AI: Claude Code, Codex CLI, OpenClaw, Kilo Code, Antigravity, Cline, Continue, Cursor, àti Factory Droid. Ó ní fífi ìṣètò sílò àti títún un ṣe láìfọwọ́ṣe, àwọn profaili àsopọ̀, àti ìbámu módẹ́lì. ![Ojú Ìdarí Àwọn Irinṣẹ́ CLI](../screenshots/07-cli-tools.png) --- ## 🤖 Àwọn Agent CLI _(v2.0.11+)_ Ojú ìdarí fún ṣíṣàwárí àti ṣíṣàkóso àwọn agent CLI. Ó ṣàfihàn grid àwọn agent 16 tí a ti kọ́ sínú rẹ̀ (Codex, Claude, Goose, OpenClaw, Aider, OpenCode, Cline, ForgeCode, Amazon Q, Open Interpreter, Cursor CLI, Warp, **Windsurf**, **Devin CLI**, **Kimi Coding**, **Command Code**) pẹ̀lú: - **Ìpo ìfiṣelẹ̀** — Ti Fi Sílẹ̀ / Kò Rí pẹ̀lú ìṣàwárí version - **Àwọn báàjì protocol** — stdio, HTTP, abbl. - **Àwọn agent àdáni** — Forúkọsílẹ̀ irinṣẹ́ CLI èyíkéyìí nípasẹ̀ fọ́ọ̀mù (orúkọ, binary, àṣẹ version, àwọn spawn args) - **Ìbámu Àmì Ìdánimọ̀ CLI** — Ìyípadà tan/pà fún olùpèsè kọ̀ọ̀kan láti mú àwọn àmì ìbéèrè CLI abínibí mu, ní dídín ewu ìfòfindè kù nígbà tí a ń pa IP proxy mọ́ - **Ìfàṣẹsí Devin abẹ́nú** — Devin CLI ń lo `devin auth login`; kò nílò ìṣàn OAuth aṣàwákiri --- ## 🔗 Ìtẹ̀síwájú Àyíká-ọ̀rọ̀ _(v3.5.5+)_ Ọgbọ́n àpapọ̀ kan tí ń pa ìtẹ̀síwájú sáẹ́ṣọ̀n mọ́ nígbà tí yíyí àkọọ́lẹ̀ bá ṣẹlẹ̀ láàárín ìjíròrò. Kí àkọọ́lẹ̀ tó ń ṣiṣẹ́ tó parí ìpín rẹ̀, OmniRoute máa ń ṣe àkótán ìfìsọ́wọ́lé tó ní ètò ní abẹ́lẹ̀. Lẹ́yìn tí ìbéèrè tó tẹ̀lé bá lo àkọọ́lẹ̀ mìíràn, a ó fi àkótán náà sínú rẹ̀ gẹ́gẹ́ bí ìfiránṣẹ́ ètò kí àkọọ́lẹ̀ tuntun lè tẹ̀síwájú pẹ̀lú gbogbo àyíká-ọ̀rọ̀. A lè ṣètò rẹ̀ nípasẹ̀ àwọn ààtò ìpele àpapọ̀ tàbí ààtò àgbáyé: - **Ààlà Ìfìsọ́wọ́lé** — Ìdá ọgọ́rùn-ún lílo ìpín tó máa ń fa ṣíṣe àkótán (àkọ́kọ́ 85%) - **Iye Ìfiránṣẹ́ Tó Pọ̀ Jù Fún Àkótán** — Iye ìtàn àìpẹ́ tí a ó kó ṣókí - **Mọ́dẹ́ẹ̀lì Àkótán** — Mọ́dẹ́ẹ̀lì àṣàyàn láti rọ́pò èyí tó wà fún ṣíṣe àkótán ìfìsọ́wọ́lé Lọ́wọ́lọ́wọ́, ó ń ṣe àtìlẹ́yìn fún yíyí àkọọ́lẹ̀ Codex. Wo [àkọsílẹ̀ Ìtẹ̀síwájú Àyíká-ọ̀rọ̀](../architecture/ARCHITECTURE.md). --- ## 🗜️ Ìfúnpọ̀ Prompt _(v3.7.9+)_ Context & Cache ti pèsè àwọn ojú-ìwé pàtó fún Caveman, RTK, àti àwọn Àpapọ̀ Ìfúnpọ̀ báyìí: - **Caveman** — àwọn àkójọpọ̀ òfin tó mọ èdè, àwòrán àkọ́kọ́, àwọn ìṣàkóso ipò àbájáde, àti ìtúpalẹ̀ - **RTK** — ìfúnpọ̀ tó mọ àṣẹ fún shell, git, ìdánwò, ìkọ́lé, package, Docker, infra, JSON, àti àbájáde stack-trace - **Àwọn Àpapọ̀ Ìfúnpọ̀** — àwọn ìlànà iṣẹ́ olórúkọ bíi `rtk -> caveman` tí a yàn sí àwọn àpapọ̀ ìdarí; ìṣirò àkọ́kọ́ tí a tò pọ̀ ń dé ìpíndọ́gba `~89%` àti ìfipamọ́ àyíká-ọ̀rọ̀ tó yẹ ní `78-95%` nígbà tí ẹ̀rọ méjèèjì bá ṣiṣẹ́ - **Ìmúpadàbọ̀sípò àbájáde àìfúnpọ̀** — àwọn atọ́ka àbájáde àìfúnpọ̀ RTK tí a ti bo àlàyé ìkọ̀kọ̀ rẹ̀, gẹ́gẹ́ bí àṣàyàn fún ṣíṣàtúnṣe àwọn ìkùnà tí a ti fún pọ̀ Wo [Ìtọ́sọ́nà Ìfúnpọ̀](../compression/COMPRESSION_GUIDE.md), [Ìfúnpọ̀ RTK](../compression/RTK_COMPRESSION.md), àti [Àwọn Ẹ̀rọ Ìfúnpọ̀](../compression/COMPRESSION_ENGINES.md). --- ## 🛡️ Fífún Proxy Ní Ààbò Kún _(v3.5.5+)_ Ìmúṣẹ ìṣètò proxy tó péye káàkiri gbogbo ìlànà ìbéèrè: - **Àyẹ̀wò Ìlera Token** — Ìsọdọ̀tun OAuth ní abẹ́lẹ̀ ń wá ìṣètò proxy fún ìsopọ̀ kọ̀ọ̀kan báyìí, èyí tó ń dènà ìkùnà ní àwọn àyíká tó nílò proxy - **Ìfọwọ́sí Kọ́kọ́rọ́ API** — Ìfọwọ́sí kọ́kọ́rọ́ olùpèsè (`POST /api/providers/validate`) ń gba ọ̀nà `runWithProxyContext`, ní ìbámu pẹ̀lú àwọn ààtò proxy ìpele olùpèsè àti ti àgbáyé - **Àtúnṣe Dispatcher undici** — Àwọn dispatcher proxy ń lo ìmúṣẹ fetch ti undici fúnra rẹ̀ dípò fetch tí Node ní sínú rẹ̀, èyí tó ń yanjú àwọn àṣìṣe `invalid onRequestStart method` lórí Node.js 22 - **Ìṣàwárí Ẹ̀dà Node.js** — Ojú-ìwé ìwọlé ń ṣàwárí àwọn ẹ̀dà Node.js tí kò bára mu (24+) ṣáájú, ó sì ń fi àsíá ìkìlọ̀ hàn pẹ̀lú ìtọ́ni láti lo Node 22 LTS --- ## 📧 Ìbòjú Àṣírí Ímeèlì _(v3.5.6+)_ Àwọn ímeèlì àkọọ́lẹ̀ OAuth ni a máa ń bò nípa àkọ́kọ́ (fún àpẹẹrẹ `di*****@g****.com`) láti dènà ìṣípayá láìròtẹ́lẹ̀ nígbà pínpín àwòrán ojú-ìbojú tàbí gbígba àfihàn sílẹ̀. Lo Settings → Appearance → Account email visibility láti ṣí tàbí bo àwọn ímeèlì àkọọ́lẹ̀ kíkún káàkiri gbogbo àwọn olùpèsè, àpapọ̀, àkọsílẹ̀, ìpín, àti àwọn ojú-ìbojú playground. --- ## 👁️ Yíyan Bí Mọ́dẹ́ẹ̀lì Ṣe Hàn _(v3.5.6+)_ Àtòjọ mọ́dẹ́ẹ̀lì ojú-ìwé olùpèsè ní àwọn wọ̀nyí báyìí: - **Ọ̀pá ìṣàwárí/àsẹ́ ní àsìkò gidi** — Ṣàwárí àwọn mọ́dẹ́ẹ̀lì pàtó ní kíákíá - **Yíyan bí mọ́dẹ́ẹ̀lì kọ̀ọ̀kan ṣe hàn** (àmì 👁) — Àwọn mọ́dẹ́ẹ̀lì tí a fi pamọ́ máa ń hàn bí àwọ̀ eérú, a sì yọ wọ́n kúrò nínú àkójọ `/v1/models` - **Báàjì iye tó ń ṣiṣẹ́** (`N/M active`) — Ó ń fi iye àwọn mọ́dẹ́ẹ̀lì tí a ti mú ṣiṣẹ́ ní ìfiwéra pẹ̀lú àpapọ̀ hàn ní ẹ̀ẹ̀kan ṣoṣo --- ## 🔧 Àtúnṣe Env OAuth _(v3.6.1+)_ Ìgbésẹ̀ “Repair env” pẹ̀lú títẹ̀ ẹ̀ẹ̀kan fún àwọn olùpèsè OAuth, èyí tó ń mú àwọn environment variables tí ó sọnù padà, tó sì ń ṣàtúnṣe ipò ìfàṣẹsí tó bàjẹ́. Ó wà ní `Dashboard → Providers → [OAuth Provider] → Repair env`. Ó máa ń ṣàwárí, tó sì ń ṣàtúnṣe àwọn wọ̀nyí láìfọwọ́ṣe: - Àwọn ẹ̀rí ìdánimọ̀ OAuth client tí ó sọnù - Àwọn àkọsílẹ̀ env file tí ó bàjẹ́ - Ìmọ́tótó backup path --- ## 🗑️ Yíyọ Kúrò / Yíyọ Kúrò Pátápátá _(v3.6.2+)_ Àwọn script ìyọkúrò tó mọ́ fún gbogbo àwọn ọ̀nà ìfisórí: | Àṣẹ | Ìgbésẹ̀ | | ------------------------ | ------------------------------------------------------------------------------------- | | `npm run uninstall` | Ó yọ system app náà kúrò ṣùgbọ́n ó **pa DB àti àwọn àtòjọ rẹ mọ́** sínú `~/.omniroute`. | | `npm run uninstall:full` | Ó yọ app náà kúrò, ó SÌ **pa gbogbo àwọn àtòjọ, key, àti database rẹ rẹ́ pátápátá**. | --- ## 🖼️ Mídíà _(v2.0.3+)_ Ṣẹ̀dá àwọn àwòrán, fídíò, àti orin láti dashboard. Ó ṣe àtìlẹ́yìn fún OpenAI, xAI, Together, Hyperbolic, SD WebUI, ComfyUI, AnimateDiff, Stable Audio Open, àti MusicGen. --- ## 📝 Àwọn Àkọsílẹ̀ Ìbéèrè Àkọsílẹ̀ ìbéèrè ní àkókò gidi pẹ̀lú àsẹ̀ nípasẹ̀ olùpèsè, model, account, àti API key. Ó ń fi status code, lílo token, latency, àti àwọn kúlẹ̀kúlẹ̀ response hàn. ![Àwọn Àkọsílẹ̀ Lílo](../screenshots/08-usage.png) --- ## 🌐 API Endpoint API endpoint ìṣọ̀kan rẹ pẹ̀lú ìpín àwọn agbára rẹ̀: Chat Completions, Responses API, Embeddings, Image Generation, Reranking, Audio Transcription, Text-to-Speech, Moderations, àti àwọn API key tí a forúkọsílẹ̀. Àtìlẹ́yìn Cloudflare Quick Tunnel, Tailscale Funnel, ngrok Tunnel, àti cloud proxy wà fún ìráyè sí láti ọ̀nà jíjìn. ![Dashboard Endpoint](../screenshots/09-endpoint.png) --- ## 🔑 Ìṣàkóso API Key Ṣẹ̀dá, ṣètò ààlà, kí o sì fagilé àwọn API key. A lè fi ààlà sí key kọ̀ọ̀kan sí àwọn model/olùpèsè pàtó pẹ̀lú ìráyè kíkún tàbí ìyọ̀nda kíkà-nìkan. Ìṣàkóso key nípasẹ̀ àwòrán pẹ̀lú títọpa lílo. --- ## 📋 Àkọsílẹ̀ Àyẹ̀wò Títọpa àwọn ìgbésẹ̀ ìṣàkóso pẹ̀lú àsẹ̀ nípasẹ̀ irú ìgbésẹ̀, olùṣe, ibi àfojúsùn, IP address, àti timestamp. Ìtàn gbogbo àwọn ìṣẹ̀lẹ̀ ààbò. --- ## 🖥️ Ìṣàfilọ́lẹ̀ Desktop Electron desktop app abinibi fún Windows, macOS, àti Linux. Ṣiṣẹ́ OmniRoute gẹ́gẹ́ bí ìṣàfilọ́lẹ̀ olómìnira pẹ̀lú ìṣọ̀kan system tray, àtìlẹ́yìn offline, àfikún-ẹ̀yà láìfọwọ́ṣe, àti ìfisórí pẹ̀lú títẹ̀ ẹ̀ẹ̀kan. Àwọn ànfààní pàtàkì: - Ṣíṣàyẹ̀wò ìmúrasílẹ̀ server (kò sí ojú ìbòjú òfo nígbà ìbẹ̀rẹ̀ tútù) - System tray pẹ̀lú ìṣàkóso port - Content Security Policy - Títìpa sí instance kan ṣoṣo - Àfikún-ẹ̀yà láìfọwọ́ṣe nígbà ìtún-bẹ̀rẹ̀ - UI tó dá lórí platform (àwọn macOS traffic lights, titlebar àìyípadà Windows/Linux) - Àkójọpọ̀ Electron build tí a ti mú le — `node_modules` tí a fi symlink sínú standalone bundle ni a máa ń ṣàwárí, tí a sì kọ̀ ọ́ sílẹ̀ ṣáájú packaging, èyí tó ń dènà runtime dependency lórí ẹ̀rọ build náà (v2.5.5+) - **Ìdádúró pẹ̀lẹ́pẹ̀lẹ́** — Electron `before-quit` máa ń dá Next.js dúró lọ́nà tó mọ́, tí yóò sì dènà àwọn ìtìpa SQLite WAL database (v3.6.2+) 📖 Wo [`electron/README.md`](../../electron/README.md) fún ìwé ìtọ́sọ́nà kíkún. --- ## 🌐 V1 WebSocket Bridge _(v3.6.6+)_ OmniRoute ti ń ṣe àtìlẹ́yìn fún **àwọn WebSocket client tó bá OpenAI mu** báyìí nípasẹ̀ `/v1/ws` upgrade endpoint. Server àkànṣe `scripts/dev/v1-ws-bridge.mjs` máa ń fi Next.js ṣe àyíká, ó sì ń ṣe àfikún àwọn ìsopọ̀ WS sí àwọn session streaming oníbàárà méjèèjì kíkún. Ìfàṣẹsí ń lo API key kan náà tàbí session cookie bíi àwọn ìbéèrè HTTP. Àwọn ìhùwàsí pàtàkì: - `src/lib/ws/handshake.ts` máa ń fìdí WS upgrade múlẹ̀ ṣáájú kí ìsopọ̀ tó bẹ̀rẹ̀ - Àwọn stream máa ń dópin lọ́nà tó mọ́ nígbà tí session bá parí tàbí tí upstream error bá ṣẹlẹ̀ - Ó ń ṣiṣẹ́ lẹ́gbẹ̀ẹ́ ọ̀nà streaming HTTP+SSE tó ti wà tẹ́lẹ̀ ní àkókò kan náà --- ## 🔑 Àwọn Tókìnù Ìṣiṣẹ́pọ̀ & Àkójọpọ̀ Àtòjọ-ètò _(v3.6.6+)_ Ìráàyèsí láti ọ̀pọ̀ ẹ̀rọ àti láti ọ̀dọ̀ àwọn olùṣiṣẹ́ àgbékalẹ̀ òde ti ṣeé ṣe báyìí nípasẹ̀ **àwọn tókìnù ìṣiṣẹ́pọ̀ tí a fi ààlà sí**: - **`POST /api/sync/tokens`** — Ṣẹ̀dá tókìnù ìṣiṣẹ́pọ̀ tuntun (tí a fi ààlà sí, pẹ̀lú àkókò ìparí tí kò pọn dandan) - **`DELETE /api/sync/tokens/:id`** — Fagilé tókìnù kan - **`GET /api/sync/bundle`** — Ṣe àgbàsílẹ̀ àwòrán-ipò JSON tí a fi ẹ̀yà àti ETag ṣe àmì rẹ̀, tó ní gbogbo àwọn àtòjọ-ètò tí kì í ṣe àṣírí (a fi àwọn ọ̀rọ̀ aṣínà pamọ́) `src/lib/sync/bundle.ts` ló ń kọ àkójọpọ̀ àtòjọ-ètò náà. Àwọn olùlò máa ń fi àkọlé ìdáhùn `ETag` wé ara wọn láti ṣàwárí àwọn ìyípadà láìní láti tún gbogbo ẹrù dátà náà ṣe àgbàsílẹ̀. --- ## 🧠 Àtòjọ-ètò Tí a Ti Ṣètò Sílẹ̀ fún Ìrònú GLM _(v3.6.6+)_ **GLM Thinking (`glmt`)** ti di olupèsè ipele-àkọ́kọ́ tí a forúkọsílẹ̀ báyìí: tókìnù àbájáde tó pọ̀jù 65 536, ìpín tókìnù ìrònú 24 576, àkókò ìdúró àiyipada 900 s, ìlànà API tó bá Claude mu, àti ìṣiṣẹ́pọ̀ lílò tí a pín pẹ̀lú ẹbí GLM. **Ìṣírò tókìnù àkójọpọ̀** tún dé sínú v3.6.6: nígbà tí olupèsè tó bá Claude mu bá pèsè `/messages/count_tokens`, OmniRoute máa ń pè é ṣáájú àwọn ìbéèrè ńlá, pẹ̀lú ìṣírò àfojúsùn àfẹ́yìntì tó rọrùn. --- ## 🛡️ Ìgbàjáde Òde Tó Láàbò & Ìdènà SSRF _(v3.6.6+)_ Gbogbo ìfọwọ́sí olupèsè àti àwọn ìpè ìṣàwárí módẹ́lì ń gba inú ìdènà ìjápọ̀ òde alápele méjì kọjá báyìí: 1. **Ìdènà URL** (`src/shared/network/outboundUrlGuard.ts`) — Ó dí àwọn ìpín IP àdáni/loopback/link-local kí socket tó ṣí. 2. **Àpò ìgbàjáde tó láàbò** (`src/shared/network/safeOutboundFetch.ts`) — Ó lo ìdènà URL, ó ṣe àkókò ìdúró déédéé, ó sì tún àwọn àṣìṣe ìgbà díẹ̀ gbìyànjú pẹ̀lú ìdádúró tó ń pọ̀ sí i lọ́nà exponential. Àwọn ìrúfin ìdènà máa ń fara hàn gẹ́gẹ́ bí HTTP 422 (`URL_GUARD_BLOCKED`), a sì máa ń kọ wọ́n sínú àkọsílẹ̀ àyẹ̀wò ìbámu nípasẹ̀ `providerAudit.ts`. --- ## 🔄 Àwọn Ìgbìyànjú-Àtúnṣe Tó Mọ Ìgbà-ìsinmi _(v3.6.6+)_ Àwọn ìbéèrè ìfọ̀rọ̀wérọ̀ máa ń **tún ara wọn gbìyànjú láìfọwọ́yí** báyìí nígbà tí olupèsè òkè bá dá ìgbà-ìsinmi tó jẹ́ ti módẹ́lì kan pàtó padà. A lè ṣètò rẹ̀ nípasẹ̀ `REQUEST_RETRY` (àiyipada: 2) àti `MAX_RETRY_INTERVAL_SEC` (àiyipada: 30 s). Ìkẹ́kọ̀ọ́ àkọlé òṣùwọ̀n-ààlà ti sunwọ̀n sí i lórí `x-ratelimit-reset-requests`, `x-ratelimit-reset-tokens`, àti `Retry-After` — ipò ìgbà-ìsinmi fún módẹ́lì kọ̀ọ̀kan hàn nínú pánẹ́ẹ̀lì Resilience. --- ## 📋 Àyẹ̀wò Ìbámu v2 _(v3.6.6+)_ A ti mú àkọsílẹ̀ àyẹ̀wò gbòòrò sí i pẹ̀lú ìpín ojú-ìwé tó dá lórí kọ́sọ̀, fífi àlàyé àyíká ìbéèrè kún un (ID ìbéèrè, aṣojú olùlò, IP), àwọn ìṣẹ̀lẹ̀ ìfàṣẹsí tó ní ìgbékalẹ̀, àwọn ìṣẹ̀lẹ̀ CRUD olupèsè pẹ̀lú àlàyé ìyàtọ̀, àti ìkọsílẹ̀ ìfọwọ́sí tí SSRF dènà. Àwọn ìṣẹ̀lẹ̀ tuntun ni `src/lib/compliance/providerAudit.ts` ń ṣe jáde.