# Remote Mode (ಕನ್ನಡ) 🌐 **Languages:** 🇺🇸 [English](../../../../guides/REMOTE-MODE.md) · 🇪🇹 [am](../../../am/docs/guides/REMOTE-MODE.md) · 🇸🇦 [ar](../../../ar/docs/guides/REMOTE-MODE.md) · 🇦🇿 [az](../../../az/docs/guides/REMOTE-MODE.md) · 🇧🇬 [bg](../../../bg/docs/guides/REMOTE-MODE.md) · 🇧🇩 [bn](../../../bn/docs/guides/REMOTE-MODE.md) · 🇧🇦 [bs](../../../bs/docs/guides/REMOTE-MODE.md) · 🇨🇿 [cs](../../../cs/docs/guides/REMOTE-MODE.md) · 🇩🇰 [da](../../../da/docs/guides/REMOTE-MODE.md) · 🇩🇪 [de](../../../de/docs/guides/REMOTE-MODE.md) · 🇬🇷 [el](../../../el/docs/guides/REMOTE-MODE.md) · 🇪🇸 [es](../../../es/docs/guides/REMOTE-MODE.md) · 🇪🇪 [et](../../../et/docs/guides/REMOTE-MODE.md) · 🇮🇷 [fa](../../../fa/docs/guides/REMOTE-MODE.md) · 🇫🇮 [fi](../../../fi/docs/guides/REMOTE-MODE.md) · 🇫🇷 [fr](../../../fr/docs/guides/REMOTE-MODE.md) · 🇮🇪 [ga](../../../ga/docs/guides/REMOTE-MODE.md) · 🇮🇳 [gu](../../../gu/docs/guides/REMOTE-MODE.md) · 🇳🇬 [ha](../../../ha/docs/guides/REMOTE-MODE.md) · 🇮🇱 [he](../../../he/docs/guides/REMOTE-MODE.md) · 🇮🇳 [hi](../../../hi/docs/guides/REMOTE-MODE.md) · 🇭🇷 [hr](../../../hr/docs/guides/REMOTE-MODE.md) · 🇭🇺 [hu](../../../hu/docs/guides/REMOTE-MODE.md) · 🇦🇲 [hy](../../../hy/docs/guides/REMOTE-MODE.md) · 🇮🇩 [id](../../../id/docs/guides/REMOTE-MODE.md) · 🇳🇬 [ig](../../../ig/docs/guides/REMOTE-MODE.md) · 🇮🇹 [it](../../../it/docs/guides/REMOTE-MODE.md) · 🇯🇵 [ja](../../../ja/docs/guides/REMOTE-MODE.md) · 🇬🇪 [ka](../../../ka/docs/guides/REMOTE-MODE.md) · 🇰🇭 [km](../../../km/docs/guides/REMOTE-MODE.md) · 🇰🇷 [ko](../../../ko/docs/guides/REMOTE-MODE.md) · 🇱🇹 [lt](../../../lt/docs/guides/REMOTE-MODE.md) · 🇱🇻 [lv](../../../lv/docs/guides/REMOTE-MODE.md) · 🇮🇳 [ml](../../../ml/docs/guides/REMOTE-MODE.md) · 🇮🇳 [mr](../../../mr/docs/guides/REMOTE-MODE.md) · 🇲🇾 [ms](../../../ms/docs/guides/REMOTE-MODE.md) · 🇲🇹 [mt](../../../mt/docs/guides/REMOTE-MODE.md) · 🇲🇲 [my](../../../my/docs/guides/REMOTE-MODE.md) · 🇳🇵 [ne](../../../ne/docs/guides/REMOTE-MODE.md) · 🇳🇱 [nl](../../../nl/docs/guides/REMOTE-MODE.md) · 🇳🇴 [no](../../../no/docs/guides/REMOTE-MODE.md) · 🇮🇳 [or](../../../or/docs/guides/REMOTE-MODE.md) · 🇮🇳 [pa](../../../pa/docs/guides/REMOTE-MODE.md) · 🇵🇭 [phi](../../../phi/docs/guides/REMOTE-MODE.md) · 🇵🇱 [pl](../../../pl/docs/guides/REMOTE-MODE.md) · 🇵🇹 [pt](../../../pt/docs/guides/REMOTE-MODE.md) · 🇧🇷 [pt-BR](../../../pt-BR/docs/guides/REMOTE-MODE.md) · 🇷🇴 [ro](../../../ro/docs/guides/REMOTE-MODE.md) · 🇷🇺 [ru](../../../ru/docs/guides/REMOTE-MODE.md) · 🇱🇰 [si](../../../si/docs/guides/REMOTE-MODE.md) · 🇸🇰 [sk](../../../sk/docs/guides/REMOTE-MODE.md) · 🇸🇮 [sl](../../../sl/docs/guides/REMOTE-MODE.md) · 🇷🇸 [sr](../../../sr/docs/guides/REMOTE-MODE.md) · 🇸🇪 [sv](../../../sv/docs/guides/REMOTE-MODE.md) · 🇰🇪 [sw](../../../sw/docs/guides/REMOTE-MODE.md) · 🇮🇳 [ta](../../../ta/docs/guides/REMOTE-MODE.md) · 🇮🇳 [te](../../../te/docs/guides/REMOTE-MODE.md) · 🇹🇭 [th](../../../th/docs/guides/REMOTE-MODE.md) · 🇹🇷 [tr](../../../tr/docs/guides/REMOTE-MODE.md) · 🇺🇦 [uk-UA](../../../uk-UA/docs/guides/REMOTE-MODE.md) · 🇵🇰 [ur](../../../ur/docs/guides/REMOTE-MODE.md) · 🇺🇿 [uz](../../../uz/docs/guides/REMOTE-MODE.md) · 🇻🇳 [vi](../../../vi/docs/guides/REMOTE-MODE.md) · 🇳🇬 [yo](../../../yo/docs/guides/REMOTE-MODE.md) · 🇨🇳 [zh-CN](../../../zh-CN/docs/guides/REMOTE-MODE.md) · 🇹🇼 [zh-TW](../../../zh-TW/docs/guides/REMOTE-MODE.md) --- OmniRoute ಸ್ವತಃ ಬೇರೆಡೆ (VPS, ಹೋಮ್ ಸರ್ವರ್, ನಿಮ್ಮ Tailnetನಲ್ಲಿರುವ ಮತ್ತೊಂದು ಯಂತ್ರ) ಚಾಲನೆಯಲ್ಲಿರುವಾಗ, ನಿಮ್ಮ ಲ್ಯಾಪ್ಟಾಪ್ನಲ್ಲಿ `omniroute` CLI ಅನ್ನು ಚಲಾಯಿಸಿ. ನೀವು `omniroute connect` ಮೂಲಕ ಒಮ್ಮೆ ಲಾಗಿನ್ ಆದ ನಂತರ, ಅಲ್ಲಿಂದ ಮುಂದಕ್ಕೆ **ಪ್ರತಿಯೊಂದು** CLI ಕಮಾಂಡ್ ಆ ರಿಮೋಟ್ ಸರ್ವರ್ ಅನ್ನು ಗುರಿಯಾಗಿಸುತ್ತದೆ — ಅದೇ ಕಮಾಂಡ್ಗಳು, ಅದೇ ಔಟ್ಪುಟ್, ಆದರೆ ರಿಮೋಟ್ನಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳ್ಳುತ್ತವೆ. ಇನ್ಸ್ಟಾಲ್ ಮಾಡಲು ಎರಡನೇ ಟೂಲ್ ಯಾವುದೂ ಇಲ್ಲ: ರಿಮೋಟ್ ಮೋಡ್ ಎಂದರೆ ಸಾಮಾನ್ಯ `omniroute` CLI ಜೊತೆಗೆ ನಿರ್ದಿಷ್ಟ ವ್ಯಾಪ್ತಿಯ **ಪ್ರವೇಶ ಟೋಕನ್ಗಳು**. ```bash npm install -g omniroute # ಸಾಮಾನ್ಯ CLI omniroute connect 192.168.0.15 # ಲಾಗಿನ್ ಮಾಡಿ (ಪಾಸ್ವರ್ಡ್ → ನಿರ್ದಿಷ್ಟ ವ್ಯಾಪ್ತಿಯ ಟೋಕನ್) omniroute models list # ← ಈಗ ರಿಮೋಟ್ ಸರ್ವರ್ನ ಮಾಡೆಲ್ಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುತ್ತದೆ omniroute configure codex # ← ರಿಮೋಟ್ ಕ್ಯಾಟಲಾಗ್ನಿಂದ ಸ್ಥಳೀಯ Codex ಪ್ರೊಫೈಲ್ ಅನ್ನು ಬರೆಯುತ್ತದೆ ``` --- ## ಇದು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ``` ನಿಮ್ಮ ಲ್ಯಾಪ್ಟಾಪ್ ರಿಮೋಟ್ OmniRoute (VPS) ┌────────────────────┐ ┌───────────────────────────────┐ │ omniroute CLI │ POST /api/cli/connect (ಪಾಸ್ವರ್ಡ್ → ಟೋಕನ್) │ │ ಸಂದರ್ಭ: vps │ ───────────────► │ ನಿರ್ದಿಷ್ಟ ವ್ಯಾಪ್ತಿಯ ಪ್ರವೇಶ │ │ baseUrl, token │ Authorization: Bearer oma_live_… │ │ │ ───────────────► │ ಟೋಕನ್ ನೀಡುತ್ತದೆ; ಪ್ರತಿ ನಿರ್ವಹಣಾ │ │ ಸಂರಚನೆಗಳನ್ನು │ ◄─────────────── │ ರೂಟ್ನಲ್ಲಿ ಟೋಕನ್ ವ್ಯಾಪ್ತಿ │ │ ಸ್ಥಳೀಯವಾಗಿ ಬರೆಯುತ್ತದೆ│ │ ಪರಿಶೀಲಿಸಲಾಗುತ್ತದೆ │ └────────────────────┘ └───────────────────────────────┘ ``` - **ಸಂದರ್ಭಗಳು** ಪ್ರತಿಯೊಂದೂ ಒಂದೊಂದು ಸರ್ವರ್ ಅನ್ನು ಸಂಗ್ರಹಿಸುತ್ತವೆ (`~/.omniroute/config.json`, `chmod 600`). `omniroute contexts use ` ಸಕ್ರಿಯ ಸರ್ವರ್ ಅನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ; `default` ಸ್ಥಳೀಯವಾಗಿರುತ್ತದೆ. - **ಪ್ರವೇಶ ಟೋಕನ್ಗಳು** (`oma_live_…`) ನಿರ್ವಹಣಾ ಕಮಾಂಡ್ಗಳಿಗೆ ಅನುಮತಿ ನೀಡುತ್ತವೆ. ಅವು ಇನ್ಫರೆನ್ಸ್ API ಕೀಗಳಿಂದ (`sk-…`, `/v1/chat/completions` ಗಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ) ಭಿನ್ನವಾಗಿವೆ. - ಟೋಕನ್ನ SHA-256 ಹ್ಯಾಶ್ ಮಾತ್ರ ಸರ್ವರ್ ಬದಿಯಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ. ಸರಳ ಪಠ್ಯವನ್ನು ರಚಿಸುವಾಗ **ಒಮ್ಮೆ ಮಾತ್ರ** ತೋರಿಸಲಾಗುತ್ತದೆ. --- ## ಸಂಪರ್ಕಿಸುವುದು ### ನಿರ್ವಹಣಾ ಪಾಸ್ವರ್ಡ್ನೊಂದಿಗೆ (ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್) ```bash omniroute connect 192.168.0.15 # http://192.168.0.15:20128 ಗಾಗಿ ನಿರ್ವಹಣಾ ಪಾಸ್ವರ್ಡ್: ******** # ✔ http://192.168.0.15:20128 ಗೆ ಸಂಪರ್ಕಿಸಲಾಗಿದೆ — ಸಂದರ್ಭ '192.168.0.15' (ವ್ಯಾಪ್ತಿ: admin) ``` ಪಾಸ್ವರ್ಡ್ ಪ್ರಕ್ರಿಯೆಯು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ **admin** ಟೋಕನ್ ಅನ್ನು ನೀಡುತ್ತದೆ (ಪಾಸ್ವರ್ಡ್ ನಿಮ್ಮಲ್ಲಿರುವುದರಿಂದ, ನೀವು ಈಗಾಗಲೇ ಸಂಪೂರ್ಣ ನಿಯಂತ್ರಣ ಹೊಂದಿದ್ದೀರಿ). `--scope` ಮೂಲಕ ವ್ಯಾಪ್ತಿಯನ್ನು ಕಡಿಮೆ ಮಾಡಿ: ```bash omniroute connect 192.168.0.15 --scope write ``` ಆಯ್ಕೆಗಳು: `--port

