# Claude Code CLI — Configuration with OmniRoute (Română) 🌐 **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) · 🇧🇦 [bs](../../../bs/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) · 🇷🇺 [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) --- Direcționați CLI-ul **Claude Code** (`claude`) către OmniRoute — local sau pe un VPS la distanță — cu profiluri pentru fiecare model, după modelul configurării Codex. --- ## Pornire rapidă ```bash # Pornește Claude Code cu un OmniRoute local (detectează automat contextul activ) omniroute launch # Cu un OmniRoute la distanță (după `omniroute connect `, acest lucru este automat) omniroute launch --remote http://192.168.0.15:20128 --api-key oma_live_xxx # Generează profiluri pentru fiecare model, apoi pornește unul omniroute setup-claude # scrie ~/.claude/profiles//settings.json omniroute launch --profile glm52 # Claude Code folosind glm/glm-5.2 prin OmniRoute ``` --- ## Cum se conectează Claude Code la un gateway Claude Code comunică prin **Anthropic Messages API** și este direcționat către un endpoint personalizat prin variabile de mediu (nu are opțiunea `--base-url`): | Variabilă | Scop | | -------------------------------------------- | -------------------------------------------------------------------------------------------------- | | `ANTHROPIC_BASE_URL` | URL-ul rădăcină al gateway-ului (Claude Code adaugă `/v1/messages`). **Fără sufixul `/v1`.** | | `ANTHROPIC_AUTH_TOKEN` | Trimis ca `Authorization: Bearer …` — utilizați tokenul de acces / cheia API OmniRoute | | `ANTHROPIC_API_KEY` | Alternativă: trimis ca `x-api-key`. Dacă sunt setate ambele, `ANTHROPIC_AUTH_TOKEN` are prioritate | | `ANTHROPIC_MODEL` | Impune un anumit model (suprascrie valoarea implicită a selectorului `/model`) | | `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | `1` → selectorul nativ `/model` listează modelele `claude*`/`anthropic*` din `/v1/models` | | `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Limitează numărul de tokenuri de ieșire pentru fiecare răspuns (de ex. `65536`) | | `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Pragul de tokenuri pentru compactarea automată | > Variabilele de mediu sunt citite **o singură dată la pornire** — reporniți Claude Code după modificarea lor. `omniroute launch` le setează pe toate pentru dvs.: determină URL-ul de bază + tokenul din contextul activ (astfel încât `omniroute connect `, urmat de `omniroute launch`, să funcționeze direct), verifică starea serverului și execută `claude`. --- ## Aliasuri de descoperire — afișați modelele non-Claude în selectorul `/model` Descoperirea modelelor de gateway din Claude Code listează numai ID-urile care încep cu `claude` sau `anthropic`, astfel încât, atunci când este setat `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1`, selectorul nativ `/model` afișează în mod normal **numai** modelele Claude/Anthropic din OmniRoute — un `kimi/kimi-k2.6` sau `glm/glm-5.2` nu apare niciodată, chiar dacă rutarea sa funcționează corect. OmniRoute poate oglindi orice model activat (și orice combinație) sub un ID `claude/…`, astfel încât acesta să treacă de filtrul respectiv și să apară în selector: ``` 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 ``` Când selectați unul dintre acestea în Claude Code, OmniRoute elimină prefixul `claude/` pentru a reveni la ID-ul real înainte de rutare — un ID autentic `claude/` (furnizorul OAuth Claude propriu-zis) este lăsat întotdeauna nemodificat. **Această funcționalitate este dezactivată implicit** și controlată printr-o ierarhie cu trei niveluri (cel mai specific are prioritate), astfel încât o instanță OmniRoute obișnuită să nu își dubleze niciodată catalogul pentru clienții care nu utilizează Claude Code: | Nivel | Unde | | -------- | ----------------------------------------------------------------------------------------------------- | | Model | Pagina de detalii a furnizorului → comutatorul per model „Expune în Claude Code” | | Furnizor | Pagina de detalii a furnizorului → comutatorul la nivel de furnizor (acoperă toate modelele acestuia) | | Global | Setări → Indicatori de funcționalitate → `EXPOSE_CC_DISCOVERY_ALIASES` (dezactivat implicit) | Variabila de mediu `EXPOSE_CC_DISCOVERY_ALIASES` forțează activarea nivelului global și are prioritate față de suprascrierea din panoul de control (ecranul Indicatori de funcționalitate afișează o notă „activ prin variabila de mediu” atunci când este cazul). Comutatoarele pentru fiecare furnizor și fiecare model rafinează configurația de acolo — de ex., nivelul global dezactivat + furnizorul Kimi activat expune numai modelele Kimi. > ⚠️ **Nepotrivirea ferestrei pentru modelele non-Claude.** Claude Code presupune o fereastră de context > de 200K pentru orice ID pe care nu îl recunoaște (nu poate citi dimensiunea reală a ferestrei din > `/v1/models`). Pentru un model cu o fereastră mai mare (de ex. 256K pentru Kimi K2), setați > `CLAUDE_CODE_AUTO_COMPACT_WINDOW` la o valoare mai mică decât fereastra reală a modelului, astfel încât > compactarea automată să nu se declanșeze prematur. Profilurile generate mai sus fac deja > acest lucru pentru fiecare model. --- ## Blocul de inițiere de pe panoul de control Cardul instrumentului Claude (**Panou de control → Cod CLI**) afișează fragmentul exact din `settings.json` pentru această instanță, lângă butonul de informații despre aliasul de descoperire, împreună cu un buton de copiere: ```jsonc { "env": { "ANTHROPIC_BASE_URL": "http://:20128", "ANTHROPIC_AUTH_TOKEN": "", "CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1", }, } ``` URL-ul de bază este cel determinat de card (inclusiv o suprascriere personalizată introdusă de dvs.), deja normalizat — fără sufixul `/v1` și fără bară oblică la final. **Cheia nu este afișată niciodată**: blocul conține un substituent, astfel încât o captură de ecran sau un fragment lipit nu poate divulga cheia. Înlocuiți-l cu cheia dvs. Adăugați `CLAUDE_CODE_AUTO_COMPACT_WINDOW` în același bloc `env` pentru orice model a cărui fereastră reală de context nu este de 200K — Claude Code presupune 200K pentru fiecare ID pe care nu îl recunoaște, astfel încât compactarea automată este declanșată altfel la momentul greșit (consultați avertismentul din secțiunea anterioară). Generatorul de fragmente acceptă și această valoare, astfel încât un apelant care cunoaște dimensiunea ferestrei modelului țintă o poate emite direct. Sursă: `src/shared/services/claudeCliConfig.ts::buildClaudeDiscoverySettingsSnippet` (generator pur, testat unitar), afișat de `ClaudeGatewayOnboardingBlock`. --- ## Profiluri (`CLAUDE_CONFIG_DIR`) Claude Code **nu are fișiere de profil native** (spre deosebire de `~/.codex/.config.toml` din Codex). Mecanismul uzual este `CLAUDE_CONFIG_DIR` — un director de configurare separat pentru fiecare profil, fiecare având propriile fișiere `settings.json`, acreditări, istoric și cache. `omniroute setup-claude` preia catalogul `/v1/models` activ și scrie câte un profil pentru fiecare model în `~/.claude/profiles//settings.json`, reutilizând **aceleași nume ca `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", }, } ``` > **Tokenul de autentificare nu este scris niciodată în profil.** Lansați cu > `omniroute launch --profile ` (acesta injectează `ANTHROPIC_AUTH_TOKEN` din > contextul activ) sau exportați dvs. `ANTHROPIC_AUTH_TOKEN` și rulați > `CLAUDE_CONFIG_DIR=~/.claude/profiles/ claude`. **Sincronizare automată după descoperirea modelelor (opțională).** OmniRoute poate regenera automat aceleași fișiere `~/.claude/profiles//settings.json` ori de câte ori sincronizarea modelelor unui furnizor modifică catalogul activ — astfel, modelele noi sau redenumite primesc profiluri fără a rula din nou comanda. Este **dezactivată implicit**: activați-o din **panoul de control Cod CLI** („Sincronizare automată a profilurilor CLI” → Claude Code) sau setați `OMNIROUTE_AUTO_SYNC_CLAUDE_PROFILES=true` (respectă și `CLI_ALLOW_CONFIG_WRITES`, activată implicit). Când este activată, scrie numai fișierele de profil; nu modifică niciodată configurația Claude activă/implicită, autentificarea sau `~/.claude/settings.json`. ### Generarea și utilizarea profilurilor ```bash # OmniRoute local omniroute setup-claude # VPS la distanță (încorporează URL-ul VPS-ului în fiecare profil) omniroute setup-claude --remote http://192.168.0.15:20128 --api-key oma_live_xxx # Doar anumiți furnizori omniroute setup-claude --only glm,kimi # Previzualizare fără scriere omniroute setup-claude --dry-run # Lansați un profil omniroute launch --profile kimi-k27 ``` --- ## Niveluri de modele (opțional) Claude Code direcționează solicitările către niveluri de capabilități. Mapați fiecare nivel la un model OmniRoute prin variabile de mediu / setări dacă doriți furnizori diferiți pentru fiecare nivel: ```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" ``` În caz contrar, un singur `ANTHROPIC_MODEL` (cel configurat de profiluri) este utilizat pentru toate solicitările. --- ## Modul la distanță După ce ați rulat `omniroute connect ` (consultați [Modul la distanță](./REMOTE-MODE.md)), `omniroute launch` și `omniroute setup-claude` vizează automat serverul la distanță respectiv și utilizează tokenul său de acces cu domeniu limitat — nu sunt necesare opțiuni suplimentare. Suprascrieți setarea pentru fiecare invocare cu `--remote` / `--api-key`. --- ## Depanare **Claude Code ignoră gateway-ul** — confirmați că `ANTHROPIC_BASE_URL` **nu conține `/v1`** și reporniți `claude` (variabilele de mediu sunt citite o singură dată la pornire). `omniroute launch` se ocupă de acest lucru pentru dvs. **Selectorul `/model` este gol / modelele gateway-ului lipsesc** — necesită Claude Code v2.1.219+ și `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1`. Numai ID-urile de model `claude*` / `anthropic*` apar în selector; forțați orice alt model cu `ANTHROPIC_MODEL=` (aceasta este metoda utilizată de profiluri). **`400 Ambiguous model 'claude-…'`** — Claude Code trimite întotdeauna ID-uri de model **fără prefix** (de exemplu, `claude-opus-4-8`), astfel încât, atunci când sunt conectați atât furnizorul Claude Code (`cc/…`), cât și furnizorul Claude (`claude/…`), ID-ul fără prefix corespunde la două rute, iar OmniRoute refuză să ghicească. Puteți remedia problema în oricare dintre următoarele moduri: fixați un ID cu prefix folosind `ANTHROPIC_MODEL=cc/claude-opus-4-8` sau activați **Preferă Claude Code pentru modelele Claude fără prefix** — comutatorul de pe pagina furnizorului Claude sau `OMNIROUTE_PREFER_CLAUDE_CODE_FOR_UNPREFIXED_CLAUDE_MODELS=true` (dezactivat implicit; consultați [Mediu](../reference/ENVIRONMENT.md)) — ceea ce direcționează ID-urile `claude-*` fără prefix către Claude Code. Prefixele explicite ale furnizorilor au întotdeauna prioritate. **Erori de autentificare** — profilul nu conține niciun token. Utilizați `omniroute launch --profile` (îl injectează) sau exportați `ANTHROPIC_AUTH_TOKEN`. **Profilurile nu sunt izolate** — fiecare profil este un `CLAUDE_CONFIG_DIR` distinct; verificați dacă `echo $CLAUDE_CONFIG_DIR` din cadrul sesiunii indică `~/.claude/profiles/`.