# Claude Code CLI — Configuration with OmniRoute (Bosanski) 🌐 **Languages:** 🇺🇸 [English](../../../../guides/CLAUDE-CODE-CONFIGURATION.md) · 🇪🇹 [am](../../../am/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇸🇦 [ar](../../../ar/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇦🇿 [az](../../../az/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇧🇬 [bg](../../../bg/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇧🇩 [bn](../../../bn/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇨🇿 [cs](../../../cs/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇩🇰 [da](../../../da/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇩🇪 [de](../../../de/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇬🇷 [el](../../../el/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇪🇸 [es](../../../es/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇪🇪 [et](../../../et/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇷 [fa](../../../fa/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇫🇮 [fi](../../../fi/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇫🇷 [fr](../../../fr/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇪 [ga](../../../ga/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇳 [gu](../../../gu/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇳🇬 [ha](../../../ha/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇱 [he](../../../he/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇳 [hi](../../../hi/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇭🇷 [hr](../../../hr/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇭🇺 [hu](../../../hu/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇦🇲 [hy](../../../hy/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇩 [id](../../../id/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇳🇬 [ig](../../../ig/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇹 [it](../../../it/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇯🇵 [ja](../../../ja/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇬🇪 [ka](../../../ka/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇰🇭 [km](../../../km/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇳 [kn](../../../kn/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇰🇷 [ko](../../../ko/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇱🇹 [lt](../../../lt/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇱🇻 [lv](../../../lv/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇳 [ml](../../../ml/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇳 [mr](../../../mr/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇲🇾 [ms](../../../ms/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇲🇹 [mt](../../../mt/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇲🇲 [my](../../../my/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇳🇵 [ne](../../../ne/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇳🇱 [nl](../../../nl/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇳🇴 [no](../../../no/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇳 [or](../../../or/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇳 [pa](../../../pa/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇵🇭 [phi](../../../phi/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇵🇱 [pl](../../../pl/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇵🇹 [pt](../../../pt/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇧🇷 [pt-BR](../../../pt-BR/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇷🇴 [ro](../../../ro/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇷🇺 [ru](../../../ru/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇱🇰 [si](../../../si/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇸🇰 [sk](../../../sk/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇸🇮 [sl](../../../sl/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇷🇸 [sr](../../../sr/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇸🇪 [sv](../../../sv/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇰🇪 [sw](../../../sw/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇳 [ta](../../../ta/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇳 [te](../../../te/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇹🇭 [th](../../../th/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇹🇷 [tr](../../../tr/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇺🇦 [uk-UA](../../../uk-UA/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇵🇰 [ur](../../../ur/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇺🇿 [uz](../../../uz/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇻🇳 [vi](../../../vi/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇳🇬 [yo](../../../yo/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇨🇳 [zh-CN](../../../zh-CN/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇹🇼 [zh-TW](../../../zh-TW/docs/guides/CLAUDE-CODE-CONFIGURATION.md) --- # Claude Code CLI — Konfiguracija sa OmniRoute Usmjerite **Claude Code** CLI (`claude`) na OmniRoute — lokalni ili udaljeni VPS — sa profilima po modelu, oponašajući Codex postavke. --- ## Brzi početak ```bash # Pokrenite Claude Code protiv lokalnog OmniRoute-a (automatski detektuje aktivni kontekst) omniroute launch # Protiv udaljenog OmniRoute-a (nakon `omniroute connect `, ovo je automatski) omniroute launch --remote http://192.168.0.15:20128 --api-key oma_live_xxx # Generišite profile po modelu, a zatim pokrenite jedan omniroute setup-claude # upisuje ~/.claude/profiles//settings.json omniroute launch --profile glm52 # Claude Code koristi glm/glm-5.2 putem OmniRoute-a ``` --- ## Kako se Claude Code povezuje na gateway Claude Code komunicira putem **Anthropic Messages API**-ja i usmjeren je na prilagođenu krajnju tačku (endpoint) pomoću varijabli okruženja (nema `--base-url` zastavicu): | Varijabla | Svrha | | -------------------------------------------- | -------------------------------------------------------------------------------------------------- | | `ANTHROPIC_BASE_URL` | Root URL gateway-a (Claude Code dodaje `/v1/messages`). **Bez `/v1` sufiksa.** | | `ANTHROPIC_AUTH_TOKEN` | Šalje se kao `Authorization: Bearer …` — koristite svoj OmniRoute pristupni token / API ključ | | `ANTHROPIC_API_KEY` | Alternativa: šalje se kao `x-api-key`. Ako su oba postavljena, `ANTHROPIC_AUTH_TOKEN` ima prednost | | `ANTHROPIC_MODEL` | Forsirajte određeni model (nadjačava zadani `/model` birač) | | `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | `1` → izvorni `/model` birač navodi `claude*`/`anthropic*` modele iz `/v1/models` | | `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Ograničite izlazne tokene po odgovoru (npr. `65536`) | | `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Prag tokena za automatsko sažimanje | > Varijable okruženja se čitaju **jednom pri pokretanju** — ponovo pokrenite Claude Code nakon što ih promijenite. `omniroute launch` postavlja sve ovo za vas: razrješava base URL + token iz aktivnog konteksta (tako da `omniroute connect ` pa `omniroute launch` jednostavno radi), provjerava zdravlje servera i izvršava `claude`. --- ## Alijasi za otkrivanje — prikazivanje modela koji nisu Claude u `/model` izborniku Otkrivanje modela putem gatewaya u Claude Codeu navodi samo ID-ove koji počinju s `claude` ili `anthropic`, pa uz `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` ugrađeni `/model` izbornik obično prikazuje **samo** OmniRouteove Claude/Anthropic modele — `kimi/kimi-k2.6` ili `glm/glm-5.2` se nikad ne pojavljuje, iako se usmjerava bez problema. OmniRoute može zrcaliti bilo koji omogućeni model (i kombinaciju) pod ID-om `claude/…` kako bi prošao taj filter i pojavio se u izborniku: ``` kimi/kimi-k2.6 → claude/kimi/kimi-k2.6 "Kimi K2.6 (OmniRoute)" glm/glm-5.2 → claude/glm/glm-5.2 "GLM 5.2 (OmniRoute)" → claude/combo/custo-otimizado ``` Kada u Claude Codeu odaberete jedan od ovih, OmniRoute prije usmjeravanja uklanja omotač `claude/` i vraća stvarni ID — pravi `claude/` ID (stvarni Claude OAuth provajder) uvijek ostaje netaknut. Prema zadanim postavkama zrcale se samo osnovni ID-ovi. Kada je uključena opcionalna zastavica funkcije `CATALOG_MIRROR_REFINEMENTS_ENABLED`, varijante s naporom rasuđivanja koje katalog već navodi (npr. `codex/gpt-6-sol-high`) zrcale se kao i svaki drugi ID, tako da Claude Code može odabrati eksplicitnu razinu napora, a ugrađeni `auto/*` ID-ovi koje putanja zahtjeva ne može ostvariti ne zrcale se. Hoće li se varijante napora uopće navoditi i dalje određuje `OMNIROUTE_DISABLE_THINKING_LEVEL_VARIANTS` — zrcalo nikad ne dodaje varijantu koju osnovni katalog nema. **Ovo je prema zadanim postavkama isključeno** i kontrolirano trostupanjskom provjerom (najspecifičnije pravilo pobjeđuje), tako da obični OmniRoute nikad ne udvostručuje svoj katalog za klijente koji ne koriste Claude Code: | Razina | Gdje | | --------- | -------------------------------------------------------------------------------------------- | | Model | Stranica s detaljima provajdera → prekidač "Prikaži u Claude Codeu" po modelu | | Provajder | Stranica s detaljima provajdera → prekidač na razini provajdera (pokriva sve njegove modele) | | Globalno | Postavke → Zastavice funkcija → `EXPOSE_CC_DISCOVERY_ALIASES` (zadano isključeno) | Varijabla okruženja `EXPOSE_CC_DISCOVERY_ALIASES` prisilno uključuje globalnu razinu i ima prednost nad nadjačavanjem na nadzornoj ploči (zaslon Zastavica funkcija tada prikazuje napomenu "aktivno putem varijable okruženja"). Prekidači po provajderu i po modelu od toga nadalje preciziraju — npr. globalno isključeno + Kimi provajder uključen izlaže samo Kimijeve modele. > ⚠️ **Nepodudarnost kontekstnog prozora kod modela koji nisu Claude.** Claude Code pretpostavlja kontekstni prozor od 200K za svaki ID koji ne prepoznaje (ne može pročitati stvarni prozor s `/v1/models`). Za model s većim prozorom (npr. 256K kod Kimi K2), postavite `CLAUDE_CODE_AUTO_COMPACT_WINDOW` na vrijednost ispod stvarnog prozora modela kako se automatsko sažimanje ne bi prerano pokrenulo. Gore generirani profili to već rade za svaki model. --- ## Blok za početno postavljanje na kontrolnoj ploči Kartica alata Claude (**Kontrolna ploča → CLI Code**) prikazuje tačan fragment datoteke `settings.json` za ovu instancu, pored dugmeta s informacijama o aliasu za otkrivanje, zajedno s dugmetom za kopiranje: ```jsonc { "env": { "ANTHROPIC_BASE_URL": "http://:20128", "ANTHROPIC_AUTH_TOKEN": "", "CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1", }, } ``` Osnovni URL je onaj koji je kartica razriješila (uključujući prilagođenu vrijednost koju ste unijeli) i već je normalizovan — bez sufiksa `/v1` i bez završne kose crte. **Ključ se nikada ne prikazuje**: blok sadrži zamjenski tekst, tako da snimak ekrana ili zalijepljeni isječak ne mogu otkriti ključ. Zalijepite svoj ključ umjesto njega. Dodajte `CLAUDE_CODE_AUTO_COMPACT_WINDOW` unutar istog bloka `env` za svaki model čiji stvarni kontekstni prozor nije 200K — Claude Code pretpostavlja 200K za svaki ID koji ne prepoznaje, pa se automatsko sažimanje u suprotnom pokreće u pogrešnom trenutku (pogledajte upozorenje u prethodnom odjeljku). Alat za izradu isječka prihvata i tu vrijednost, tako da je pozivalac koji zna veličinu kontekstnog prozora ciljnog modela može direktno dodati. Izvor: `src/shared/services/claudeCliConfig.ts::buildClaudeDiscoverySettingsSnippet` (čisti alat za izradu, pokriven jediničnim testovima) koji prikazuje `ClaudeGatewayOnboardingBlock`. ### Prikvačite jedan račun (opcionalno) Da biste svaki Claude Code zahtjev slali preko jednog određenog računa pružaoca usluge, dodajte zaglavlje `x-omniroute-connection` putem `ANTHROPIC_CUSTOM_HEADERS` u istom bloku `env`: ```jsonc "ANTHROPIC_CUSTOM_HEADERS": "x-omniroute-connection: " ``` Kopirajte ID iz oznake `xxxxxxxx…` u redu veze na stranici pružaoca usluge. Prikvačivanje se primjenjuje samo na ID-ove pojedinačnih modela (`provider/model`), a ne na kombinacije. Pogledajte [Prikvačivanje računa po zahtjevu](../reference/API_REFERENCE.md#account-pinning-per-request) za tačno ponašanje rezervnog mehanizma. --- ## Profili (`CLAUDE_CONFIG_DIR`) Claude Code **nema izvorne datoteke profila** (za razliku od Codexovog `~/.codex/.config.toml`). Uobičajeni mehanizam je `CLAUDE_CONFIG_DIR` — zaseban konfiguracijski direktorij za svaki profil, pri čemu svaki ima vlastiti `settings.json`, vjerodajnice, historiju i predmemoriju. `omniroute setup-claude` dohvaća aktuelni katalog `/v1/models` i zapisuje po jedan profil za svaki model u `~/.claude/profiles//settings.json`, koristeći **iste nazive kao `setup-codex`** (`glm52`, `kimi-k27`, `deepseek-pro`, …): ```jsonc // ~/.claude/profiles/glm52/settings.json { "$schema": "https://json.schemastore.org/claude-code-settings.json", "model": "glm/glm-5.2", "effortLevel": "xhigh", "env": { "ANTHROPIC_BASE_URL": "http://192.168.0.15:20128", "ANTHROPIC_MODEL": "glm/glm-5.2", "CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1", "CLAUDE_CODE_AUTO_COMPACT_WINDOW": "190000", }, } ``` > **Token za autentifikaciju nikada se ne zapisuje u profil.** Pokrenite pomoću > `omniroute launch --profile ` (ubacuje `ANTHROPIC_AUTH_TOKEN` iz > aktivnog konteksta) ili sami izvezite `ANTHROPIC_AUTH_TOKEN` i pokrenite > `CLAUDE_CONFIG_DIR=~/.claude/profiles/ claude`. **Automatska sinhronizacija nakon otkrivanja modela (opcionalno).** OmniRoute može automatski ponovo generisati iste datoteke `~/.claude/profiles//settings.json` svaki put kada sinhronizacija modela pružaoca usluga promijeni aktuelni katalog — tako novi ili preimenovani modeli dobijaju profile bez ponovnog pokretanja naredbe. To je **podrazumijevano isključeno**: uključite ga na **CLI Code kontrolnoj ploči** ("Automatska sinhronizacija CLI profila" → Claude Code) ili postavite `OMNIROUTE_AUTO_SYNC_CLAUDE_PROFILES=true` (također poštuje `CLI_ALLOW_CONFIG_WRITES`, koji je podrazumijevano uključen). Kada je omogućeno, zapisuje samo datoteke profila; nikada ne mijenja vašu aktivnu/zadanu Claude konfiguraciju, autentifikaciju niti `~/.claude/settings.json`. ### Generisanje i korištenje profila ```bash # Lokalni OmniRoute omniroute setup-claude # Udaljeni VPS (ugrađuje URL VPS-a u svaki profil) omniroute setup-claude --remote http://192.168.0.15:20128 --api-key oma_live_xxx # Samo neki pružaoci usluga omniroute setup-claude --only glm,kimi # Također zapiši profile za pružaoce usluga lokalnog CLI-ja (zcode, auggie, devin-cli-agentic, # codex-app-server) koji nisu otkriveni na ovom hostu (podrazumijevano se preskaču za lokalno odredište) omniroute setup-claude --include-local # Pregled bez zapisivanja omniroute setup-claude --dry-run # Pokreni profil omniroute launch --profile kimi-k27 ``` --- ## Nivoi modela (opciono) Claude Code usmjerava na nivoe sposobnosti. Mapirajte svaki na OmniRoute model putem env / postavki ako želite različite provajdere po nivou: ```bash export ANTHROPIC_DEFAULT_OPUS_MODEL="glm/glm-5.2" export ANTHROPIC_DEFAULT_SONNET_MODEL="kmc/kimi-k2.6" export ANTHROPIC_DEFAULT_HAIKU_MODEL="glm/glm-4.7-flash" ``` U suprotnom, jedan `ANTHROPIC_MODEL` (ono što profili postavljaju) se koristi za sve. --- ## Udaljeni režim Nakon što pokrenete `omniroute connect ` (pogledajte [Udaljeni režim](./REMOTE-MODE.md)), `omniroute launch` i `omniroute setup-claude` automatski ciljaju taj udaljeni server i koriste njegov pristupni token sa ograničenim opsegom — nisu potrebni dodatni flagovi. Nadjačajte po pozivu sa `--remote` / `--api-key`. --- ## Rješavanje problema **Claude Code ignoriše gateway** — potvrdite da `ANTHROPIC_BASE_URL` nema **`/v1`** i ponovo pokrenite `claude` (env se čita jednom pri pokretanju). `omniroute launch` ovo rješava umjesto vas. **Birač `/model` je prazan / nedostaju gateway modeli** — zahtijeva Claude Code v2.1.219+ i `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1`. Samo `claude*` / `anthropic*` ID-ovi modela se pojavljuju u biraču; prisilite bilo koji drugi model sa `ANTHROPIC_MODEL=` (ovo je ono što profili rade). **`400 Ambiguous model 'claude-…'`** — Claude Code uvijek šalje **neprefiksirane** ID-ove modela (npr. `claude-opus-4-8`), pa kada su povezani i Claude Code (`cc/…`) i Claude (`claude/…`) provajderi, goli ID odgovara dvjema rutama i OmniRoute odbija nagađati. Popravite to na bilo koji način: fiksirajte prefiksirani ID sa `ANTHROPIC_MODEL=cc/claude-opus-4-8`, ili omogućite **Prefer Claude Code for unprefixed Claude models** — prekidač na stranici Claude provajdera, ili `OMNIROUTE_PREFER_CLAUDE_CODE_FOR_UNPREFIXED_CLAUDE_MODELS=true` (podrazumijevano isključeno; pogledajte [Okruženje](../reference/ENVIRONMENT.md)) — što usmjerava gole `claude-*` ID-ove na Claude Code umjesto toga. Eksplicitni prefiksi provajdera uvijek pobjeđuju. **Greške pri autentifikaciji** — profil ne sadrži token. Koristite `omniroute launch --profile` (ubacuje ga) ili eksportujte `ANTHROPIC_AUTH_TOKEN`. **Profili ne izoluju** — svaki profil je poseban `CLAUDE_CONFIG_DIR`; provjerite da li `echo $CLAUDE_CONFIG_DIR` unutar sesije pokazuje na `~/.claude/profiles/`.