` (ಹೋಸ್ಟ್ನಲ್ಲಿ ಪೋರ್ಟ್ ಇಲ್ಲದಾಗ), `--name ` (ಸಂದರ್ಭದ ಹೆಸರು), `--scope read|write|admin`. ಪೂರ್ಣ URL ಅನ್ನು ಇದ್ದಂತೆಯೇ ಗೌರವಿಸಲಾಗುತ್ತದೆ: `omniroute connect https://omni.example.com`. ### ಮೊದಲೇ ರಚಿಸಲಾದ ಟೋಕನ್ನೊಂದಿಗೆ ಡ್ಯಾಶ್ಬೋರ್ಡ್ನಲ್ಲಿ (ಅಥವಾ `omniroute tokens create` ಮೂಲಕ) ನಿರ್ದಿಷ್ಟ ವ್ಯಾಪ್ತಿಯ ಟೋಕನ್ ಅನ್ನು ರಚಿಸಿ ಮತ್ತು ಅದನ್ನು ಅಂಟಿಸಿ — ಪಾಸ್ವರ್ಡ್ ಅಗತ್ಯವಿಲ್ಲ: ```bash omniroute connect 192.168.0.15 --key oma_live_xxxxxxxx ``` CLI ಅದನ್ನು `GET /api/cli/whoami` ಮೂಲಕ ಮೌಲ್ಯೀಕರಿಸಿ, ಸಕ್ರಿಯ ಸಂದರ್ಭವಾಗಿ ಉಳಿಸುತ್ತದೆ. --- ## ವ್ಯಾಪ್ತಿಗಳು ಮೂರು ಹಂತಗಳು, ಶ್ರೇಣೀಕೃತವಾಗಿವೆ (`admin ⊃ write ⊃ read`): | ವ್ಯಾಪ್ತಿ | ಮಾಡಬಹುದಾದ ಕಾರ್ಯಗಳು | | -------- | ------------------------------------------------------------------------------------- | | `read` | ಪಟ್ಟಿ/ಪರಿಶೀಲನೆ — `models list`, `providers status`, `logs`, `usage`, `cost` | | `write` | read **+** ಸಂರಚನೆ/ಅನ್ವಯ — `setup-codex`, `keys add`, `config set`, ಸಂಯೋಜನೆಗಳು | | `admin` | write **+** ನಿರ್ವಹಣೆ — `tokens` CRUD, ಪೂರೈಕೆದಾರರನ್ನು ಸೇರಿಸುವುದು, ಸೇವೆಗಳು, ನೀತಿ, oauth | HTTP ವಿಧಾನ (`GET`→read, ಬದಲಾವಣೆಗಳು→write) ಹಾಗೂ ಸೂಕ್ಷ್ಮ ಮೇಲ್ಮೈಗಳಿಗಾಗಿ ಇರುವ admin ಅನುಮತಿಪಟ್ಟಿಯ (`/api/cli/tokens`, `/api/providers` ಬದಲಾವಣೆಗಳು, `/api/oauth`, `/api/services`, …) ಆಧಾರದ ಮೇಲೆ ಪ್ರತಿ ರೂಟ್ಗೆ ಅಗತ್ಯವಿರುವ ವ್ಯಾಪ್ತಿಯನ್ನು ಸರ್ವರ್ ಊಹಿಸುತ್ತದೆ. ಸಾಕಷ್ಟು ವ್ಯಾಪ್ತಿಯಿಲ್ಲದ ಟೋಕನ್ಗೆ ಸ್ಪಷ್ಟ ಸಂದೇಶದೊಂದಿಗೆ `403` ದೊರೆಯುತ್ತದೆ. > ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಪ್ರಾರಂಭಿಸುವ ರೂಟ್ಗಳು (`/api/services/*`, `/api/mcp/*`, …) > **ಲೂಪ್ಬ್ಯಾಕ್ಗೆ ಮಾತ್ರ** ಸೀಮಿತವಾಗಿರುತ್ತವೆ — ವ್ಯಾಪ್ತಿ ಏನೇ ಇದ್ದರೂ ರಿಮೋಟ್ ಟೋಕನ್ ಅವುಗಳನ್ನು ಎಂದಿಗೂ ತಲುಪಲು ಸಾಧ್ಯವಿಲ್ಲ. --- ## ದೂರಸ್ಥ ಇನ್ಸ್ಟಾಲ್ನಲ್ಲಿ Antigravity ಅನ್ನು ಸಂಪರ್ಕಿಸುವುದು Antigravity, Google ನ firstparty/nativeapp ಸಮ್ಮತಿ ಪರದೆಯನ್ನು ಬಳಸುತ್ತದೆ. **ಲೂಪ್ಬ್ಯಾಕ್ ಮರುನಿರ್ದೇಶನ** (`http://127.0.0.1:/callback`) **ಸೈನ್-ಇನ್ ಅನ್ನು ಅನುಮೋದಿಸುವ ಬ್ರೌಸರ್ನಿಂದ ತಲುಪಬಹುದಾದಾಗ** ಮಾತ್ರ Google ದೃಢೀಕರಣ ಕೋಡ್ ಅನ್ನು ನೀಡುತ್ತದೆ. ದೂರಸ್ಥ VPS ಇನ್ಸ್ಟಾಲ್ನಲ್ಲಿ ಆ ಲೂಪ್ಬ್ಯಾಕ್ ನಿಮ್ಮ ಯಂತ್ರದಲ್ಲಿರದೆ ಸರ್ವರ್ನಲ್ಲಿರುತ್ತದೆ; ಆದ್ದರಿಂದ ಸಮ್ಮತಿ ಪರದೆ **ಶಾಶ್ವತವಾಗಿ ಸ್ಥಗಿತಗೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಎಂದಿಗೂ ಕೋಡ್ ಅನ್ನು ನೀಡುವುದಿಲ್ಲ** — ಸಾಮಾನ್ಯವಾದ "ಕಾಲ್ಬ್ಯಾಕ್ URL ಅನ್ನು ಅಂಟಿಸಿ" ಎಂಬ ಪರ್ಯಾಯ ವಿಧಾನದಲ್ಲಿ ಅಂಟಿಸಲು ಏನೂ ಇರುವುದಿಲ್ಲ. (ಇದು Google ಕಡೆಯ ನಿರ್ಬಂಧವಾಗಿದೆ: ಬಂಡಲ್ ಮಾಡಲಾದ Antigravity ಡೆಸ್ಕ್ಟಾಪ್ ಕ್ಲೈಂಟ್ ಅನ್ನು ಬಳಸುವ ಯಾವುದೇ ಪ್ರಾಕ್ಸಿಯಲ್ಲೂ ಇದೇ ಸ್ಥಗಿತ ಉಂಟಾಗುತ್ತದೆ, OmniRoute ನಲ್ಲಿ ಮಾತ್ರವಲ್ಲ.) ನೀವು ಸಿಲುಕಿಕೊಳ್ಳುವ ಮೊದಲೇ ಡ್ಯಾಶ್ಬೋರ್ಡ್ ಇದನ್ನು ಪತ್ತೆಹಚ್ಚುತ್ತದೆ: localhost ಅಲ್ಲದ ವಿಳಾಸದಿಂದ **Providers → Antigravity → Connect** ಅನ್ನು ತೆರೆದಾಗ, ಸಾಮಾನ್ಯವಾದ "ಕಾಲ್ಬ್ಯಾಕ್ URL ಅನ್ನು ನಕಲಿಸಿ" ಸೂಚನೆಯ ಬದಲು ಕೆಳಗಿನ ಎರಡು ಪರಿಹಾರಗಳನ್ನು ತೋರಿಸುತ್ತದೆ; ಪ್ರತಿಯೊಂದರಲ್ಲೂ ನಿಮ್ಮ ಹೋಸ್ಟ್ ಮತ್ತು ಪೋರ್ಟ್ ಈಗಾಗಲೇ ತುಂಬಿರುತ್ತವೆ. (LAN ವಿಳಾಸವೂ ಇದಕ್ಕೆ ಒಳಪಡುತ್ತದೆ — ಈ ಕಾಲ್ಬ್ಯಾಕ್ಗೆ ಸಂಬಂಧಿಸಿದಂತೆ `192.168.x.x` localhost ಅಲ್ಲ.) Antigravity ಅನ್ನು ದೂರಸ್ಥ OmniRoute ಗೆ ಸಂಪರ್ಕಿಸಲು ಬೆಂಬಲಿತ ಎರಡು ವಿಧಾನಗಳಿವೆ. ### ಆಯ್ಕೆ A — ಸ್ಥಳೀಯ ಲಾಗಿನ್ ಸಹಾಯಕ (ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ) `127.0.0.1` ತಲುಪಬಹುದಾದ **ನಿಮ್ಮ ಸ್ವಂತ ಕಂಪ್ಯೂಟರ್ನಲ್ಲಿ** OAuth ಅನ್ನು ಚಲಾಯಿಸಿ. ಸಹಾಯಕವು Google ಜೊತೆಗೆ ನೇರವಾಗಿ ಸಂವಹನ ನಡೆಸುತ್ತದೆ; ಆದ್ದರಿಂದ ಡ್ಯಾಶ್ಬೋರ್ಡ್ನ ಆವೃತ್ತಿಯಿಂದ ಪೂರ್ಣಗೊಳಿಸಲಾಗದ ಸಮ್ಮತಿ ಪ್ರಕ್ರಿಯೆಯು ಅಲ್ಲಿ ಪೂರ್ಣಗೊಳ್ಳುತ್ತದೆ. **ನೀವು ಈಗಾಗಲೇ ಸಂಪರ್ಕಗೊಂಡಿದ್ದರೆ** (`omniroute connect `), ನಕಲಿಸಲು ಏನೂ ಇರುವುದಿಲ್ಲ — ಸಹಾಯಕವೇ ಆ ಇನ್ಸ್ಟಾಲ್ಗೆ ಕ್ರೆಡೆನ್ಶಿಯಲ್ ಅನ್ನು ತಲುಪಿಸುತ್ತದೆ: ```bash # ನಿಮ್ಮ ಸ್ಥಳೀಯ ಯಂತ್ರದಲ್ಲಿ (Node.js + ಬ್ರೌಸರ್ ಅಗತ್ಯ): omniroute connect 192.168.0.15 # ಒಮ್ಮೆ — ನಿರ್ವಾಹಕ-ವ್ಯಾಪ್ತಿಯ ಕಾಂಟೆಕ್ಸ್ಟ್ ಟೋಕನ್ ಅನ್ನು ರಚಿಸುತ್ತದೆ npx omniroute login antigravity # ↳ Google ಸಮ್ಮತಿಯನ್ನು ತೆರೆಯುತ್ತದೆ, ಸ್ಥಳೀಯ ಲೂಪ್ಬ್ಯಾಕ್ ಪೋರ್ಟ್ನಲ್ಲಿ ಕಾಲ್ಬ್ಯಾಕ್ ಅನ್ನು ಸೆರೆಹಿಡಿಯುತ್ತದೆ, # ಅದನ್ನು ವಿನಿಮಯ ಮಾಡುತ್ತದೆ ಮತ್ತು ಕ್ರೆಡೆನ್ಶಿಯಲ್ ಅನ್ನು ಸಕ್ರಿಯ ಕಾಂಟೆಕ್ಸ್ಟ್ಗೆ POST ಮಾಡುತ್ತದೆ: # # Antigravity connected on http://192.168.0.15:20128 (connection abc123). # ಅಂಟಿಸಲು ಏನೂ ಇಲ್ಲ — ನೀವು ಈ ಟರ್ಮಿನಲ್ ಅನ್ನು ಮುಚ್ಚಬಹುದು. ``` ಸಕ್ರಿಯ ಕಾಂಟೆಕ್ಸ್ಟ್ ಮತ್ತೊಂದು ಯಂತ್ರವನ್ನು ಸೂಚಿಸಿದಾಗಲೆಲ್ಲ ಪುಶ್ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ನಡೆಯುತ್ತದೆ. ಯಾವುದೇ ದಿಕ್ಕಿನಲ್ಲಿ ಅದನ್ನು ಬಲವಂತಗೊಳಿಸಲು `--push` / `--no-push` ಬಳಸಿ, ಅಥವಾ ನಿರ್ದಿಷ್ಟ ಕಾಂಟೆಕ್ಸ್ಟ್ ಅನ್ನು ಗುರಿಯಾಗಿಸಲು `--context ` ಬಳಸಿ. **ನಿಮ್ಮ ಯಂತ್ರದಿಂದ VPS ಅನ್ನು ತಲುಪಲು ಸಾಧ್ಯವಾಗದಿದ್ದರೂ** (ಫೈರ್ವಾಲ್ ಮಾಡಲಾಗಿದೆ, SSH ಇಲ್ಲ, ಏರ್-ಗ್ಯಾಪ್ ಮಾಡಿದ ಡೆಸ್ಕ್), ಸಹಾಯಕ ಇನ್ನೂ ಕೆಲಸ ಮಾಡುತ್ತದೆ — ಅದಕ್ಕೆ ಎಂದಾದರೂ _ಅಗತ್ಯವಿರುವುದು_ Google ಮಾತ್ರ. `--no-push` ಬಳಸಿ, ಅಥವಾ ಪುಶ್ ವಿಫಲಗೊಳ್ಳಲು ಬಿಡಿ: ನೀವು ಈಗಾಗಲೇ ಪೂರ್ಣಗೊಳಿಸಿದ ದೃಢೀಕರಣವನ್ನು ತ್ಯಜಿಸುವ ಬದಲು, ಅದು ಬ್ಲಾಬ್ ಅನ್ನು ಮುದ್ರಿಸುವುದಕ್ಕೆ ಹಿಂತಿರುಗುತ್ತದೆ. ```bash npx omniroute login antigravity --no-push # omniroute-cred-v1.eyJ2IjoxLCJ... ``` ನಂತರ, **ದೂರಸ್ಥ** ಡ್ಯಾಶ್ಬೋರ್ಡ್ನಲ್ಲಿ: **Providers → Antigravity → Connect** ಗೆ ಹೋಗಿ, `omniroute-cred-v1.…` ಬ್ಲಾಬ್ ಅನ್ನು **Step 2** ಕ್ಷೇತ್ರಕ್ಕೆ ಅಂಟಿಸಿ (ಇದು ಕಾಲ್ಬ್ಯಾಕ್ URL ಅಥವಾ ಕ್ರೆಡೆನ್ಶಿಯಲ್ ಬ್ಲಾಬ್ ಎರಡರಲ್ಲಿ ಯಾವುದನ್ನಾದರೂ ಸ್ವೀಕರಿಸುತ್ತದೆ). OmniRoute ಅದನ್ನು ಡಿಕೋಡ್ ಮಾಡುತ್ತದೆ, ಸರ್ವರ್ ಕಡೆಯಿಂದ Cloud Code ಆನ್ಬೋರ್ಡಿಂಗ್ ಅನ್ನು ಚಲಾಯಿಸುತ್ತದೆ ಮತ್ತು ಸಂಪರ್ಕವನ್ನು ಶಾಶ್ವತವಾಗಿ ಉಳಿಸುತ್ತದೆ. > ಬ್ಲಾಬ್ನಲ್ಲಿ ರಿಫ್ರೆಶ್ ಟೋಕನ್ ಇರುತ್ತದೆ — ಅದನ್ನು ಪಾಸ್ವರ್ಡ್ನಂತೆ ಪರಿಗಣಿಸಿ. ಪುಶ್ > ವಿಧಾನದಲ್ಲಿ ಅದನ್ನು ನಿಮ್ಮ ಕಾಂಟೆಕ್ಸ್ಟ್ನ ದೃಢೀಕೃತ ಸಂಪರ್ಕದ ಮೂಲಕ ಒಮ್ಮೆ ಕಳುಹಿಸಲಾಗುತ್ತದೆ; > ಅಂಟಿಸುವ ವಿಧಾನದಲ್ಲಿ ನಿಮ್ಮ ಡ್ಯಾಶ್ಬೋರ್ಡ್ ಸಂಪರ್ಕದ ಮೂಲಕ ಕಳುಹಿಸಲಾಗುತ್ತದೆ. ಎರಡೂ > ಸಂದರ್ಭಗಳಲ್ಲಿ ಅದನ್ನು ಸಂಗ್ರಹಣೆಯಲ್ಲಿ ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಿ ಉಳಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಯಶಸ್ವಿಯಾದ > ಪುಶ್ ಅದನ್ನು ನಿಮ್ಮ ಟರ್ಮಿನಲ್ನಲ್ಲಿ ಎಂದಿಗೂ ಮುದ್ರಿಸುವುದಿಲ್ಲ. ಫ್ಲ್ಯಾಗ್ಗಳು: `--no-browser` (ಸ್ವಯಂಚಾಲಿತವಾಗಿ ತೆರೆಯುವ ಬದಲು URL ಅನ್ನು ಮುದ್ರಿಸಿ), `--port ` (ಲೂಪ್ಬ್ಯಾಕ್ ಪೋರ್ಟ್ ಅನ್ನು ನಿಗದಿಪಡಿಸಿ), `--timeout `, `--push` / `--no-push` (ಸ್ವಯಂಚಾಲಿತ ವಿತರಣೆಯನ್ನು ಅತಿಕ್ರಮಿಸಿ), `--context ` (ನಿರ್ದಿಷ್ಟ ಕಾಂಟೆಕ್ಸ್ಟ್ ಅನ್ನು ಗುರಿಯಾಗಿಸಿ). ### ಆಯ್ಕೆ B — SSH ಸ್ಥಳೀಯ-ಫಾರ್ವರ್ಡ್ ಟನಲ್ ನೀವು VPS ಗೆ SSH ಪ್ರವೇಶವನ್ನು ಹೊಂದಿದ್ದರೆ, ಡ್ಯಾಶ್ಬೋರ್ಡ್ ಪೋರ್ಟ್ ಅನ್ನು ಫಾರ್ವರ್ಡ್ ಮಾಡಿ; ಹೀಗೆ ಲೂಪ್ಬ್ಯಾಕ್ ಕಾಲ್ಬ್ಯಾಕ್ ಟನಲ್ ಮೂಲಕ ಮತ್ತೆ ಸರ್ವರ್ಗೆ ತಲುಪುತ್ತದೆ: ```bash # ನಿಮ್ಮ ಸ್ಥಳೀಯ ಯಂತ್ರದಲ್ಲಿ: ssh -L 20128:127.0.0.1:20128 user@your-vps # ನಂತರ ನಿಮ್ಮ ಸ್ಥಳೀಯ ಬ್ರೌಸರ್ನಲ್ಲಿ http://localhost:20128 ತೆರೆಯಿರಿ ಮತ್ತು Antigravity ಅನ್ನು # ಸಾಮಾನ್ಯವಾಗಿ ಸಂಪರ್ಕಿಸಿ — 127.0.0.1:20128/callback ಮರುನಿರ್ದೇಶನವು ಈಗ SSH ಮೂಲಕ VPS ಅನ್ನು ತಲುಪುತ್ತದೆ. ``` ನೀವು ಡ್ಯಾಶ್ಬೋರ್ಡ್ ಅನ್ನು `localhost:20128` ಮೂಲಕ ತಲುಪುವುದರಿಂದ, Google ಸಮ್ಮತಿ ಪೂರ್ಣಗೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಅದೇ ಟನಲ್ ಮೂಲಕ ಕಾಲ್ಬ್ಯಾಕ್ ಸರ್ವರ್ಗೆ ತಲುಪುತ್ತದೆ — ಯಾವುದೇ ಬ್ಲಾಬ್ ಅಗತ್ಯವಿಲ್ಲ. ಸಂಪರ್ಕವು ಸಕ್ರಿಯವಾಗಿದೆ ಎಂದು ತೋರಿಸುವವರೆಗೆ ಟನಲ್ ಅನ್ನು ತೆರೆದಿಡಿ. ಕೆಳಗಿನ ಸ್ಥಿರ-ಲೂಪ್ಬ್ಯಾಕ್ ಪೂರೈಕೆದಾರರಿಗಿಂತ ಭಿನ್ನವಾಗಿ, ಇಲ್ಲಿ **ಒಂದು ಫಾರ್ವರ್ಡ್ ಸಾಕು**: Antigravity ಕಾಲ್ಬ್ಯಾಕ್ ಡ್ಯಾಶ್ಬೋರ್ಡ್ ಪೋರ್ಟ್ನಲ್ಲಿಯೇ ಸಾಗುತ್ತದೆ; ಆದ್ದರಿಂದ ಟನಲ್ ಮಾಡಲು ಎರಡನೇ ಪೂರೈಕೆದಾರ-ನಿರ್ದಿಷ್ಟ ಪೋರ್ಟ್ ಅಗತ್ಯವಿಲ್ಲ. > ಸಂಪೂರ್ಣ ಹೆಡ್ಲೆಸ್ ಪರ್ಯಾಯವಾಗಿ (ಸಹಾಯಕ ಇಲ್ಲ, ಟನಲ್ ಇಲ್ಲ), ನಿಮ್ಮ **ಸ್ವಂತ** Google OAuth > ವೆಬ್ ಕ್ರೆಡೆನ್ಶಿಯಲ್ಗಳು + ಸಾರ್ವಜನಿಕ ಮೂಲ URL ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಬಹುದು; ಪೂರೈಕೆದಾರರ > OAuth ಪರಿಸರ ವೇರಿಯಬಲ್ಗಳನ್ನು ನೋಡಿ. ಮೇಲಿನ ಎರಡು ಆಯ್ಕೆಗಳಿಗೆ ಯಾವುದೇ ಹೆಚ್ಚುವರಿ Google > ಸೆಟಪ್ ಅಗತ್ಯವಿಲ್ಲ. --- ## ರಿಮೋಟ್ ಸ್ಥಾಪನೆಯಲ್ಲಿ Codex / Grok ಸಂಪರ್ಕಿಸುವುದು (ಸ್ಥಿರ-ಲೂಪ್ಬ್ಯಾಕ್ ಪೂರೈಕೆದಾರರು) Codex, xAI (`xai-oauth`) ಮತ್ತು Grok CLI (`grok-cli`) ತಮ್ಮ ಅಪ್ಸ್ಟ್ರೀಮ್ OAuth ಅಪ್ಲಿಕೇಶನ್ನೊಂದಿಗೆ **ಸ್ಥಿರ** ಲೂಪ್ಬ್ಯಾಕ್ `redirect_uri` ಅನ್ನು ನೋಂದಾಯಿಸುತ್ತವೆ. OmniRoute ಅದನ್ನು ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ — ಪೂರೈಕೆದಾರರು ಯಾವಾಗಲೂ ಬ್ರೌಸರ್ ಅನ್ನು ಅದೇ ಹಾರ್ಡ್ಕೋಡ್ ಮಾಡಿದ ವಿಳಾಸಕ್ಕೆ ಮರಳಿ ಕಳುಹಿಸುತ್ತಾರೆ: | ಪೂರೈಕೆದಾರ | ಪೂರೈಕೆದಾರರು ಮರುನಿರ್ದೇಶಿಸುವ ಸ್ಥಿರ ಕಾಲ್ಬ್ಯಾಕ್ | | ----------- | ------------------------------------------- | | `codex` | `http://localhost:1455/auth/callback` | | `xai-oauth` | `http://127.0.0.1:56121/callback` | | `grok-cli` | `http://127.0.0.1:56122/callback` | ಅಲ್ಲಿರುವ `localhost` ಎಂದರೆ **ಬ್ರೌಸರ್ ಚಾಲನೆಯಲ್ಲಿರುವ ಯಂತ್ರ**, ಆದರೆ OmniRoute ನ PKCE ಕಾಲ್ಬ್ಯಾಕ್ ಸರ್ವರ್ **ಸರ್ವರ್ನ** ಲೂಪ್ಬ್ಯಾಕ್ನಲ್ಲಿ ಆಲಿಸುತ್ತದೆ. `http://192.168.0.15:20128` ನಂತಹ LAN ವಿಳಾಸದಲ್ಲಿ ಡ್ಯಾಶ್ಬೋರ್ಡ್ ತೆರೆಯಿರಿ ಮತ್ತು ಇವೆರಡೂ ಎಂದಿಗೂ ಸಂಪರ್ಕಗೊಳ್ಳುವುದಿಲ್ಲ: ದೃಢೀಕರಣ ಕೋಡ್ ನಿಮ್ಮ ಸ್ವಂತ ಲ್ಯಾಪ್ಟಾಪ್ನ `localhost:1455` ಗೆ ತಲುಪುತ್ತದೆ, ಅಲ್ಲಿ ಯಾವುದೂ ಆಲಿಸುತ್ತಿಲ್ಲ, ಮತ್ತು ಪೂರೈಕೆದಾರರು ದೋಷವನ್ನು ತೋರಿಸದೆ ಸೈನ್-ಇನ್ ಅನ್ನು ವಿಫಲಗೊಳಿಸುತ್ತಾರೆ. ಪಾಪ್ಅಪ್ ತೆರೆಯುವ ಮೊದಲು ಡ್ಯಾಶ್ಬೋರ್ಡ್ ಇದನ್ನು ಪತ್ತೆಹಚ್ಚುತ್ತದೆ ಮತ್ತು ಲಾಗಿನ್ ಮೌನವಾಗಿ ವಿಫಲಗೊಳ್ಳಲು ಬಿಡುವ ಬದಲು ಟನಲ್ ಆಜ್ಞೆಯನ್ನು ತೋರಿಸುತ್ತದೆ (#8046). ### ಪರಿಹಾರ — **ಎರಡೂ** ಪೋರ್ಟ್ಗಳನ್ನು ಫಾರ್ವರ್ಡ್ ಮಾಡಿ ```bash # BROWSER ಚಾಲನೆಯಲ್ಲಿರುವ ಯಂತ್ರದಲ್ಲಿ: ssh -L 20128:127.0.0.1:20128 -L 1455:127.0.0.1:1455 @192.168.0.15 # ನಂತರ http://localhost:20128 ಗೆ ಹೋಗಿ ಮತ್ತು ಅಲ್ಲಿಂದ Codex ಅನ್ನು ಸಂಪರ್ಕಿಸಿ ``` ಎರಡು ಫಾರ್ವರ್ಡ್ಗಳು ಅಗತ್ಯವಿವೆ ಮತ್ತು ಒಂದನ್ನು ಮಾತ್ರ ಫಾರ್ವರ್ಡ್ ಮಾಡಿದರೂ ಇನ್ನೂ ವಿಫಲಗೊಳ್ಳುತ್ತದೆ: - **`20128`** (ಡ್ಯಾಶ್ಬೋರ್ಡ್ ಪೋರ್ಟ್) ಮೂಲವನ್ನು ನೈಜ-localhost ಆಗಿಸುತ್ತದೆ, ಇದೇ OmniRoute ಅನ್ನು PKCE ಕಾಲ್ಬ್ಯಾಕ್ ಸರ್ವರ್ ಪ್ರಾರಂಭಿಸುವಂತೆ ಮಾಡುತ್ತದೆ — LAN ಮೂಲವು ಎಂದಿಗೂ ಆ ಶಾಖೆಯನ್ನು ತಲುಪುವುದಿಲ್ಲ. - **`1455`** (ಪೂರೈಕೆದಾರರ ಸ್ಥಿರ ಕಾಲ್ಬ್ಯಾಕ್ ಪೋರ್ಟ್) ಬ್ರೌಸರ್ ಅನ್ನು ಮರಳಿ ಕಳುಹಿಸುವ ಸ್ಥಳವಾಗಿದೆ; ಅದು ಟನಲ್ ಮೂಲಕ ಸರ್ವರ್ನ ಲೂಪ್ಬ್ಯಾಕ್ಗೆ ತಲುಪಬೇಕು. xAI ಅಥವಾ Grok CLI ಅನ್ನು ಸಂಪರ್ಕಿಸುವಾಗ `1455` ಬದಲಿಗೆ `56121`/`56122` ಮತ್ತು `20128` ಬದಲಿಗೆ ನಿಮ್ಮ ನೈಜ ಡ್ಯಾಶ್ಬೋರ್ಡ್ ಪೋರ್ಟ್ ಬಳಸಿ. ಸಂಪರ್ಕವು ಸಕ್ರಿಯವಾಗಿದೆ ಎಂದು ತೋರಿಸುವವರೆಗೆ ಟನಲ್ ಅನ್ನು ತೆರೆದಿಡಿ. > **SSH ಪ್ರವೇಶವಿಲ್ಲವೇ?** Codex ಮತ್ತು Grok CLI ಅಂಟಿಸಲಾದ ಟೋಕನ್ ಅನ್ನು ಸಹ ಸ್ವೀಕರಿಸುತ್ತವೆ — ಸಂಪರ್ಕ ಸಂವಾದದಲ್ಲಿನ **Paste API > Key** / **Import auth.json** ಟ್ಯಾಬ್. ಆ ಮಾರ್ಗದಲ್ಲಿ ಲೂಪ್ಬ್ಯಾಕ್ > ಕಾಲ್ಬ್ಯಾಕ್ ಇಲ್ಲ, ಆದ್ದರಿಂದ ಅದು ಯಾವುದೇ ಮೂಲದಿಂದ ಕೆಲಸ ಮಾಡುತ್ತದೆ. Codex ಹೆಚ್ಚುವರಿಯಾಗಿ ನೇರ ಪ್ರವೇಶ > ಟೋಕನ್ ಅಥವಾ `~/.codex/auth.json` ಸೆಷನ್ ಬ್ಲಾಬ್ ಅನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ. --- ## ಟೋಕನ್ಗಳನ್ನು ನಿರ್ವಹಿಸುವುದು ```bash omniroute tokens create --name "laptop" --scope write [--expires 30] # ↳ ರಹಸ್ಯವನ್ನು ಒಮ್ಮೆ ಮಾತ್ರ ಮುದ್ರಿಸುತ್ತದೆ — ಈಗಲೇ ಅದನ್ನು ನಕಲಿಸಿ omniroute tokens list # ಮರೆಮಾಡಲಾಗಿದೆ: id, ಹೆಸರು, ವ್ಯಾಪ್ತಿ, ಪೂರ್ವಪ್ರತ್ಯಯ, ಸ್ಥಿತಿ, ಅವಧಿ ಮುಕ್ತಾಯ omniroute tokens revoke # ತಕ್ಷಣವೇ ಹಿಂತೆಗೆದುಕೊಳ್ಳಿ omniroute tokens scopes # ಮೂರು ವ್ಯಾಪ್ತಿಗಳನ್ನು ವಿವರಿಸಿ ``` `tokens` ಆಜ್ಞೆಗಳಿಗೆ **admin** ರುಜುವಾತು ಅಗತ್ಯವಿದೆ. ನೀವು ಡ್ಯಾಶ್ಬೋರ್ಡ್ನ **Settings → Access Tokens** ಅಡಿಯಲ್ಲಿಯೂ ಟೋಕನ್ಗಳನ್ನು ನಿರ್ವಹಿಸಬಹುದು (ರಚಿಸಿ, ಹಿಂತೆಗೆದುಕೊಳ್ಳಿ, ಒಮ್ಮೆ-ಮಾತ್ರ ನಕಲಿಸಿ). --- ## ರಿಮೋಟ್ ಕ್ಯಾಟಲಾಗ್ನಿಂದ ಕೋಡಿಂಗ್ CLI ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುವುದು `omniroute configure` **ಸಕ್ರಿಯ ಸರ್ವರ್ನ** ಲೈವ್ ಮಾಡೆಲ್ ಕ್ಯಾಟಲಾಗ್ ಅನ್ನು ಓದುತ್ತದೆ ಮತ್ತು **ನಿಮ್ಮ** ಯಂತ್ರದಲ್ಲಿ ಕಾನ್ಫಿಗ್ ಅನ್ನು ಬರೆಯುತ್ತದೆ. ```bash omniroute configure codex # ಪೂರೈಕೆದಾರರು: glm, kmc, ollamacloud, opencode-go, … # ಪೂರೈಕೆದಾರ: glm # ಮಾಡೆಲ್ id: glm/glm-5.2 # ✔ ~/.codex/glm52.config.toml ಅನ್ನು ಬರೆಯಲಾಗಿದೆ # ಇದನ್ನು ಬಳಸಿ: codex --profile glm52 # ಸಂವಾದಾತ್ಮಕವಲ್ಲದ omniroute configure codex --provider glm --model glm/glm-5.2 --name glm52 # ಪದೇಪದೇ ಬಳಸುವ ಮಾಡೆಲ್ ಅನ್ನು ಸಂವಾದಾತ್ಮಕ ಆಯ್ಕೆಪಟ್ಟಿಯ ಮೇಲ್ಭಾಗದಲ್ಲಿ ಇರಿಸಿ omniroute configure codex --provider glm --model glm/glm-5.2 --favorite --yes ``` ಆಯ್ಕೆಪಟ್ಟಿಯು ಸ್ಥಳೀಯ `model-preferences.json` ಫೈಲ್ನಲ್ಲಿ, ಸಂದರ್ಭ ಮತ್ತು CLI ಗುರಿಗೆ ಸೀಮಿತವಾಗಿ, ಮಾಡೆಲ್ ID ಗಳನ್ನು ಮಾತ್ರ ಇರಿಸುತ್ತದೆ (URL ಗಳು ಅಥವಾ ರುಜುವಾತುಗಳನ್ನು ಎಂದಿಗೂ ಅಲ್ಲ). ಇತ್ತೀಚಿನ ಆಯ್ಕೆಗಳಿಗಿಂತ ಮೊದಲು ಮೆಚ್ಚಿನವುಗಳನ್ನು ತೋರಿಸಲಾಗುತ್ತದೆ; ಆ ಸಂದರ್ಭ/ಗುರಿ ಪಟ್ಟಿಯಿಂದ ಆಯ್ಕೆಮಾಡಿದ ಮಾಡೆಲ್ ಅನ್ನು ತೆಗೆದುಹಾಕಲು `--unfavorite` ಬಳಸಿ. ಬರೆಯಲಾದ ಪ್ರೊಫೈಲ್ env var ಮೂಲಕ ಇನ್ಫರೆನ್ಸ್ ಕೀಲಿಯನ್ನು ಉಲ್ಲೇಖಿಸುತ್ತದೆ (`OMNIROUTE_API_KEY`) — ರಹಸ್ಯವನ್ನು ಎಂದಿಗೂ ಡಿಸ್ಕ್ಗೆ ಬರೆಯಲಾಗುವುದಿಲ್ಲ. ಒಂದು-ಬಾರಿಯ ಮೂಲ Codex ಸೆಟಪ್ಗಾಗಿ (`[model_providers.omniroute]` ಬ್ಲಾಕ್), ನೋಡಿ [CODEX-CLI-CONFIGURATION.md](./CODEX-CLI-CONFIGURATION.md). ### ರಿಮೋಟ್ಗೆ ವಿರುದ್ಧವಾಗಿ CLI ಅನ್ನು ಪ್ರಾರಂಭಿಸುವುದು (ಯಾವುದೇ ಕಾನ್ಫಿಗ್ ಬರೆಯಲಾಗುವುದಿಲ್ಲ) `omniroute run ` ಸಕ್ರಿಯ ಸಂದರ್ಭವನ್ನೂ ಗೌರವಿಸುತ್ತದೆ: ರಿಮೋಟ್ ಮೂಲ URL ಮತ್ತು ಸಂದರ್ಭದ ರುಜುವಾತನ್ನು ಪ್ರಾರಂಭಿಸಲಾದ ಪ್ರಕ್ರಿಯೆಗೆ ಮಾತ್ರ ಸೇರಿಸಲಾಗುತ್ತದೆ. ```bash omniroute connect 192.168.0.15 omniroute run claude --model openai/gpt-5.4 # Claude Code → ರಿಮೋಟ್ omniroute run gemini --model glm/glm-5.2 -- --skip-trust -p "hello" omniroute run opencode --model glm/glm-5.2 -- run "reply OK" # ನಿಖರವಾಗಿ ಏನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಪೂರ್ವವೀಕ್ಷಿಸಿ (env KEY ಹೆಸರುಗಳು ಮಾತ್ರ, ಮೌಲ್ಯಗಳು ಎಂದಿಗೂ ಅಲ್ಲ): omniroute run codex --dry-run --json ``` ಗುರಿಗಳು: `claude`, `codex`, `aider`, `goose`, `opencode`, `qwen`, `gemini` (ಏಕೈಕ ಮೂಲ: `bin/cli/cli-manifest.mjs`). Qwen ಮತ್ತು Gemini ನಿರ್ಗಮನದ ವೇಳೆ ತೆಗೆದುಹಾಕಲಾಗುವ ತಾತ್ಕಾಲಿಕ ಪ್ರತ್ಯೇಕಿತ ಹೋಮ್ನೊಂದಿಗೆ ಚಾಲನೆಯಾಗುತ್ತವೆ, ಆದ್ದರಿಂದ ಪ್ರಾರಂಭವು ನಿಮ್ಮ ವೈಯಕ್ತಿಕ ಪರಿಕರ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಎಂದಿಗೂ ಸ್ಪರ್ಶಿಸುವುದಿಲ್ಲ — ಅಥವಾ ಅದಕ್ಕೆ ಸೋರಿಕೆಯಾಗುವುದಿಲ್ಲ. ### ಪ್ರತಿ-CLI ಸೆಟಪ್ ಆಜ್ಞೆಗಳು ಬೆಂಬಲಿತ ಪ್ರತಿ CLI ಗೂ ರಿಮೋಟ್-ಅರಿವಿನ ಸೆಟಪ್ ಆಜ್ಞೆ ಇದೆ (ಎಲ್ಲವೂ ಸಕ್ರಿಯ ಸಂದರ್ಭವನ್ನು ಅಥವಾ `--remote --api-key ` ಅನ್ನು ಗೌರವಿಸುತ್ತವೆ): | CLI | ಕಮಾಂಡ್ | ಇದು ಬರೆಯುವುದು | | ----------- | -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Codex | `omniroute setup-codex` | `~/.codex/.config.toml` ಪ್ರೊಫೈಲ್ಗಳು (ಪ್ರತಿ ಮಾದರಿಗೆ) | | Claude Code | `omniroute setup-claude` | `~/.claude/profiles//settings.json` (ಪ್ರತಿ ಮಾದರಿಗೆ) | | OpenCode | `omniroute setup-opencode` | `~/.config/opencode/opencode.json` — ಕ್ಯಾಟಲಾಗ್ನ ಪ್ರತಿಯೊಂದು ಮಾದರಿಯನ್ನೂ ಹೊಂದಿರುವ `omniroute` OpenAI-ಹೊಂದಾಣಿಕೆಯ ಪ್ರೊವೈಡರ್ (`opencode -m omniroute/` ಚಲಾಯಿಸಿ) | | Cline | `omniroute setup-cline` | `~/.cline/data/{globalState,secrets}.json` (CLI ಮೋಡ್) + ಅಂಟಿಸಲು VS Code ವಿಸ್ತರಣೆಯ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಮುದ್ರಿಸುತ್ತದೆ (OpenAI-ಹೊಂದಾಣಿಕೆ, `/v1` **ಇಲ್ಲದ** ಮೂಲ URL) | | Kilo Code | `omniroute setup-kilo` | `~/.local/share/kilo/auth.json` (CLI) + VS Code `kilocode.*` ಸೆಟ್ಟಿಂಗ್ಗಳು — OpenAI-ಹೊಂದಾಣಿಕೆ, `/v1` **ಒಳಗೊಂಡ** ಮೂಲ URL | | Continue | `omniroute setup-continue` | `~/.continue/config.yaml` (VS Code/JetBrains + `cn` CLI) — `provider: openai`, `/v1` **ಒಳಗೊಂಡ** `apiBase`, `${{ secrets.OMNIROUTE_API_KEY }}` ಮೂಲಕ ಕೀ | | Cursor | `omniroute setup-cursor` | ಆ್ಯಪ್ನೊಳಗಿನ ಹಂತಗಳನ್ನು ಮುದ್ರಿಸುತ್ತದೆ (ಸೆಟ್ಟಿಂಗ್ಗಳು → ಮಾದರಿಗಳು → `/v1` **ಒಳಗೊಂಡಂತೆ** OpenAI ಮೂಲ URL ಅನ್ನು ಅತಿಕ್ರಮಿಸಿ + ಕೀ + ಮಾದರಿ). Cursor ಸಂರಚನೆಯು ಅಪಾರದರ್ಶಕ SQLite ಆಗಿದೆ — ಚಾಟ್ ಪ್ಯಾನೆಲ್ ಮಾತ್ರ | | Roo Code | `omniroute setup-roo` | Roo ಆಮದು JSON (`~/.omniroute/roo-settings.json`) ಅನ್ನು ಬರೆಯುತ್ತದೆ + `roo-cline.autoImportSettingsPath` ಅನ್ನು ಹೊಂದಿಸುತ್ತದೆ + UI ಹಂತಗಳನ್ನು ಮುದ್ರಿಸುತ್ತದೆ (OpenAI-ಹೊಂದಾಣಿಕೆ, `/v1` **ಒಳಗೊಂಡ** ಮೂಲ URL) | | Crush | `omniroute setup-crush` | `~/.config/crush/crush.json` — `openai-compat` ಪ್ರೊವೈಡರ್, `/v1` **ಒಳಗೊಂಡ** `base_url`, `$OMNIROUTE_API_KEY` ಮೂಲಕ ಕೀ | | Goose | `omniroute setup-goose` | `~/.config/goose/config.yaml` (`GOOSE_PROVIDER=openai` + `/v1` **ಇಲ್ಲದ** `OPENAI_HOST` + `GOOSE_MODEL`) + ಪರಿಸರ ಸಂರಚನಾ ವಿಧಾನ | | Aider | `omniroute setup-aider` | `~/.aider.conf.yml` (`/v1` **ಇಲ್ಲದ** `openai-api-base` + `model: openai/`) + ಪರಿಸರ ಸಂರಚನಾ ವಿಧಾನ (`aider --message --yes`) | | Qwen Code | `omniroute setup-qwen` | `~/.qwen/settings.json` V4 `modelProviders.openai` ನಮೂದು + `~/.qwen/.env` ನಲ್ಲಿ `OMNIROUTE_API_KEY` | ```bash # OpenCode (OpenAI-ಹೊಂದಾಣಿಕೆಯ ಪ್ರೊವೈಡರ್, ಎಲ್ಲಾ ಕ್ಯಾಟಲಾಗ್ ಮಾದರಿಗಳು, ದೂರಸ್ಥ VPS) omniroute setup-opencode --remote http://192.168.0.15:20128 --api-key oma_live_xxx omniroute setup-opencode --only glm,kimi # ಹೊಂದಿಕೆಯಾಗುವ ಮಾದರಿಗಳನ್ನು ಮಾತ್ರ ಉಳಿಸಿ opencode -m omniroute/glm/glm-5.2 "..." # ಮೊದಲು OMNIROUTE_API_KEY ಅನ್ನು ರಫ್ತು ಮಾಡಿ ``` > OpenCode ಹೆಚ್ಚು ವೈಶಿಷ್ಟ್ಯಪೂರ್ಣವಾದ **ಪ್ಲಗಿನ್** ಏಕೀಕರಣವನ್ನೂ ಹೊಂದಿದೆ: `omniroute setup opencode` > (ಈಗ `--remote` ಮೂಲಕ ದೂರಸ್ಥ ವ್ಯವಸ್ಥೆಯ ಅರಿವು ಹೊಂದಿದೆ) `@omniroute/opencode-plugin` ಅನ್ನು ಸ್ಥಾಪಿಸುತ್ತದೆ. > `setup-opencode` ಹಗುರವಾದ OpenAI-ಹೊಂದಾಣಿಕೆಯ ಪರ್ಯಾಯವಾಗಿದೆ. API ಕೀಯನ್ನು > `{env:OMNIROUTE_API_KEY}` ಮೂಲಕ ಉಲ್ಲೇಖಿಸಲಾಗುತ್ತದೆ — ಅದನ್ನು ಎಂದಿಗೂ ಡಿಸ್ಕ್ಗೆ ಬರೆಯಲಾಗುವುದಿಲ್ಲ. > > OpenCode v2 ನಲ್ಲಿ, ಬದಲಿಗೆ `@omniroute/opencode-plugin-v2` ಬಳಸಿ: ಅದೇ ಕ್ಯಾಟಲಾಗ್, > ವಿಭಿನ್ನ ಲೋಡರ್ ಒಪ್ಪಂದ. ಏಕೀಕರಣವನ್ನು ಸಂಪರ್ಕಿಸಿದಾಗ, ಅದು OpenCode ನ ಸ್ವಂತ ರುಜುವಾತು > ಸಂಗ್ರಹದಿಂದ ಕೀಯನ್ನು ಓದುತ್ತದೆ; ಆದ್ದರಿಂದ ದೂರಸ್ಥ ಗೇಟ್ವೇಗೆ `opencode.json` ನಲ್ಲಿ > ಯಾವುದೇ ಕೀ ಅಗತ್ಯವಿಲ್ಲ. --- ## ಸಂದರ್ಭಗಳನ್ನು ನಿರ್ವಹಿಸುವುದು (ಸರ್ವರ್ಗಳ ನಡುವೆ ಬದಲಾಯಿಸುವುದು) ಒಂದು **ಸಂದರ್ಭ**ವು ಉಳಿಸಿದ ಸರ್ವರ್ ಆಗಿದೆ (baseUrl + credential + scope). `omniroute connect` ಒಂದು ಸಂದರ್ಭವನ್ನು ರಚಿಸುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ; ಅಂದಿನಿಂದ ಪ್ರತಿ ಆಜ್ಞೆಯು ಅದನ್ನು ಗುರಿಯಾಗಿಸುತ್ತದೆ. `omniroute contexts` ಬಳಸಿ ಅವುಗಳನ್ನು ನಿರ್ವಹಿಸಿ ಮತ್ತು ಅವುಗಳ ನಡುವೆ ಬದಲಾಯಿಸಿ: ```bash omniroute contexts list # all contexts; the active one is marked ● omniroute contexts current # the active server, auth status, scope ``` ```text | Name | Base URL | Auth | Scope | Description ● | vps | http://100.67.86.91:20128 | token | admin | Remote OmniRoute (…) | default | http://localhost:20128 | ✗ | | ``` **ಸರ್ವರ್ಗಳನ್ನು ಬದಲಾಯಿಸಿ** — ಪ್ರತಿ ನಂತರದ ಆಜ್ಞೆಯು ಸಕ್ರಿಯ ಸಂದರ್ಭವನ್ನು ಅನುಸರಿಸುತ್ತದೆ: ```bash omniroute contexts use vps # → ಈಗ ಎಲ್ಲಾ ಆಜ್ಞೆಗಳು ರಿಮೋಟ್ VPS ಅನ್ನು ತಲುಪುತ್ತವೆ omniroute tokens list # (VPS ವಿರುದ್ಧ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ) omniroute contexts use default # → ಲೋಕಲ್ ಹೋಸ್ಟ್ಗೆ ಹಿಂತಿರುಗಿ omniroute tokens list # (ಸ್ಥಳೀಯ ಸರ್ವರ್ ವಿರುದ್ಧ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ) ``` **ಸಂದರ್ಭವನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ಸೇರಿಸಿ** (`connect` ಬದಲಿಗೆ), ಪರಿಶೀಲಿಸಿ, ಅಥವಾ ಮರುಹೆಸರಿಸಿ: ```bash omniroute contexts add staging --url https://staging.example.com:20128 \ --access-token oma_live_xxxx --scope write --description "staging box" omniroute contexts show staging # ಒಂದು ಸಂದರ್ಭದ ಸಂಪೂರ್ಣ ವಿವರಗಳು omniroute contexts rename staging stg ``` **ಒಂದು ಸಂದರ್ಭವನ್ನು ತೆಗೆದುಹಾಕಿ** — ದೃಢೀಕರಣಕ್ಕಾಗಿ ಕೇಳುತ್ತದೆ; ಅದನ್ನು ಬಿಟ್ಟುಬಿಡಲು `--yes` ಅನ್ನು ಪಾಸ್ ಮಾಡಿ (ಸ್ಕ್ರಿಪ್ಟ್ಗಳು / ಸಂವಾದಾತ್ಮಕವಲ್ಲದ ಶೆಲ್ಗಳಿಗೆ ಅಗತ್ಯವಿದೆ, ಇಲ್ಲದಿದ್ದರೆ ಅವು ಸುರಕ್ಷಿತವಾಗಿ ನಿರಾಕರಿಸುತ್ತವೆ): ```bash omniroute contexts remove stg --yes ``` > `default` (localhost) ಅನ್ನು ತೆಗೆದುಹಾಕಲು ಸಾಧ್ಯವಿಲ್ಲ. ಸಕ್ರಿಯ ಸಂದರ್ಭವನ್ನು ತೆಗೆದುಹಾಕುವುದರಿಂದ > `default` ಗೆ ಹಿಂತಿರುಗುತ್ತದೆ. ಸಲಹೆ: ಒಂದು ಸಂದರ್ಭವನ್ನು ತೆಗೆದುಹಾಕುವುದು ಕೇವಲ **ಸ್ಥಳೀಯವಾಗಿ** > ಉಳಿಸಿದ ರುಜುವಾತುಗಳನ್ನು ಕೈಬಿಡುತ್ತದೆ — ಪ್ರವೇಶವನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ನಿಲ್ಲಿಸಲು > `omniroute tokens revoke ` ನೊಂದಿಗೆ ಸರ್ವರ್ನಲ್ಲಿ ಟೋಕನ್ ಅನ್ನು ರದ್ದುಗೊಳಿಸಿ. **ಸಂದರ್ಭಗಳನ್ನು ರಫ್ತು / ಆಮದು ಮಾಡಿ** (ಉದಾ. ಅವುಗಳನ್ನು ಯಂತ್ರಗಳ ನಡುವೆ ಸರಿಸಲು). ರಫ್ತುಗಳು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ರುಜುವಾತುಗಳನ್ನು ಬಿಟ್ಟುಬಿಡುತ್ತವೆ, ಫೈಲ್ ಫಾಲ್ಬ್ಯಾಕ್ನಿಂದ ಸಂಗ್ರಹಿಸಲಾದ ರುಜುವಾತುಗಳನ್ನು ಒಳಗೊಂಡಂತೆ. ಪೋರ್ಟಬಲ್ ರುಜುವಾತು-ಹೊಂದಿರುವ ಬ್ಯಾಕಪ್ ಅಗತ್ಯವಿದ್ದಾಗ `--include-secrets` ಅನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಬಳಸಿ: ```bash omniroute contexts export --out contexts.json # ಸಂಪಾದಿಸಲಾಗಿದೆ; ಡೀಫಾಲ್ಟ್ ಗಮ್ಯಸ್ಥಾನ: stdout omniroute contexts export --include-secrets --out private-contexts.json omniroute contexts import contexts.json # overwrite; --merge to keep existing omniroute contexts migrate --yes # move legacy plaintext tokens to keychain ``` `--include-secrets` ರಫ್ತು ಮಾಡುವ ಮೊದಲು ಕೀಚೈನ್ ಉಲ್ಲೇಖಗಳನ್ನು ಪರಿಹರಿಸುತ್ತದೆ ಮತ್ತು ಯಾವುದೇ ಉಲ್ಲೇಖಿತ ರುಜುವಾತುಗಳನ್ನು ಓದಲು ಸಾಧ್ಯವಾಗದಿದ್ದರೆ ವಿಫಲಗೊಳ್ಳುತ್ತದೆ. `--no-secrets` ಯಾವಾಗಲೂ ಆದ್ಯತೆಯನ್ನು ಪಡೆಯುತ್ತದೆ. ರಫ್ತು ಫೈಲ್ಗಳನ್ನು `0600` ಮೋಡ್ನೊಂದಿಗೆ ಅಣುಬದ್ಧವಾಗಿ ಬರೆಯಲಾಗುತ್ತದೆ. ಸ್ಪಷ್ಟವಾದ ರಹಸ್ಯ-ಹೊಂದಿರುವ ರಫ್ತನ್ನು ರಹಸ್ಯ ವಸ್ತುವಾಗಿ ಪರಿಗಣಿಸಿ. ಬಳಸಬಹುದಾದ OS ಕೀಚೈನ್ ಇಲ್ಲದ ಹೆಡ್ಲೆಸ್ ಸಿಸ್ಟಮ್ಗಳಲ್ಲಿ, CLI `0600` ಮೋಡ್ನೊಂದಿಗೆ `config.json` ಗೆ ಹಿಂತಿರುಗುತ್ತದೆ ಮತ್ತು ಒಂದು ಬಾರಿ ಎಚ್ಚರಿಕೆಯನ್ನು ಮುದ್ರಿಸುತ್ತದೆ; ಈ ಮೋಡ್ನಲ್ಲಿ ಡೀಫಾಲ್ಟ್ ರಫ್ತು ಸಂಪಾದಿತವಾಗಿ ಉಳಿಯುತ್ತದೆ. --- ## ತ್ವರಿತ ಆರಂಭದಿಂದ ಅಂತ್ಯದವರೆಗಿನ ಪರಿಶೀಲನೆ ದೂರಸ್ಥ ಸೆಟಪ್ ಅನ್ನು ಮೊದಲಿನಿಂದ ಪರಿಶೀಲಿಸಲು ನಕಲಿಸಿ-ಅಂಟಿಸಬಹುದಾದ ಜೀವನಚಕ್ರ — ಸಂಪರ್ಕಿಸಿ, ವ್ಯಾಪ್ತಿ-ನಿರ್ದಿಷ್ಟ ಟೋಕನ್ ರಚಿಸಿ, ಕಮಾಂಡ್ ಅನ್ನು ರೂಟ್ ಮಾಡಿ, ಹಿಂದಕ್ಕೆ ಬದಲಾಯಿಸಿ ಮತ್ತು ತೆಗೆದುಹಾಕಿ. `192.168.0.15` ಅನ್ನು ನಿಮ್ಮ ಸರ್ವರ್ನ ಹೋಸ್ಟ್/IP ಯಿಂದ (Tailscale, LAN, ಅಥವಾ ಸಾರ್ವಜನಿಕ `https://…` URL) ಬದಲಾಯಿಸಿ. ```bash # 1. ಸಂಪರ್ಕಿಸಿ (ಪಾಸ್ವರ್ಡ್ → admin ಟೋಕನ್, ಸಕ್ರಿಯವಾಗುವ ಸಂದರ್ಭವಾಗಿ ಉಳಿಸಲಾಗುತ್ತದೆ) omniroute connect 192.168.0.15 # ಅಥವಾ: --key oma_live_xxxx (ಪಾಸ್ವರ್ಡ್ ಇಲ್ಲ) omniroute contexts current # ದೂರಸ್ಥ ಸರ್ವರ್ + ವ್ಯಾಪ್ತಿಯನ್ನು ತೋರಿಸುತ್ತದೆ # 2. ಅದನ್ನು ಬಳಸಿ — ನಿರ್ವಹಣಾ ಕಮಾಂಡ್ಗಳು ಈಗ ದೂರಸ್ಥ ಸರ್ವರ್ ವಿರುದ್ಧ ಚಲಿಸುತ್ತವೆ omniroute tokens create --name laptop --scope read # ಹೆಚ್ಚು ಸೀಮಿತ ವ್ಯಾಪ್ತಿಯ ಟೋಕನ್ ರಚಿಸಿ omniroute tokens list # ದೂರಸ್ಥ ಸರ್ವರ್ನಿಂದ ಮರೆಮಾಡಿದ ಪಟ್ಟಿ # 3. ಹಿಂದಕ್ಕೆ ಮತ್ತು ಮುಂದಕ್ಕೆ ಬದಲಾಯಿಸಿ omniroute contexts use default # → ಸ್ಥಳೀಯ omniroute contexts use 192-168-0-15 # → ಮತ್ತೆ ದೂರಸ್ಥ (`contexts list` ನಿಂದ ಹೆಸರು) # 4. ತೆಗೆದುಹಾಕಿ. ಗಮನಿಸಿ: `contexts remove` ಕೇವಲ ಸ್ಥಳೀಯ ರುಜುವಾತನ್ನು ಅಳಿಸುತ್ತದೆ — # ಅದು ಸರ್ವರ್ನಲ್ಲಿರುವ ಟೋಕನ್ ಅನ್ನು ರದ್ದುಗೊಳಿಸುವುದಿಲ್ಲ. ನೀವು ಪ್ರವೇಶವನ್ನು ನಿಜವಾಗಿಯೂ # ಕೊನೆಗೊಳಿಸಲು ಬಯಸಿದರೆ ಮೊದಲು ಸರ್ವರ್ ಬದಿಯಲ್ಲಿ ಅದನ್ನು ರದ್ದುಗೊಳಿಸಿ. omniroute tokens revoke # ಸರ್ವರ್ನಲ್ಲಿನ ಪ್ರವೇಶವನ್ನು ಕೊನೆಗೊಳಿಸುತ್ತದೆ omniroute contexts remove 192-168-0-15 --yes # ಸ್ಥಳೀಯ ಸಂದರ್ಭವನ್ನು ತೆಗೆದುಹಾಕಿ (ಸಕ್ರಿಯವಾಗಿದ್ದರೂ → default ಗೆ ಹಿಂತಿರುಗುತ್ತದೆ), ಯಾವುದೇ ಪ್ರಾಂಪ್ಟ್ ಇಲ್ಲ ``` > `--yes`, `contexts remove` ಅನ್ನು ಸಂವಾದಾತ್ಮಕವಲ್ಲದಂತೆ ಮಾಡುತ್ತದೆ (ಸ್ಕ್ರಿಪ್ಟ್ಗಳು/CI ನಲ್ಲಿ ಅಗತ್ಯ; ಇದು ಇಲ್ಲದಿದ್ದರೆ, > ಸಂವಾದಾತ್ಮಕವಲ್ಲದ ಶೆಲ್ ಸ್ಥಗಿತಗೊಳ್ಳುವ ಬದಲು ಸುರಕ್ಷಿತವಾಗಿ ನಿರಾಕರಿಸುತ್ತದೆ). **ಸಕ್ರಿಯ** > ಸಂದರ್ಭವನ್ನು ತೆಗೆದುಹಾಕಿದರೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ `default` ಗೆ ಹಿಂತಿರುಗುತ್ತದೆ. --- ## ಭದ್ರತಾ ಟಿಪ್ಪಣಿಗಳು - ಟೋಕನ್ನ ಸರಳ ಪಠ್ಯವನ್ನು ಒಮ್ಮೆ ಮಾತ್ರ ತೋರಿಸಲಾಗುತ್ತದೆ; SHA-256 ಹ್ಯಾಶ್ ಅನ್ನು ಮಾತ್ರ ಶಾಶ್ವತವಾಗಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ (API ಕೀಲಿಗಳಂತೆಯೇ). - `omniroute connect` ಲಾಗಿನ್ನ ಬ್ರೂಟ್-ಫೋರ್ಸ್ ಲಾಕ್ಔಟ್ + ಆಡಿಟ್ ಲಾಗಿಂಗ್ ಅನ್ನು ಮರುಬಳಕೆ ಮಾಡುತ್ತದೆ. - ಸಾಗಣೆಗಾಗಿ HTTPS ಅಥವಾ Tailnet ಅನ್ನು ಆದ್ಯತೆ ನೀಡಿ; LAN/Tailscale ಅನುಕೂಲಕ್ಕಾಗಿ ಕೇವಲ ಹೋಸ್ಟ್ ನೀಡಿದರೆ ಅದು ಡೀಫಾಲ್ಟ್ ಆಗಿ `http://` ಅನ್ನು ಬಳಸುತ್ತದೆ — TLS ಗಾಗಿ ಸಂಪೂರ್ಣ `https://…` URL ಅನ್ನು ನೀಡಿ. - ಆದ್ಯತೆಯ ಸ್ಥಳೀಯ ಸಂದರ್ಭ ಫೈಲ್ `~/.omniroute/config.json` (`chmod 600`) ಆಗಿದ್ದು, ಅದು ಕೇವಲ `credentialRef` ಅನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ; ಟೋಕನ್ ಅನ್ನು OS ಕೀಚೇನ್ನಲ್ಲಿ (`keytar`) ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಲಾಗ್ಗಳಲ್ಲಿ ಎಂದಿಗೂ ಮುದ್ರಿಸಲಾಗುವುದಿಲ್ಲ. ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಸ್ಥಳೀಯ ಕೀಚೇನ್ ಇಲ್ಲದ ಹೆಡ್ಲೆಸ್ ಸ್ಥಾಪನೆಗಳು ಅದೇ `0600` ಫೈಲ್ ಅನ್ನು ಸ್ಪಷ್ಟ ಫಾಲ್ಬ್ಯಾಕ್ ಆಗಿ ಬಳಸುತ್ತವೆ ಮತ್ತು ಒಮ್ಮೆ ಎಚ್ಚರಿಕೆಯನ್ನು ನೀಡುತ್ತವೆ. ಕೀಚೇನ್ ಬ್ಯಾಕೆಂಡ್ ಅನ್ನು ಸ್ಥಾಪಿಸಿದ ನಂತರ `omniroute contexts migrate --yes` ಬಳಸಿ. --- ## API ಎಂಡ್ಪಾಯಿಂಟ್ಗಳು (ಉಲ್ಲೇಖ) | ವಿಧಾನ | ಮಾರ್ಗ | ದೃಢೀಕರಣ | ವ್ಯಾಪ್ತಿ | | ------ | --------------------- | ------------------ | ---------------------------------- | | POST | `/api/cli/connect` | ನಿರ್ವಹಣಾ ಪಾಸ್ವರ್ಡ್ | — (ಸಾರ್ವಜನಿಕ, ಪಾಸ್ವರ್ಡ್-ನಿಯಂತ್ರಿತ) | | GET | `/api/cli/whoami` | ಪ್ರವೇಶ ಟೋಕನ್ | read | | GET | `/api/cli/tokens` | ಪ್ರವೇಶ ಟೋಕನ್ | admin | | POST | `/api/cli/tokens` | ಪ್ರವೇಶ ಟೋಕನ್ | admin | | DELETE | `/api/cli/tokens/:id` | ಪ್ರವೇಶ ಟೋಕನ್ | admin | ಸಂಪೂರ್ಣ ಸ್ಕೀಮಾಗಳಿಗಾಗಿ [openapi.yaml](../openapi.yaml) ನೋಡಿ.