# CLI Tools — OmniRoute (Magyar) 🌐 **Languages:** 🇺🇸 [English](../../../../reference/CLI-TOOLS.md) · 🇪🇹 [am](../../../am/docs/reference/CLI-TOOLS.md) · 🇸🇦 [ar](../../../ar/docs/reference/CLI-TOOLS.md) · 🇦🇿 [az](../../../az/docs/reference/CLI-TOOLS.md) · 🇧🇬 [bg](../../../bg/docs/reference/CLI-TOOLS.md) · 🇧🇩 [bn](../../../bn/docs/reference/CLI-TOOLS.md) · 🇧🇦 [bs](../../../bs/docs/reference/CLI-TOOLS.md) · 🇨🇿 [cs](../../../cs/docs/reference/CLI-TOOLS.md) · 🇩🇰 [da](../../../da/docs/reference/CLI-TOOLS.md) · 🇩🇪 [de](../../../de/docs/reference/CLI-TOOLS.md) · 🇬🇷 [el](../../../el/docs/reference/CLI-TOOLS.md) · 🇪🇸 [es](../../../es/docs/reference/CLI-TOOLS.md) · 🇪🇪 [et](../../../et/docs/reference/CLI-TOOLS.md) · 🇮🇷 [fa](../../../fa/docs/reference/CLI-TOOLS.md) · 🇫🇮 [fi](../../../fi/docs/reference/CLI-TOOLS.md) · 🇫🇷 [fr](../../../fr/docs/reference/CLI-TOOLS.md) · 🇮🇪 [ga](../../../ga/docs/reference/CLI-TOOLS.md) · 🇮🇳 [gu](../../../gu/docs/reference/CLI-TOOLS.md) · 🇳🇬 [ha](../../../ha/docs/reference/CLI-TOOLS.md) · 🇮🇱 [he](../../../he/docs/reference/CLI-TOOLS.md) · 🇮🇳 [hi](../../../hi/docs/reference/CLI-TOOLS.md) · 🇭🇷 [hr](../../../hr/docs/reference/CLI-TOOLS.md) · 🇦🇲 [hy](../../../hy/docs/reference/CLI-TOOLS.md) · 🇮🇩 [id](../../../id/docs/reference/CLI-TOOLS.md) · 🇳🇬 [ig](../../../ig/docs/reference/CLI-TOOLS.md) · 🇮🇹 [it](../../../it/docs/reference/CLI-TOOLS.md) · 🇯🇵 [ja](../../../ja/docs/reference/CLI-TOOLS.md) · 🇬🇪 [ka](../../../ka/docs/reference/CLI-TOOLS.md) · 🇰🇭 [km](../../../km/docs/reference/CLI-TOOLS.md) · 🇮🇳 [kn](../../../kn/docs/reference/CLI-TOOLS.md) · 🇰🇷 [ko](../../../ko/docs/reference/CLI-TOOLS.md) · 🇱🇹 [lt](../../../lt/docs/reference/CLI-TOOLS.md) · 🇱🇻 [lv](../../../lv/docs/reference/CLI-TOOLS.md) · 🇮🇳 [ml](../../../ml/docs/reference/CLI-TOOLS.md) · 🇮🇳 [mr](../../../mr/docs/reference/CLI-TOOLS.md) · 🇲🇾 [ms](../../../ms/docs/reference/CLI-TOOLS.md) · 🇲🇹 [mt](../../../mt/docs/reference/CLI-TOOLS.md) · 🇲🇲 [my](../../../my/docs/reference/CLI-TOOLS.md) · 🇳🇵 [ne](../../../ne/docs/reference/CLI-TOOLS.md) · 🇳🇱 [nl](../../../nl/docs/reference/CLI-TOOLS.md) · 🇳🇴 [no](../../../no/docs/reference/CLI-TOOLS.md) · 🇮🇳 [or](../../../or/docs/reference/CLI-TOOLS.md) · 🇮🇳 [pa](../../../pa/docs/reference/CLI-TOOLS.md) · 🇵🇭 [phi](../../../phi/docs/reference/CLI-TOOLS.md) · 🇵🇱 [pl](../../../pl/docs/reference/CLI-TOOLS.md) · 🇵🇹 [pt](../../../pt/docs/reference/CLI-TOOLS.md) · 🇧🇷 [pt-BR](../../../pt-BR/docs/reference/CLI-TOOLS.md) · 🇷🇴 [ro](../../../ro/docs/reference/CLI-TOOLS.md) · 🇷🇺 [ru](../../../ru/docs/reference/CLI-TOOLS.md) · 🇱🇰 [si](../../../si/docs/reference/CLI-TOOLS.md) · 🇸🇰 [sk](../../../sk/docs/reference/CLI-TOOLS.md) · 🇸🇮 [sl](../../../sl/docs/reference/CLI-TOOLS.md) · 🇷🇸 [sr](../../../sr/docs/reference/CLI-TOOLS.md) · 🇸🇪 [sv](../../../sv/docs/reference/CLI-TOOLS.md) · 🇰🇪 [sw](../../../sw/docs/reference/CLI-TOOLS.md) · 🇮🇳 [ta](../../../ta/docs/reference/CLI-TOOLS.md) · 🇮🇳 [te](../../../te/docs/reference/CLI-TOOLS.md) · 🇹🇭 [th](../../../th/docs/reference/CLI-TOOLS.md) · 🇹🇷 [tr](../../../tr/docs/reference/CLI-TOOLS.md) · 🇺🇦 [uk-UA](../../../uk-UA/docs/reference/CLI-TOOLS.md) · 🇵🇰 [ur](../../../ur/docs/reference/CLI-TOOLS.md) · 🇺🇿 [uz](../../../uz/docs/reference/CLI-TOOLS.md) · 🇻🇳 [vi](../../../vi/docs/reference/CLI-TOOLS.md) · 🇳🇬 [yo](../../../yo/docs/reference/CLI-TOOLS.md) · 🇨🇳 [zh-CN](../../../zh-CN/docs/reference/CLI-TOOLS.md) · 🇹🇼 [zh-TW](../../../zh-TW/docs/reference/CLI-TOOLS.md) --- Utolsó frissítés: 2026-08-23 Az OmniRoute a CLI-eszközök három kategóriájával integrálódik, amelyek három külön erre a célra szolgáló irányítópult-oldalon találhatók: | Oldal | Útvonal | Koncepció | Darabszám | | -------------- | ----------------------- | ------------------------------------------------------------------------------------------------------ | --------------------- | | **CLI Code's** | `/dashboard/cli-code` | Az OmniRoute-ra irányított kódolási eszközök (Kliens → CLI → OmniRoute → Szolgáltató) | 26 | | **CLI Agents** | `/dashboard/cli-agents` | Az OmniRoute-ra irányított autonóm ügynökök (azonos folyamat, tágabb hatókör) | 10 | | **ACP Agents** | `/dashboard/acp-agents` | CLI-k, amelyeket az OmniRoute háttérrendszerként indít el stdio/ACP használatával (fordított folyamat) | lásd a nyilvántartást | A régi útvonalak 308-as átirányítást használnak: `/dashboard/cli-tools` → `/dashboard/cli-code`, `/dashboard/agents` → `/dashboard/acp-agents`. --- ## Működés ``` CLI Code's / CLI Agents (felhasználási folyamat): Claude / Codex / OpenCode / Cline / KiloCode / Continue / Hermes Agent / Goose / ... │ ▼ (mindegyik az OmniRoute-ra mutat) http://YOUR_SERVER:20128/v1 │ ▼ (az OmniRoute a megfelelő szolgáltatóhoz irányít) Anthropic / OpenAI / Gemini / DeepSeek / Groq / Mistral / ... ACP Agents (fordított indítási folyamat): Klienskérés → OmniRoute → elindítja a CLI-t stdio/ACP használatával → válasz ``` **Előnyök:** - Egyetlen API-kulcs az összes eszköz kezeléséhez - Az összes CLI költségeinek nyomon követése az irányítópulton - Modellváltás anélkül, hogy minden eszközt újra kellene konfigurálni - Helyileg és távoli kiszolgálókon is működik (VPS, Docker, Akamai, Cloudflare Tunnel) --- ## Automatikus konfigurálás a `setup-*` használatával Nem kell kézzel megírnia az egyes eszközök konfigurációját. Az OmniRoute minden támogatott CLI-hez biztosít egy `setup-*` parancsot, amely beolvassa az **aktuális** modellkatalógust egy futó OmniRoute-példányból (helyiből vagy távoliból), és létrehozza az eszköz saját konfigurációját a gépén: ```bash omniroute setup-codex omniroute setup-claude omniroute setup-opencode omniroute setup-cline omniroute setup-kilo omniroute setup-continue omniroute setup-cursor omniroute setup-roo omniroute setup-crush omniroute setup-goose omniroute setup-qwen omniroute setup-aider omniroute setup-5dive omniroute setup-zed ``` Mindegyik elfogadja a `--remote --api-key ` kapcsolókat (egy helyi eszköz konfigurálása egy távoli OmniRoute használatára), a `--dry-run` kapcsolót (előnézet írás nélkül), valamint a `--port` kapcsolót. Azok az eszközök, amelyek nem támogatják a modellek automatikus felderítését (Cline, Kilo, Roo, Goose, Aider, Qwen, 5dive), elfogadják a `--model ` kapcsolót (nem interaktív futtatáshoz pedig a `--yes` kapcsolót is). A `setup-5dive` az egyetlen olyan konfigurációs eljárás, amely nem a `$HOME` alatt végez írást: egy 5dive-ügynökflottát konfigurál úgy, hogy root tulajdonú hitelesítési profilt ír a flottagazdagépre, ezért újraindítja magát a `sudo` használatával, és nem rendelkezik saját távoli móddal. Ha egy CLI-t a megfelelő környezeti változókkal, de bármilyen konfiguráció kiírása nélkül szeretne elindítani, használja az általános `omniroute run ` indítót (claude, codex, aider, goose, opencode, qwen, gemini — a célok és álnevek a `bin/cli/cli-manifest.mjs` fájlból származnak); a korábbi, eszközspecifikus `omniroute launch` (Claude Code) és `omniroute launch-codex` (Codex) indítók továbbra is elérhetők. A Gemini CLI csak indítható: az `omniroute run` egyik célja, de nem rendelkezik `setup-*`/`configure` konfigurációs eljárással. > **Teljes referencia:** a központi táblázat — amely bemutatja, hogy az egyes parancsok mit írnak, felsorolja az összes kapcsolót, > ismerteti a helyi és távoli használatot, valamint azt, hogy mely eszközök igénylik a `/v1` utótagot — a > **[CLI-integrációk](../guides/CLI-INTEGRATIONS.md)** oldalon található. ### Futtatás konténeren belül Az OmniRoute-konténeren belül végrehajtott `setup-*` parancs a konténer saját könyvtárába ír, amelyet egyetlen gazdagépen futó CLI sem olvas, és amely a konténerrel együtt eltűnik. Az OmniRoute ezt felismeri, és írás helyett utasításokkal együtt a `2` kilépési kóddal leáll. Két támogatott továbblépési lehetőség van — telepítse a CLI-t a gazdagépre, és az `omniroute connect` segítségével csatlakoztassa a konténerhez, vagy csatolja be a konfigurációs könyvtárakat, és állítsa be a `CLI_CONFIG_HOME` változót (a compose `host` profilját). Minden `setup-*` parancs, továbbá az `omniroute configure` és az `omniroute config set` is elfogadja az `--allow-container-write` kapcsolót, ha valóban a konténer saját CLI-jeit kívánja konfigurálni; a kiszolgáló esetében az `OMNIROUTE_ALLOW_CONTAINER_CONFIG_WRITE=true` ugyanezt teszi. Lásd: [Docker-útmutató → A gazdagép CLI-eszközeinek konfigurálása](../guides/DOCKER_GUIDE.md#configuring-host-cli-tools-when-omniroute-runs-in-docker). Az irányítópult **alkalmazási végpontja** (`POST /api/cli-tools/apply`) ugyanezt a védelmet érvényesíti: konténerben a gazdagépről nem becsatolt célhelyre irányuló írási kérés **`422`** választ ad `containerEphemeralTarget: true` értékkel, biztonságos hibaüzenettel, valamint — a gazdagépi konfigurációs eljárással rendelkező eszközöknél (claude, codex, opencode, cline, kilo, continue) — egy `hostSetupCommand` értékkel (például `omniroute setup-opencode`), amelyet ehelyett a gazdagépen kell futtatni; semmi sem kerül kiírásra. A `dryRun: true` konténermódban is működik, és bizalmas adatoktól megtisztított előnézetet, valamint célútvonalat ad vissza a lemez módosítása nélkül. Az előnézet tartalma nem másolható vagy importálható hitelesítő adatokat tartalmazó konfigurációként. Az alkalmazást az eredeti eszköz-, alap-URL-, API-kulcs- és modellbemenetekkel hajtsa végre a gazdagépen, vagy használja a megadott, gazdagépoldali konfigurációs parancsot. Az előnézeti fejlécről és a kérési szerződésről lásd a [CLI-konfiguráció biztonsága](../security/CLI-CONFIGURATION.md) című dokumentumot. Ez a viselkedés szándékos, és regresszió ellen a `tests/unit/api/cli-tools/apply-container-guard.test.ts` teszt védi — soha ne „javítsa” a 422-es hibát a védelem eltávolításával. --- ## Hiteles forrás Az egységes katalógus a `src/shared/constants/cliTools.ts` fájlban található `CLI_TOOLS: Record` formájában. Minden bejegyzés a következő mezőkkel rendelkezik (a `src/shared/schemas/cliCatalog.ts` fájlban definiálva): | Mező | Típus | Leírás | | ----------------------------------------------- | ------------------------------------------------------------ | ---------------------------------------------------------------- | | `category` | `"code" \| "agent"` | Melyik oldalon jelenik meg az eszköz | | `vendor` | `string` | Az eszköz eredete („Anthropic”, „OSS (P. Gauthier)”) | | `acpSpawnable` | `boolean` | ACP Agentként is használható (jelvény jelenik meg) | | `baseUrlSupport` | `"full" \| "partial" \| "none"` | Egyéni végpontok támogatási szintje. `"none"` = MITM-teendőlista | | `configType` | `"env" \| "custom" \| "guide" \| "custom-builder" \| "mitm"` | Konfigurációs mechanizmus | | `id`, `name`, `color`, `description`, `docsUrl` | szabványos | Alapvető megjelenítési mezők | A `baseUrlSupport: "none"` értékkel rendelkező bejegyzések **nem jelennek meg** az irányítópult oldalain — ezek a 11. terv MITM-teendőlistájában vannak nyilvántartva (lásd: `_tasks/features-v3.8.6/refactorpages/_orchestration/_plan11-mitm-backlog.md`). ### Képességi szintek (katalogizált × észlelhető × konfigurálható × indítható) Nem minden katalogizált eszköz észlelhető, konfigurálható vagy indítható. Minden szintnek egyetlen deklarációs forrása van, és egy eltérésvizsgálat biztosítja ezek összhangját: | Szint | Jelentés | Deklaráció helye | | ------------------ | ------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------- | | **Katalogizált** | Megjelenik az irányítópult katalógusában (név, gyártó, dokumentáció, konfigurációtípus) | `src/shared/constants/cliTools.ts` (`CLI_TOOLS`) | | **Észlelhető** | Bináris-/konfigurációészlelés, állapotellenőrzések, konfigurációs útvonalak | `src/shared/services/cliRuntime.ts` (`CLI_TOOLS` futásidejű katalógus) | | **Konfigurálható** | Az `omniroute configure ` támogatja (létezik beállítási recept) | `bin/cli/cli-manifest.mjs` (`configure: true`) | | **Indítható** | Az `omniroute run ` támogatja (a környezeti változók/argumentumok injektálása definiált) | `bin/cli/cli-manifest.mjs` (`run: true`) | A `bin/cli/cli-manifest.mjs` a CLI-parancsfelületek kanonikus végrehajtható manifestje: a `run`, a `configure` és a shell-kiegészítési generátorok mind ebből származtatják a célpontlistáikat, az aliasok feloldását (például `kilocode`/`kilo-code`/`kilo_cli` → `kilo`) és a `--model` kapcsoló bekötését. A `tests/unit/cli/cli-manifest-drift.test.ts` eltérésvédelmi teszt biztosítja, hogy a manifest, a futásidejű katalógus, a felhasználói felület katalógusa és minden felhasználói felület szinkronban maradjon — ha egy célpontot csak az egyik felülethez adnak hozzá a többi nélkül, a tesztcsomag hibával leáll ahelyett, hogy az eltérés észrevétlen maradna. --- ## 1. A CLI Code katalógusa (27 eszköz) A `/dashboard/cli-code` oldalon megjelenő összes eszköz. A `baseUrlSupport: none` értékkel rendelkezők egyéni alap-URL helyett MITM-en vagy kézi útmutatón keresztül vannak bekötve: | id | name | vendor | baseUrlSupport | configType | acpSpawnable | | ------------ | ----------------------- | ------------------- | -------------- | -------------- | ------------ | | claude | Claude Code | Anthropic | full | env | true | | codex | OpenAI Codex CLI | OpenAI | full | custom | true | | zcode | ZCode (GLM Coding Plan) | Z.ai | none | custom | false | | cline | Cline | OSS (ex-Claude Dev) | full | custom | true | | kilo | Kilo Code | Kilo-Org | full | custom | false | | roo | Roo Code | Roo (OSS) | full | guide | false | | continue | Continue | continue.dev | full | guide | false | | aider | Aider | OSS (P. Gauthier) | full | guide | true | | forge | ForgeCode | Antinomy HQ | full | custom | true | | jcode | jcode | 1jehuang (OSS) | full | custom | false | | deepseek-tui | DeepSeek TUI | Hunter Bown (OSS) | full | custom | false | | codewhale | CodeWhale | Hmbown (OSS) | full | custom | false | | opencode | OpenCode | Anomaly (ex-SST) | full | guide | true | | droid | Factory Droid | Factory AI | partial | guide | false | | copilot | GitHub Copilot CLI | GitHub/MS | full | custom | false | | cursor-cli | Cursor CLI | Anysphere | partial | guide | true | | smelt | Smelt | leonardcser (OSS) | full | custom | false | | pi | Pi (pi-coding-agent) | M. Zechner (OSS) | full | custom | false | | grok-build | Grok Build | xAI | full | custom | false | | crush | Crush | OSS (Charm) | full | custom | false | | qwen | Qwen Code | Alibaba | full | guide | true | | zed | Zed | Zed Industries | full | guide | false | | cursor | Cursor | Anysphere | none | guide | false | | antigravity | Antigravity | Google | none | mitm | false | | hermes | Hermes | Nous Research | none | guide | false | | kiro | Kiro AI | Amazon | none | mitm | false | | custom | Egyéni CLI | — | full | custom-builder | false | A `baseUrlSupport: "partial"` értékkel rendelkező eszközök kártyáján a „⚠ Részleges alap-URL” jelvény jelenik meg. --- ## 2. CLI-ügynökök katalógusa (10 eszköz) A `/dashboard/cli-agents` oldalon megjelenő autonóm ügynökök: | id | név | szolgáltató | baseUrl-támogatás | acpSpawnable | | ------------ | ---------------- | ------------------------ | ----------------- | ------------ | | hermes-agent | Hermes Agent | Nous Research | full | false | | openclaw | OpenClaw | OSS (P. Steinberger) | full | true | | goose | Goose | Block / Linux Foundation | full | true | | interpreter | Open Interpreter | OSS | full | true | | warp | Warp AI | Warp Inc. | partial | true | | agent-deck | Agent Deck | asheshgoplani (OSS) | full | false | | omp | Oh My Pi | OSS | full | true | | letta | Letta CLI | Letta | full | false | | prime-agent | Prime Agent | Prime Intellect (OSS) | full | false | | 5dive | 5dive | OSS (5dive-ai) | full | false | --- ## 3. ACP-ügynökök (/dashboard/acp-agents) Ez az oldal (korábban `/dashboard/agents`) azokat a CLI-ket jeleníti meg, amelyeket az OmniRoute háttérbeli végrehajtómotorként képes **elindítani** a stdio/ACP protokollon keresztül. A katalógust külön, a `src/lib/acp/registry.ts` fájlban tartják karban, és az **nem** azonos a `CLI_TOOLS` katalógussal. --- ## 4. MITM-hátralék (nem jelenik meg az irányítópulton) A következő CLI-k natívan nem támogatják az egyéni alap URL-t, és **nem szerepelnek** a CLI Code vagy a CLI Agents oldalain. Ezek a 11. tervben szereplő MITM-elfogás jelöltjei: | CLI | Indok | | ------------------- | ------------------------------------------------------------------------------- | | windsurf | A BYOK csak bizonyos Claude-modellekre és vállalati URL-re/tokenre korlátozódik | | amp | Zárt ökoszisztéma (Sourcegraph) | | amazon-q / kiro-cli | AWS SSO-hitelesítés, nincs egyéni URL | | cowork | Anthropic Desktop, nincs konfigurálható végpont | A teljes kereszthivatkozást lásd az `_tasks/features-v3.8.6/refactorpages/_orchestration/_plan11-mitm-backlog.md` fájlban. --- ## 5. Kötegelt észlelési API Az összes eszköz észlelése egyetlen végponton keresztül történik: **`GET /api/cli-tools/all-statuses`** - Hitelesítés: `requireCliToolsAuth(request)` (ugyanaz, mint a többi `/api/cli-tools/` útvonalnál) - Visszatérési érték: `Record` (típus: `src/shared/types/cliBatchStatus.ts`) - Stratégia: `Promise.all` használata az összes eszközön, eszközönként 5 másodperces időkorláttal - Gyorsítótár: memóriában tárolt LRU, amelyet a konfigurációs fájl `mtime` értéke indexel. A gyorsítótár érvényét veszti, amikor az mtime megváltozik. A kiszolgáló újraindításakor alaphelyzetbe áll. Az eszközönkénti válasz szerkezete: ```ts interface ToolBatchStatus { detection: { installed: boolean; runnable: boolean; version?: string; command?: string; commandPath?: string; reason?: string; }; config: { status: "configured" | "not_configured" | "not_installed" | "unknown" | "other"; endpoint?: string | null; lastConfiguredAt?: string | null; }; error?: string; // megtisztítva, veremkövetések nélkül } ``` --- ## 6. Beállításkezelők új eszközökhöz A `configType: "custom"` értékkel rendelkező új eszközök dedikált beállítási API-útvonalakkal rendelkeznek: | Útvonal | Eszköz | | ------------------------------------------- | ------------------------------------------------------------------------------- | | `POST /api/cli-tools/forge-settings` | ForgeCode (.forge.toml) | | `POST /api/cli-tools/jcode-settings` | jcode (--base-url kapcsoló) | | `POST /api/cli-tools/deepseek-tui-settings` | DeepSeek TUI (OPENAI_BASE_URL, örökölt) | | `POST /api/cli-tools/codewhale-settings` | CodeWhale (OPENAI_BASE_URL, elsődleges + örökölt `~/.deepseek` szinkronizálása) | | `POST /api/cli-tools/smelt-settings` | Smelt | | `POST /api/cli-tools/pi-settings` | Pi kódolóügynök | | `POST /api/cli-tools/grok-build-settings` | Grok Build (~/.grok/config.toml, `[model.omniroute]`) | | `POST /api/cli-tools/qwen-settings` | Qwen Code (`~/.qwen/settings.json` + dedikált `.env`-kulcs) | Minden útvonal a `sanitizeErrorMessage()` függvényt használja a hibaválaszokhoz (12. szigorú szabály). --- ## 7. Az irányítópult oldalainak architektúrája ### CLI-kódok (`/dashboard/cli-code`) - `src/app/(dashboard)/dashboard/cli-code/page.tsx` — szerverkomponens - `src/app/(dashboard)/dashboard/cli-code/CliCodePageClient.tsx` — kliensoldali rács - `src/app/(dashboard)/dashboard/cli-code/[id]/page.tsx` — eszköz részletes oldala - `src/app/(dashboard)/dashboard/cli-code/components/` — 12 specializált eszközkártya + `ToolDetailClient.tsx` ### CLI-ügynökök (`/dashboard/cli-agents`) - `src/app/(dashboard)/dashboard/cli-agents/page.tsx` — szerverkomponens - `src/app/(dashboard)/dashboard/cli-agents/CliAgentsPageClient.tsx` — kliensoldali rács - `src/app/(dashboard)/dashboard/cli-agents/[id]/page.tsx` — újra felhasználja a `ToolDetailClient` komponenst ### ACP-ügynökök (`/dashboard/acp-agents`) - `src/app/(dashboard)/dashboard/acp-agents/page.tsx` — szerverkomponens (áthelyezve az `agents/` könyvtárból) ### Megosztott felhasználóifelület-komponensek (`src/shared/components/cli/`) | Fájl | Rendeltetés | | ----------------------- | ------------------------------------------------------------- | | `CliToolCard.tsx` | Intelligens állapotkártya (észlelés + konfiguráció + végpont) | | `CliConceptCard.tsx` | Oldalankénti fogalommagyarázó kártya | | `CliComparisonCard.tsx` | Háromoszlopos összehasonlítás a CLI-típusok között | | `BaseUrlSelect.tsx` | Végpont legördülő menüje (helyi/felhő/egyéni) | | `ApiKeySelect.tsx` | API-kulcs-választó | | `ManualConfigModal.tsx` | Másolható konfigurációs kódrészletet tartalmazó modális ablak | ### Megosztott hook (`src/shared/hooks/cli/`) | Fájl | Rendeltetés | | ------------------------- | ------------------------------------------------------------------------------------------ | | `useToolBatchStatuses.ts` | Lekéri az `/api/cli-tools/all-statuses` végpontot, kezeli a betöltési/frissítési állapotot | --- ## 8. i18n A 14 F9 tervben hozzáadott új névterek: | Névtér | Cél | | ----------- | ------------------------------------------------------------------------------------------------------- | | `cliCommon` | Megosztott karakterláncok (kártyacímkék, koncepció- és összehasonlító szövegek, részletes oldal címkéi) | | `cliCode` | A CLI Code oldal karakterláncai | | `cliAgents` | A CLI Agents oldal karakterláncai | | `acpAgents` | Az ACP Agents oldal karakterláncai | A teljes PT-BR és EN fordítás biztosított. A további 39 területi beállítás automatikusan az EN fordításra áll vissza a `src/i18n/request.ts` névtérszintű egyesítésén keresztül. --- ## 9. Gyors kezdés ### 1. lépés — OmniRoute API-kulcs beszerzése 1. Nyissa meg a `/dashboard/api-manager` oldalt → **API-kulcs létrehozása** 2. Adjon neki nevet (pl. `cli-tools`), és válassza ki az összes jogosultságot 3. Másolja ki a kulcsot — az alábbi CLI-eszközök mindegyikéhez szüksége lesz rá > A kulcs így néz ki: `sk-xxxxxxxxxxxxxxxx-xxxxxxxxx` --- ### 2. lépés — CLI-eszközök telepítése Minden npm-alapú eszközhöz Node.js 22.22.2+ vagy 24.x szükséges: ```bash # Claude Code (Anthropic) npm install -g @anthropic-ai/claude-code # OpenAI Codex npm install -g @openai/codex # OpenCode npm install -g opencode-ai # Cline npm install -g cline # KiloCode npm install -g kilocode # Qwen Code npm install -g @qwen-code/qwen-code # Google Gemini CLI (az `omniroute run gemini` paranccsal indítható → /v1beta felület) npm install -g @google/gemini-cli # Aider pip install aider-chat # Smelt cargo install smelt # Rust-alapú # Pi kódolóügynök # a telepítéshez lásd: https://github.com/zechnerj/pi-coding-agent # jcode # a telepítéshez lásd: https://github.com/1jehuang/jcode ``` --- ### 3. lépés — Konfigurálás az irányítópulton keresztül 1. Nyissa meg a `http://localhost:20128/dashboard/cli-code` oldalt 2. Keresse meg az eszközt a rácsban 3. Kattintson a kártyára az eszköz részletes oldalának megnyitásához 4. Válassza ki az API-kulcsot és az alap URL-t 5. Kattintson a **Konfiguráció alkalmazása** lehetőségre, vagy másolja ki a manuális konfigurációs kódrészletet --- ### 4. lépés — Globális környezeti változók beállítása ```bash # OmniRoute univerzális végpont export OPENAI_BASE_URL="http://localhost:20128/v1" export OPENAI_API_KEY="sk-your-omniroute-key" export ANTHROPIC_BASE_URL="http://localhost:20128" export ANTHROPIC_AUTH_TOKEN="sk-your-omniroute-key" # A Gemini CLI a GYÖKÉRSZINTEN olvassa a GOOGLE_GEMINI_BASE_URL változót (az SDK saját maga fűzi hozzá a /v1beta/... részt) export GOOGLE_GEMINI_BASE_URL="http://localhost:20128" export GEMINI_API_KEY="sk-your-omniroute-key" ``` > **Távoli szerver** esetén cserélje le a `localhost:20128` értéket a szerver IP-címére vagy tartományára, > például: `http://:20128`. --- ### 4. lépés — Az egyes eszközök konfigurálása #### Claude Code ```bash # A ~/.claude/settings.json létrehozása: mkdir -p ~/.claude && cat > ~/.claude/settings.json << EOF { "env": { "ANTHROPIC_BASE_URL": "http://localhost:20128", "ANTHROPIC_AUTH_TOKEN": "sk-your-omniroute-key" } } EOF ``` A Claude Code esetében az egyesített Anthropic-átjáró gyökerét használja. Itt ne fűzze hozzá a `/v1` részt. **Teszt:** `claude "say hello"` --- #### OpenAI Codex A modern Codex (v0.137+) kizárólag a `~/.codex/config.toml` fájlt olvassa — a régi `config.yaml` az örökölt npm CLI-hez tartozik, ezért a rendszer minden jelzés nélkül figyelmen kívül hagyja. Az API- kulcs az `OMNIROUTE_API_KEY` környezeti változóban (`env_key`) marad, és soha nem kerül a fájlba: ```bash mkdir -p ~/.codex && cat > ~/.codex/config.toml << EOF model_provider = "omniroute" [model_providers.omniroute] name = "OmniRoute" base_url = "http://localhost:20128/v1" env_key = "OMNIROUTE_API_KEY" requires_openai_auth = false EOF export OMNIROUTE_API_KEY="sk-your-omniroute-key" ``` Teljes referencia (profilok, `wire_api`, kontextusablakok): [CODEX-CLI-CONFIGURATION.md](../guides/CODEX-CLI-CONFIGURATION.md). **Teszt:** `codex "what is 2+2?"` --- #### OpenCode ```bash mkdir -p ~/.config/opencode && cat > ~/.config/opencode/opencode.json << EOF { "\$schema": "https://opencode.ai/config.json", "provider": { "omniroute": { "npm": "@ai-sdk/openai-compatible", "name": "OmniRoute", "options": { "baseURL": "http://localhost:20128/v1", "apiKey": "sk-your-omniroute-key" }, "models": { "claude-sonnet-4-5": { "name": "claude-sonnet-4-5" }, "claude-sonnet-4-5-thinking": { "name": "claude-sonnet-4-5-thinking" }, "gemini-3-flash": { "name": "gemini-3-flash" } } } } } EOF ``` **Teszt:** `opencode` > A gondolkodási változatok küldéséhez használja az `opencode run "your prompt" --model omniroute/claude-sonnet-4-5-thinking --variant high` > parancsot. --- #### Cline (CLI vagy VS Code) **CLI-mód:** ```bash mkdir -p ~/.cline/data && cat > ~/.cline/data/globalState.json << EOF { "apiProvider": "openai", "openAiBaseUrl": "http://localhost:20128/v1", "openAiApiKey": "sk-your-omniroute-key" } EOF ``` **VS Code-mód:** Cline-bővítmény beállításai → API-szolgáltató: `OpenAI Compatible` → Alap URL: `http://localhost:20128/v1` Vagy használja az OmniRoute irányítópultját → **CLI-eszközök → Cline → Konfiguráció alkalmazása**. --- #### KiloCode (CLI vagy VS Code) **CLI-mód:** ```bash kilocode --api-base http://localhost:20128/v1 --api-key sk-your-omniroute-key ``` **VS Code-beállítások:** ```json { "kilo-code.openAiBaseUrl": "http://localhost:20128/v1", "kilo-code.apiKey": "sk-your-omniroute-key" } ``` Vagy használja az OmniRoute irányítópultját → **CLI-eszközök → KiloCode → Konfiguráció alkalmazása**. --- #### Continue (VS Code-bővítmény) Szerkessze a `~/.continue/config.yaml` fájlt: ```yaml models: - name: OmniRoute provider: openai model: auto apiBase: http://localhost:20128/v1 apiKey: sk-your-omniroute-key default: true ``` A szerkesztés után indítsa újra a VS Code-ot. --- #### VS Code Insiders (`chatLanguageModels.json`) Akkor használja ezt, ha a VS Code Insiders egyéni végpontmodellekhez van konfigurálva, és azt szeretné, hogy az OmniRoute egyéni fejlécmező nélkül működjön. **Ajánlott hely:** - Linux: `~/.config/Code - Insiders/User/chatLanguageModels.json` - Windows: `%APPDATA%/Code - Insiders/User/chatLanguageModels.json` **Példa a tokenizált OmniRoute-alias használatára:** ```json [ { "vendor": "customendpoint", "id": "auto", "name": "OmniRoute Auto", "family": "gpt-4", "version": "1.0.0", "url": "http://localhost:20128/api/v1/vscode/sk-your-omniroute-key/chat/completions", "modelsUrl": "http://localhost:20128/api/v1/vscode/sk-your-omniroute-key/models", "requestFormat": "openai-chat-completions", "contextWindow": 256000, "maxOutputTokens": 32768, "auth": { "type": "none" } } ] ``` **Megjegyzések:** - Cserélje le az `sk-your-omniroute-key` értéket egy, az OmniRoute-ban létrehozott API-kulcsra. - A `url` mezőnek az `/api/v1/vscode/{token}/chat/completions` végpontra kell mutatnia. - A `modelsUrl` mezőnek az `/api/v1/vscode/{token}/models` végpontra kell mutatnia. - Ha a kliens támogatja az egyéni fejléceket, részesítse előnyben a szokásos `/v1` + Bearer fejléc használatát. - Az URL-be ágyazott tokenek kompatibilitási tartalékmegoldást jelentenek, és megjelenhetnek a szerkesztő naplóiban vagy a proxy előzményeiben. --- #### Kiro CLI (Amazon) ```bash # Jelentkezzen be az AWS-/Kiro-fiókjába: kiro-cli login # A CLI saját hitelesítést használ — magának a Kiro CLI-nek nincs szüksége az OmniRoute-ra háttérrendszerként. # Más eszközök esetében használja a kiro-cli-t az OmniRoute mellett. kiro-cli status ``` A **Kiro IDE** asztali alkalmazás esetében használja az OmniRoute által elérhetővé tett MITM-végpontot a `/dashboard/cli-tools → Kiro` alatt. --- ## 10. Belső OmniRoute CLI Az `omniroute` bináris parancsokat biztosít a kiszolgáló életciklusának kezeléséhez, a beállításhoz, a diagnosztikához és a szolgáltatók kezeléséhez. Belépési pont: `bin/omniroute.mjs`. ```bash omniroute # Kiszolgáló indítása (alapértelmezett port: 20128) omniroute setup # Interaktív beállítási varázsló omniroute doctor # Konfiguráció, adatbázis, portok és futtatókörnyezet ellenőrzése omniroute providers list # Konfigurált szolgáltatói kapcsolatok omniroute providers test-all # Minden aktív kapcsolat tesztelése omniroute reset-password # Az adminisztrátori jelszó visszaállítása omniroute logs # Kérésnaplók folyamatos megjelenítése omniroute health # Részletes állapot (megszakítók, gyorsítótár, memória) omniroute --version # Verzió megjelenítése omniroute --help # Az összes parancs megjelenítése ``` ### Beállítás és inicializálás ```bash omniroute setup # Interaktív beállítási varázsló omniroute setup --non-interactive # CI-/automatizálási mód (környezeti változókat és kapcsolókat olvas) omniroute setup --password '' # Adminisztrátori jelszó közvetlen beállítása omniroute setup --add-provider \ --provider openai \ --api-key '' \ --test-provider # Szolgáltató hozzáadása és tesztelése egyetlen lépésben ``` A nem interaktív beállítás során felismert környezeti változók: | Változó | Rendeltetés | | ------------------- | ------------------------------------------------------------------------------------------ | | `OMNIROUTE_API_KEY` | Szolgáltatói API-kulcs (a Commander `.env()` segítségével a `--api-key` kapcsolóhoz kötve) | | `DATA_DIR` | Az OmniRoute adatkönyvtárának felülbírálása | Minden más nem interaktív bemenet kapcsolóként, nem pedig környezeti változóként adandó át: `--password`, `--provider`, `--provider-name`, `--provider-base-url`, `--default-model` (lásd fent az `omniroute setup` beállításait). ### Diagnosztika ```bash omniroute doctor # Konfiguráció, adatbázis, portok, futtatókörnyezet, memória és elérhetőség ellenőrzése omniroute doctor --json # Géppel olvasható JSON omniroute doctor --no-liveness # A HTTP-állapotpróba kihagyása omniroute doctor --host 0.0.0.0 # Az elérhetőségi gazdagép felülbírálása omniroute doctor --liveness-url # Az állapotvégpont teljes URL-jének felülbírálása ``` A doctor a következő ellenőrzéseket futtatja: `Config`, `Database`, `Storage/encryption`, `Port availability`, `Node runtime`, `Native binary` (better-sqlite3), `Memory` és `Server liveness`. Nem nulla kilépési kóddal fejeződik be, ha bármelyik ellenőrzés eredménye `fail`. ### Szolgáltatók kezelése ```bash omniroute providers available # OmniRoute szolgáltatói katalógus omniroute providers available --search openai # Katalógus szűrése azonosító/név/álnév/kategória alapján omniroute providers available --category api-key # Szűrés kategória szerint (api-key, oauth, free, ...) omniroute providers available --json # Géppel olvasható JSON omniroute providers list # Konfigurált szolgáltatói kapcsolatok omniroute providers list --json omniroute providers test # Egy konfigurált kapcsolat tesztelése omniroute providers test-all # Minden aktív kapcsolat tesztelése omniroute providers validate # Kizárólag helyi szerkezeti ellenőrzés omniroute providers add --credential-env PROVIDER_KEY omniroute providers import ./providers.json --dry-run --json omniroute providers auth # Meglévő OAuth-folyamat omniroute providers edit --default-model omniroute providers remove --yes ``` A `providers add/import/auth/edit/remove` parancsok elsősorban API-alapúak, ezért az aktív helyi vagy távoli környezeten működnek. A hitelesítő adatokat a `--credential-stdin` vagy a `--credential-env` használatával kell megadni; a `--dry-run --json` csak kitakart jelenléti és szerkezeti információkat jelent. A `providers available` az OmniRoute katalógusát olvassa; a `providers list/test/test-all/validate` megtartja helyi SQLite-működését, és nem igényli a kiszolgáló futását. Egyedi OpenAI-kompatibilis vagy Anthropic-kompatibilis csomópont esetén társítsa a hitelesítő adatokat az `omniroute nodes add` által visszaadott csomópont-azonosítóhoz az `omniroute keys add "$NODE_ID" --stdin` használatával. Ehhez futó kiszolgáló és az aktív környezethez tartozó felügyeleti hitelesítés szükséges. A CLI a `POST /api/providers` végpontot használja, amely ellenőrzi a csomópontot, és annak végpontbeállításait a kapcsolatba másolja. Hiányzó csomópont, sikertelen engedélyezés vagy elérhetetlen kiszolgáló esetén hiba történik, helyi tartalék hitelesítő adat létrehozása nélkül. A `nodes add --base-url` a csomópont végpontját állítja be; ez nem azonos az `OMNIROUTE_BASE_URL` változóban megadott kiszolgálócímmel. OpenAPI-fájlokhoz használja az `omniroute openapi dump --format json --out ./openapi.json` parancsot; a globális `--output` a CLI megjelenítési formátumát választja ki, nem pedig a célfájl nevét. ### Helyreállítás és visszaállítás ```bash omniroute reset-password # Az adminisztrátori jelszó visszaállítása (más néven: omniroute-reset-password) omniroute reset-encrypted-columns # Figyelmeztetés és próbaüzem megjelenítése a titkosított hitelesítő adatok visszaállításához omniroute reset-encrypted-columns --force # A titkosított hitelesítő adatok tényleges nullázása az SQLite-ban ``` ### Hitelesítő adatok exportálása (⚠ körültekintően kezelendő) ```bash omniroute auth export # Figyelmeztetés és megerősítési lépés megjelenítése — nincs adatbázis-hozzáférés omniroute auth export --force # MINDEN kapcsolat VISSZAFEJTETT hitelesítő adatainak exportálása JSON-ként a szabványos kimenetre omniroute auth export --force --id # Csak az egyező kapcsolat exportálása omniroute auth export --force --format env # OMNIROUTE__= sorok kibocsátása omniroute auth export --force --out creds.json # Fájlba írás (0600 jogosultságokkal létrehozva) ``` Az `auth export` **kizárólag helyben működik** (közvetlen SQLite-olvasás, HTTP-útvonal nélkül), és szándékosan **egyszerű szövegként** jeleníti meg vagy írja ki az `apiKey`/`accessToken`/`refreshToken`/`idToken` értékeket — ez funkció, nem hiba. A `--force` nélkül semmi sem kerül kiolvasásra az adatbázisból, és semmi sem kerül visszafejtésre. A szabványos hibakimenetre mindig megjelenik egy figyelmeztető szalag, mielőtt bármilyen egyszerű szöveges érték kiírásra kerülne. Ehhez be kell állítani a `STORAGE_ENCRYPTION_KEY` változót. Ha egy mező visszafejtése sikertelen (elavult kulcs, sérült titkosított szöveg), akkor a rendszer `DecryptFailed: true` értékkel jelzi azt ahelyett, hogy megszakítaná a teljes exportálást, vagy kiszivárogtatná a mögöttes hibát. ### Egyéb alparancsok Ezek futó OmniRoute-kiszolgálót feltételeznek, hacsak nincs másként jelezve: ```bash omniroute status # Átfogó futásidejű állapot omniroute logs # Kérésnaplók streamelése (--json, --search, --follow) omniroute config list # Konfigurált CLI-eszközök megjelenítése omniroute provider list # Elérhető szolgáltatók listázása (a providers list aliasa) omniroute provider add # Az OmniRoute regisztrálása szolgáltatóként egy eszközön omniroute keys add | list | remove # API-kulcsok kezelése omniroute models [provider] # Modellek listázása (--json, --search) omniroute combo list | switch | create | delete omniroute backup # Pillanatkép készítése a konfigurációról és az adatbázisról omniroute restore # Visszaállítás egy korábbi pillanatképből omniroute health # Részletes állapot (megszakítók, gyorsítótár, memória) omniroute quota # Szolgáltatói kvótahasználat omniroute cache # Gyorsítótár állapota omniroute cache clear # Szemantikai és aláírás-gyorsítótárak törlése omniroute mcp status | restart # MCP-kiszolgáló állapota / újraindítása omniroute a2a status | card # A2A-kiszolgáló állapota / ügynökkártya omniroute tunnel list | create | stop # Alagutak kezelése (cloudflare/tailscale/ngrok) omniroute env show | get | set # Környezeti változók megtekintése / beállítása (ideiglenes) omniroute test # Szolgáltatói kapcsolat gyors ellenőrzése omniroute update # Frissítések keresése omniroute completion # Parancsértelmező-kiegészítés generálása ``` ### Gyakori kapcsolók | Kapcsoló | Leírás | | ------------------- | -------------------------------------------------------------------------- | | `--no-open` | Ne nyissa meg automatikusan a böngészőt indításkor | | `--port ` | Az API-port felülbírálása (alapértelmezés: 20128) | | `--mcp` | Futtatás MCP-kiszolgálóként stdio használatával (IDE-khez) | | `--non-interactive` | CI-mód (nincsenek kérdések; beolvasás környezeti változókból/kapcsolókból) | | `--json` | Géppel olvasható JSON-kimenet (doctor, providers stb.) | | `--help`, `-h` | Parancsspecifikus súgó megjelenítése | | `--version`, `-v` | A telepített verzió kiírása | --- ## Elérhető API-végpontok | Végpont | Leírás | Felhasználási terület | | -------------------------- | ---------------------------------------- | ------------------------------------------ | | `/v1/chat/completions` | Szabványos csevegés (minden szolgáltató) | Minden modern eszköz | | `/v1/responses` | Responses API (OpenAI-formátum) | Codex, ágensalapú munkafolyamatok | | `/v1/completions` | Örökölt szövegkiegészítések | Régebbi, `prompt:` mezőt használó eszközök | | `/v1/embeddings` | Szövegbeágyazások | RAG, keresés | | `/v1/images/generations` | Képgenerálás | GPT-Image, Flux stb. | | `/v1/audio/speech` | Szövegfelolvasás | ElevenLabs, OpenAI TTS | | `/v1/audio/transcriptions` | Beszéd szöveggé alakítása | Deepgram, AssemblyAI | Beillesztésre kész példák tokennel ellátott OmniRoute URL-lel: ```txt Tokenpélda: sk-a3ab3c080beaee3a-69f4a4-070d71af Szabványos OpenAI-alapcím: http://localhost:20128/v1 VS Code-modellek: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/models VS Code-csevegés: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/chat/completions VS Code-válaszok: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/responses Ollama-címkék: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/api/tags Ollama-csevegés: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/api/chat ``` --- ## Hibaelhárítás | Hiba | Ok | Javítás | | ------------------------------------------------------------ | ----------------------------------- | ------------------------------------------------------------ | | `Connection refused` | Az OmniRoute nem fut | `omniroute serve` | | `401 Unauthorized` | Hibás API-kulcs | Ellenőrizze itt: `/dashboard/api-manager` | | `No combo configured` | Nincs aktív útválasztási kombináció | Állítsa be itt: `/dashboard/combos` | | A CLI szerint „nincs telepítve” | A bináris fájl nincs a PATH-ban | Ellenőrizze: `which ` | | A vezérlőpult a telepítés után „nem észlelt” állapotot mutat | A gyorsítótár elavult | Kattintson a vezérlőpulton a „⟳ Észlelés frissítése” elemre | | Régi hivatkozás: `/dashboard/cli-tools` | v3.8.6 előtti könyvjelző | Automatikusan átirányítva ide: `/dashboard/cli-code` (308) | | Régi hivatkozás: `/dashboard/agents` | v3.8.6 előtti könyvjelző | Automatikusan átirányítva ide: `/dashboard/acp-agents` (308) | ## A következtetési kulcs szabályzatának kezelése az OmniRoute CLI-vel Használjon hitelesített kezelési környezetet (lásd: [Távoli mód](../guides/REMOTE-MODE.md)) egy meglévő következtetési kulcs azonosító alapján történő megtekintéséhez vagy frissítéséhez: ```bash omniroute --output json keys policy show KEY_ID omniroute keys policy set KEY_ID --unrestricted omniroute --output json keys policy show KEY_ID ``` A `--unrestricted` a `--model-access-mode all` álneve. A frissítés törli a modellek engedélyezési listáját. Megőrzi a hatóköröket, a kapcsolati szabályokat, a letiltott modelleket, a sebességkorlátokat és a költségkorlátokat, így ezek a további vezérlők továbbra is elutasíthatnak egy kérést. A kifejezett `--allowed-models ""` szintén az `all` értéket választja; kombinálja a `--model-access-mode restricted` beállítással, hogy a kulcs korlátozott maradjon engedélyezett modellek nélkül. Egy nem üres, vesszővel elválasztott lista a `restricted` értéket választja, hacsak nincs más kifejezetten megadva. Az egymásnak ellentmondó `all` és nem üres engedélyezési lista kombinációját a rendszer a kérés elküldése előtt elutasítja. A `--rate-limit 30` percenkénti kérésszámot állít be, és megőrzi a többi időablakra vonatkozó szabályokat. A `--max-cost 5` engedélyezi a napi USD-korlátot a heti korlát módosítása nélkül; a `--max-cost 0` eltávolítja a napi korlátot, és megőrzi a meglévő használatikorlát-kapcsolót, valamint a heti korlátot. A kihagyott szabályzatmezők változatlanok maradnak. A sebességkorlát módosításakor a rendszer először beolvassa az aktuális szabályzatot; kerülje ugyanazon kulcs sebességkorlát-tömbjének párhuzamos szerkesztését. A szabályzatparancsok hitelesített `GET`/`PATCH /api/keys/{id}` kéréseket használnak, és figyelembe veszik az aktív környezetet, valamint a globális `--api-key` beállítást. A JSON-kimenet csak a szabályzatmezőket tartalmazza, a tárolt kulcs vagy annak maszkolt ábrázolása nélkül. Egy kizárólag következtetésre használható hitelesítő adat nem jogosít fel kezelési módosításokra. A 401/403 válasz esetén ellenőrizni kell a kezelési hitelesítő adatot és környezetet; ez nem bizonyít helyi CLI-token- vagy sóhibát. A különálló helyi hitelesítési szerződéssel kapcsolatban lásd: [CLI-token](../security/CLI_TOKEN.md).