mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-09-21 14:22:14 +03:00
1,104 mirrors rewritten over five passes of run-translation on the 22-source core set: the 14 sources edited since their translation, the 322 mirrors that were still English copies, and the frontmatter the old extractor leaked into the newer locales' bodies. The pipeline now caches per-`## `-section hashes and retranslates only changed sections, never reuses a section that is still English, rebuilds English-copy / leaked mirrors even when the source is unchanged, merges the state on save (parallel runs), and the drift gate (scoped to the core set) is blocking. Final audit: 0 stale, 0 English copies, 0 leaked frontmatter across 1,430 core mirrors. ⚠️ base-red inherited: #12732
768 lines
64 KiB
Markdown
768 lines
64 KiB
Markdown
# CLI Tools — OmniRoute (ଓଡ଼ିଆ)
|
||
|
||
🌐 **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) · 🇨🇿 [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) · 🇭🇺 [hu](../../../hu/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) · 🇮🇳 [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)
|
||
|
||
---
|
||
|
||
ଶେଷ ଅଦ୍ୟତନ: 2026-08-23
|
||
|
||
OmniRoute ତିନୋଟି ଉତ୍ସର୍ଗୀକୃତ ଡ୍ୟାଶବୋର୍ଡ ପୃଷ୍ଠାରେ ବିଭକ୍ତ ତିନିଟି ଶ୍ରେଣୀର CLI ଟୁଲ୍ ସହିତ ଏକୀକୃତ ହୁଏ:
|
||
|
||
| ପୃଷ୍ଠା | ରୁଟ୍ | ଧାରଣା | ସଂଖ୍ୟା |
|
||
| -------------- | ----------------------- | ----------------------------------------------------------------------------------------------------- | ------------------ |
|
||
| **CLI Code's** | `/dashboard/cli-code` | ଯେଉଁ କୋଡିଂ ଟୁଲ୍ଗୁଡ଼ିକୁ ଆପଣ OmniRoute ଆଡ଼କୁ ନିର୍ଦ୍ଦେଶ କରନ୍ତି (କ୍ଲାଏଣ୍ଟ → CLI → OmniRoute → ପ୍ରଦାନକାରୀ) | 26 |
|
||
| **CLI Agents** | `/dashboard/cli-agents` | ଯେଉଁ ସ୍ୱୟଂଚାଳିତ ଏଜେଣ୍ଟଗୁଡ଼ିକୁ ଆପଣ OmniRoute ଆଡ଼କୁ ନିର୍ଦ୍ଦେଶ କରନ୍ତି (ସମାନ ପ୍ରବାହ, ଅଧିକ ବ୍ୟାପକ ପରିସର) | 10 |
|
||
| **ACP Agents** | `/dashboard/acp-agents` | ଯେଉଁ CLI-ଗୁଡ଼ିକୁ OmniRoute stdio/ACP ମାଧ୍ୟମରେ ବ୍ୟାକେଣ୍ଡ ଭାବେ ଆରମ୍ଭ କରେ (ବିପରୀତ ପ୍ରବାହ) | ରେଜିଷ୍ଟ୍ରି ଦେଖନ୍ତୁ |
|
||
|
||
ପୁରୁଣା ରୁଟ୍ଗୁଡ଼ିକ 308 ମାଧ୍ୟମରେ ପୁନଃନିର୍ଦ୍ଦେଶିତ ହୁଏ: `/dashboard/cli-tools` → `/dashboard/cli-code`, `/dashboard/agents` → `/dashboard/acp-agents`.
|
||
|
||
---
|
||
|
||
## ଏହା କିପରି କାମ କରେ
|
||
|
||
```
|
||
CLI Code's / CLI Agents (ଖପାନ୍ତର ପ୍ରବାହ):
|
||
Claude / Codex / OpenCode / Cline / KiloCode / Continue / Hermes Agent / Goose / ...
|
||
│
|
||
▼ (ସମସ୍ତ OmniRoute ଆଡ଼କୁ ନିର୍ଦ୍ଦେଶ କରନ୍ତି)
|
||
http://YOUR_SERVER:20128/v1
|
||
│
|
||
▼ (OmniRoute ସଠିକ୍ ପ୍ରଦାନକାରୀକୁ ରୁଟ କରେ)
|
||
Anthropic / OpenAI / Gemini / DeepSeek / Groq / Mistral / ...
|
||
|
||
ACP Agents (ବିପରୀତ ସୃଷ୍ଟି ପ୍ରବାହ):
|
||
Client request → OmniRoute → stdio/ACP ମାଧ୍ୟମରେ CLI ସୃଷ୍ଟି କରେ → ପ୍ରତିକ୍ରିୟା
|
||
```
|
||
|
||
**ଲାଭ:**
|
||
|
||
- ସମସ୍ତ ଟୁଲ୍ସ ପରିଚାଳନା କରିବାକୁ ଗୋଟିଏ API key
|
||
- ଡ୍ୟାସବୋର୍ଡରେ ସମସ୍ତ CLI ଜୁଡ଼ିରେ ଖର୍ଚ୍ଚ ଟ୍ରାକିଂ
|
||
- ପ୍ରତ୍ୟେକ ଟୁଲ୍ ପୁନଃକନଫିଗର ନ କରି ମଡେଲ୍ ସ୍ୱିଚିଂ
|
||
- ସ୍ଥାନୀୟ ଏବଂ ଦୂରସ୍ଥ ସର୍ଭର (VPS, Docker, Akamai, Cloudflare Tunnel) ଉପରେ କାମ କରେ
|
||
|
||
---
|
||
|
||
## `setup-*` ସହ ସ୍ୱୟଂ-କନଫିଗରେସନ୍
|
||
|
||
ଆପଣ ପ୍ରତ୍ୟେକ ଟୁଲ୍ର କନଫିଗରେସନ୍ ହାତରେ ଲେଖିବାକୁ ବାଧ୍ୟ ନୁହଁନ୍ତି। OmniRoute ପ୍ରତ୍ୟେକ ସମର୍ଥିତ CLI ପାଇଁ ଏକ `setup-*`
|
||
କମାଣ୍ଡ ସହ ଆସେ ଯାହା ଏକ ଚାଳୁ OmniRoute (ସ୍ଥାନୀୟ କିମ୍ବା ଦୂରସ୍ଥ) ଠାରୁ **ଲାଇଭ୍** ମଡେଲ୍ ତାଲିକା ପଢ଼େ ଏବଂ ଆପଣଙ୍କ ମେସିନ୍ରେ ଟୁଲ୍ର ନିଜସ୍ୱ କନଫିଗରେସନ୍ ଲେଖେ:
|
||
|
||
```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
|
||
```
|
||
|
||
ପ୍ରତ୍ୟେକ `--remote <url> --api-key <key>` (ଦୂରସ୍ଥ OmniRoute ବିରୁଦ୍ଧରେ ସ୍ଥାନୀୟ ଟୁଲ୍ କନଫିଗର କରେ), `--dry-run` (ଲେଖିବା ବିନା ପୂର୍ବାବଲୋକନ), ଏବଂ `--port` ଗ୍ରହଣ କରେ। ମଡେଲ୍ ସ୍ୱୟଂ-ଆବିଷ୍କାର ବିନା ଟୁଲ୍ସ (Cline, Kilo, Roo, Goose, Aider, Qwen, 5dive) `--model <id>` (ଏବଂ ଅ-ଇଣ୍ଟରାକ୍ଟିଭ୍ ରନ୍ ପାଇଁ `--yes`) ଗ୍ରହଣ କରନ୍ତି। `setup-5dive` ହେଉଛି ସେହି ଏକ ରେସିପି ଯାହା `$HOME` ଅଧୀନରେ ଲେଖେ ନାହିଁ: ଏହା ଏକ 5dive ଏଜେଣ୍ଟ ଫ୍ଲିଟ୍ କନଫିଗର କରେ ଫ୍ଲିଟ୍ ହୋଷ୍ଟରେ ରୁଟ-ସ୍ୱାମିତ୍ୱ ପ୍ରୋଫାଇଲ୍ ଲେଖି, ତେଣୁ ଏହା `sudo` ମାଧ୍ୟମରେ ପୁନଃ-exec କରେ ଏବଂ ଏହାର ନିଜସ୍ୱ ଦୂରସ୍ଥ ମୋଡ୍ ନାହିଁ। ସଠିକ୍ env ଇଞ୍ଜେକ୍ଟ୍ ହୋଇ ଏବଂ ସମ୍ପୂର୍ଣ୍ଣ ରୂପେ କନଫିଗରେସନ୍ ନ ଲେଖି CLI ଆରମ୍ଭ କରିବାକୁ, ସାଧାରଣ
|
||
`omniroute run <target>` ଲଞ୍ଚର୍ ବ୍ୟବହାର କରନ୍ତୁ (claude, codex, aider, goose, opencode, qwen,
|
||
gemini — ଟାର୍ଗେଟ୍ ଏବଂ ଉପନାମ `bin/cli/cli-manifest.mjs` ଠାରୁ ଆସେ); ପୁରୁଣା
|
||
ପ୍ରତ୍ୟେକ-ଟୁଲ୍ ଲଞ୍ଚର୍ `omniroute launch` (Claude Code) ଏବଂ `omniroute launch-codex`
|
||
(Codex) ଉପଲବ୍ଧ ରହନ୍ତି। Gemini CLI କେବଳ ଲଞ୍ଚ-ମାତ୍ର: ଏହା ଏକ `omniroute run`
|
||
ଟାର୍ଗେଟ୍ କିନ୍ତୁ `setup-*`/`configure` ରେସିପି ନାହିଁ।
|
||
|
||
> **ସମ୍ପୂର୍ଣ୍ଣ ରେଫରେନ୍ସ:** ମାଷ୍ଟର ଟେବୁଲ୍ — ପ୍ରତ୍ୟେକ କମାଣ୍ଡ କଣ ଲେଖେ, ପ୍ରତ୍ୟେକ ଫ୍ଲାଗ୍,
|
||
> ସ୍ଥାନୀୟ ବନାମ ଦୂରସ୍ଥ, ଏବଂ କେଉଁ ଟୁଲ୍ସ `/v1` ସଫିକ୍ସ୍ ଚାହାଁନ୍ତି — **[CLI Integrations](../guides/CLI-INTEGRATIONS.md)** ରେ ଥାଏ।
|
||
|
||
### ଏକ କଣ୍ଟେନର୍ ମଧ୍ୟରେ ଏଗୁଡିକ ଚଳାଇବା
|
||
|
||
OmniRoute କଣ୍ଟେନର୍ ମଧ୍ୟରେ ନିଷ୍ପାଦିତ ଏକ `setup-*` କମାଣ୍ଡ କଣ୍ଟେନର୍ର ନିଜସ୍ୱ ହୋମ୍ ଲେଖେ, ଯାହା କୌଣସି ହୋଷ୍ଟ CLI ପଢ଼େ ନାହିଁ ଏବଂ କଣ୍ଟେନର୍ ସହ ବିଲୀନ ହୁଏ। OmniRoute ଏହା ଚିହ୍ନଟ କରେ ଏବଂ ଲେଖିବା ବଦଳରେ ନିର୍ଦ୍ଦେଶ ସହ `2` ସହ ବାହାରି ଯାଏ। ଦୁଇଟି ସମର୍ଥିତ ଉପାୟ — CLI କୁ ହୋଷ୍ଟରେ ଇନ୍ଷ୍ଟଲ୍ କରନ୍ତୁ ଏବଂ କଣ୍ଟେନର୍ ସହ `omniroute connect` କରନ୍ତୁ, କିମ୍ବା କନଫିଗରେସନ୍ ଡାଇରେକ୍ଟୋରୀଗୁଡିକୁ ବାଇଣ୍ଡ୍-ମାଉଣ୍ଟ୍ କରନ୍ତୁ ଏବଂ `CLI_CONFIG_HOME` (compose `host` ପ୍ରୋଫାଇଲ୍) ସେଟ୍ କରନ୍ତୁ। ପ୍ରତ୍ୟେକ `setup-*` କମାଣ୍ଡ, ସାଥିରେ `omniroute configure` ଏବଂ `omniroute config set`, ଗ୍ରହଣ କରେ
|
||
`--allow-container-write` ଯଦି ଆପଣ ପ୍ରକୃତରେ କଣ୍ଟେନର୍ର ନିଜସ୍ୱ CLI କନଫିଗର କରିବାକୁ ଚାହୁଁଥାନ୍ତି; `OMNIROUTE_ALLOW_CONTAINER_CONFIG_WRITE=true` ସର୍ଭର୍ ପାଇଁ ସମାନ କରେ। ଦେଖନ୍ତୁ
|
||
[Docker Guide → Configuring host CLI tools](../guides/DOCKER_GUIDE.md#configuring-host-cli-tools-when-omniroute-runs-in-docker)।
|
||
|
||
ଡ୍ୟାସବୋର୍ଡର **ଆପ୍ଲାଏ ଏଣ୍ଡପଏଣ୍ଟ** (`POST /api/cli-tools/apply`) ସମାନ ଗାର୍ଡ୍ ପ୍ରୟୋଗ କରେ: ଏକ କଣ୍ଟେନର୍ରେ, ଏକ ଲେଖିବା ଯାହାର ଲକ୍ଷ୍ୟ ହୋଷ୍ଟଠାରୁ ବାଇଣ୍ଡ୍-ମାଉଣ୍ଟ୍ ହୋଇନାହିଁ **`422`** ଦିଏ `containerEphemeralTarget: true`, ସୁରକ୍ଷିତ ତ୍ରୁଟି ପାଠ ଏବଂ — ସେହି ଟୁଲ୍ସ ପାଇଁ ଯାହାଙ୍କ ପାଖରେ ଏକ ହୋଷ୍ଟ ରେସିପି ଅଛି (claude, codex, opencode, cline,
|
||
kilo, continue) — ଏକ `hostSetupCommand` (ଉଦାହରଣ `omniroute setup-opencode`) ହୋଷ୍ଟରେ ଚଳାଇବାକୁ; କିଛି ଲେଖା ହୁଏ ନାହିଁ। `dryRun: true` କଣ୍ଟେନର୍ ମୋଡ୍ରେ କାମ କରି ରହେ ଏବଂ ଡିସ୍କକୁ ସ୍ପର୍ଶ ନ କରି ଉତ୍ପାଦିତ ସାମଗ୍ରୀ + ଲକ୍ଷ୍ୟ ପାଥ୍ ଫେରାଏ, ତେଣୁ ଆପଣ ଡ୍ୟାସବୋର୍ଡରୁ ପୂର୍ବାବଲୋକନ କରି ହୋଷ୍ଟରେ ଆପ୍ଲାଏ କରିପାରିବେ। ଏହି ଆଚରଣ
|
||
ଜାଣିଶୁଣି ଅଟେ ଏବଂ
|
||
`tests/unit/api/cli-tools/apply-container-guard.test.ts` ଦ୍ୱାରା ପୁନରାବୃତ୍ତି-ରକ୍ଷାକାରୀ — ଗାର୍ଡ୍ ହଟାଇ କେବେ 422 କୁ "fix" କରନ୍ତୁ ନାହିଁ।
|
||
|
||
## ସତ୍ୟ ର ଉତ୍ସ
|
||
|
||
ଏକୀକୃତ କ୍ୟାଟାଲଗ `src/shared/constants/cliTools.ts` ରେ `CLI_TOOLS: Record<string, CliCatalogEntry>` ଭାବରେ ରହିଛି।
|
||
|
||
ପ୍ରତ୍ୟେକ ଏଣ୍ଟ୍ରିରେ ଏହି ଫିଲ୍ଡଗୁଡିକ ଅଛି (`src/shared/schemas/cliCatalog.ts` ରେ ସଂଜ୍ଞାଯୁକ୍ତ):
|
||
|
||
| ଫିଲ୍ଡ | ଟାଇପ | ବିବରଣୀ |
|
||
| ----------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
|
||
| `category` | `"code" \| "agent"` | ଟୁଲ କେଉଁ ପୃଷ୍ଠାରେ ଦେଖାଯାଏ |
|
||
| `vendor` | `string` | ଟୁଲର ଉତ୍ପତ୍ତି ("Anthropic", "OSS (P. Gauthier)") |
|
||
| `acpSpawnable` | `boolean` | ଏକ ACP ଏଜେଣ୍ଟ ଭାବରେ ମଧ୍ୟ ବ୍ୟବହାର କରାଯାଇପାରେ (ବ୍ୟାଡଜ ଦେଖାଯାଏ) |
|
||
| `baseUrlSupport` | `"full" \| "partial" \| "none"` | କଷ୍ଟମ ସେଣ୍ଟର ସପୋର୍ଟ ସ୍ତର। `"none"` = MITM ବ୍ୟାକଲଗ |
|
||
| `configType` | `"env" \| "custom" \| "guide" \| "custom-builder" \| "mitm"` | କନ୍ଫିଗରେସନ ପଦ୍ଧତି |
|
||
| `id`, `name`, `color`, `description`, `docsUrl` | ମାନକ | ମୂଳ ପ୍ରଦର୍ଶନ ଫିଲ୍ଡଗୁଡିକ |
|
||
|
||
`baseUrlSupport: "none"` ସହ ଥିବା ଏଣ୍ଟ୍ରିଗୁଡିକ ଡ୍ୟାସବୋର୍ଡ ପୃଷ୍ଠାଗୁଡିକରେ **ଦେଖାଯାଏ ନାହିଁ** — ସେଗୁଡିକ ଯୋଜନା 11 ପାଇଁ MITM ବ୍ୟାକଲଗରେ ପଞ୍ଜୀକୃତ (`_tasks/features-v3.8.6/refactorpages/_orchestration/_plan11-mitm-backlog.md` ଦେଖନ୍ତୁ)।
|
||
|
||
### ସାମର୍ଥ୍ୟ ଶ୍ରେଣୀଗୁଡିକ (କ୍ୟାଟାଲଗ କରାଯାଇଥିବା × ଖୋଜାଯାଇଥିବା × କନ୍ଫିଗର କରାଯାଇଥିବା × ଲଞ୍ଚ କରାଯାଇଥିବା)
|
||
|
||
ପ୍ରତ୍ୟେକ କ୍ୟାଟାଲଗ କରାଯାଇଥିବା ଟୁଲ ଖୋଜାଯାଇପାରେ ନାହିଁ, କନ୍ଫିଗର କରାଯାଇପାରେ ନାହିଁ ବା ଲଞ୍ଚ କରାଯାଇପାରେ ନାହିଁ। ପ୍ରତ୍ୟେକ ଶ୍ରେଣୀର ଗୋଟିଏ
|
||
ଘୋଷିତ ଉତ୍ସ ଅଛି, ଏବଂ ଏକ ଡ୍ରିଫ୍ଟ ପରୀକ୍ଷା ସେଗୁଡିକକୁ ସାମଞ୍ଜସ୍ୟ ରଖେ:
|
||
|
||
| ଶ୍ରେଣୀ | ଅର୍ଥ | ଘୋଷିତ |
|
||
| ----------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------- |
|
||
| **କ୍ୟାଟାଲଗ କରାଯାଇଥିବା** | ଡ୍ୟାସବୋର୍ଡ କ୍ୟାଟାଲଗରେ ଦେଖାଯାଏ (ନାମ, ଭେଣ୍ଡର, ଡକ୍ସ, କନ୍ଫିଗ ପ୍ରକାର) | `src/shared/constants/cliTools.ts` (`CLI_TOOLS`) |
|
||
| **ଖୋଜାଯାଇଥିବା** | ବାଇନାରୀ/କନ୍ଫିଗ ଖୋଜ, ସ୍ୱାସ୍ଥ୍ୟ ପରୀକ୍ଷା, କନ୍ଫିଗ ପଥସମୂହ | `src/shared/services/cliRuntime.ts` (`CLI_TOOLS` ରନଟାଇମ କ୍ୟାଟାଲଗ) |
|
||
| **କନ୍ଫିଗର କରାଯାଇଥିବା** | `omniroute configure <cli>` ଦ୍ୱାରା ସମର୍ଥିତ (ସେଟଅପ୍ ରେସିପି ଅଛି) | `bin/cli/cli-manifest.mjs` (`configure: true`) |
|
||
| **ଲଞ୍ଚ କରାଯାଇଥିବା** | `omniroute run <target>` ଦ୍ୱାରା ସମର୍ଥିତ (env/args ଇଞ୍ଜେକସନ ସଂଜ୍ଞାଯୁକ୍ତ) | `bin/cli/cli-manifest.mjs` (`run: true`) |
|
||
|
||
`bin/cli/cli-manifest.mjs` CLI କମାଣ୍ଡ ସର୍ଫେସ୍ ପାଇଁ ଆଦର୍ଶ ଏକ୍ସିକ୍ୟୁଟେବଲ ମ୍ୟାନିଫେଷ୍ଟ ଅଟେ:
|
||
`run`, `configure` ଏବଂ ସେଲ୍ କମ୍ପ୍ଲେସନ ଜେନେରେଟର ସବୁ ସେଗୁଡିକର ଟାର୍ଗେଟ ଲିଷ୍ଟ, ଉପନାମ ସମାଧାନ (ଉଦାହରଣ `kilocode`/`kilo-code`/`kilo_cli` → `kilo`)
|
||
ଏବଂ `--model` ଫ୍ଲାଗ ୱାୟାରିଂ ଏହାରୁ ପ୍ରାପ୍ତ ହୁଏ। ଡ୍ରିଫ୍ଟ ଗାର୍ଡ
|
||
`tests/unit/cli/cli-manifest-drift.test.ts` ନିଶ୍ଚିତ କରେ ଯେ ମ୍ୟାନିଫେଷ୍ଟ, ରନଟାଇମ
|
||
କ୍ୟାଟାଲଗ, UI କ୍ୟାଟାଲଗ ଏବଂ ପ୍ରତ୍ୟେକ ବ୍ୟବହାରକାରୀ ସର୍ଫେସ୍ ସିଙ୍କ୍ ରେ ରହନ୍ତି — ଅନ୍ୟାନ୍ୟ ସର୍ଫେସ୍ ବିନା ଏକ ସର୍ଫେସ୍ ରେ ଯୋଗ କରାଯାଇଥିବା ଟାର୍ଗେଟ ସୁଚାରୁ ଭାବରେ ଡ୍ରିଫ୍ଟ କରିବା ପରିବର୍ତ୍ତେ ସୁଟ୍ ବିଫଳ ହୁଏ।
|
||
|
||
---
|
||
|
||
## 1. CLI Code ର କାଟାଲଗ୍ (26 ଟି ଉପକରଣ)
|
||
|
||
ସମସ୍ତ ଉପକରଣ ଯାହା `/dashboard/cli-code` ରେ ଦେଖାଯାଏ। ଯେଉଁଗୁଡ଼ିକର `baseUrlSupport: none` ଅଛି, ସେଗୁଡ଼ିକ କଷ୍ଟମ ବେସ URL ପରିବର୍ତ୍ତେ MITM କିମ୍ବା ମାନୁଆଲ ଗାଇଡ୍ ମାଧ୍ୟମରେ ସଂଯୋଗ ହୋଇଥାଏ:
|
||
|
||
| 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 |
|
||
| 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 | Custom CLI | — | full | custom-builder | false |
|
||
|
||
ଯେଉଁ ଉପକରଣଗୁଡ଼ିକର `baseUrlSupport: "partial"` ଅଛି ସେଗୁଡ଼ିକ ଡ୍ୟାସବୋର୍ଡ କାର୍ଡରେ "⚠ ବେସ URL ଆଂଶିକ" ବ୍ୟାଜ୍ ଦେଖାନ୍ତି।
|
||
|
||
## ୨. CLI ଏଜେଣ୍ଟ ସୂଚି (୧୦ଟି ଟୁଲ୍)
|
||
|
||
`/dashboard/cli-agents` ରେ ଥିବା ସ୍ୱୟଂଚାଳିତ ଏଜେଣ୍ଟଗୁଡ଼ିକ:
|
||
|
||
| ଆଇଡି | ନାମ | ବିକ୍ରେତା | baseUrlSupport | 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 |
|
||
|
||
---
|
||
|
||
## ୩. ACP ଏଜେଣ୍ଟ (/dashboard/acp-agents)
|
||
|
||
ଏହି ପୃଷ୍ଠାକୁ (`/dashboard/agents` ରୁ ନାମ ପରିବର୍ତ୍ତନ କରାଯାଇଛି) ଦର୍ଶାଯାଇଛି ସେହି CLI ଗୁଡ଼ିକ ଯାହାକୁ OmniRoute stdio/ACP ପ୍ରୋଟୋକଲ୍ ମାଧ୍ୟମରେ ବ୍ୟାକଏଣ୍ଡ ଏକ୍ସିକ୍ୟୁସନ୍ ଇଞ୍ଜିନ୍ ଭାବରେ **ସ୍ପାଉନ୍** କରିପାରିବ। ସୂଚି ସ୍ୱତନ୍ତ୍ର ଭାବରେ `src/lib/acp/registry.ts` ରେ ରଖାଯାଇଛି ଏବଂ ଏହା `CLI_TOOLS` ସହ ସମାନ ନୁହେଁ।
|
||
|
||
---
|
||
|
||
## ୪. MITM ବ୍ୟାକଲଗ୍ (ଡ୍ୟାଶବୋର୍ଡରେ ଦେଖାଯାଉ ନାହିଁ)
|
||
|
||
ନିମ୍ନଲିଖିତ CLI ଗୁଡ଼ିକ ନିଜସ୍ୱ ଭାବରେ କଷ୍ଟମ୍ ବେସ୍ URL ସମର୍ଥନ କରନ୍ତି ନାହିଁ ଏବଂ CLI Code's କିମ୍ବା CLI Agents ପୃଷ୍ଠାରେ **ତାଲିକାଭୁକ୍ତ ନୁହଁନ୍ତି**। ସେଗୁଡ଼ିକ ଯୋଜନା ୧୧ ରେ MITM ଅନ୍ତରାୟ ପାଇଁ ପ୍ରାର୍ଥୀ:
|
||
|
||
| CLI | କାରଣ |
|
||
| ------------------- | -------------------------------------------------------------- |
|
||
| windsurf | BYOK ସୀମିତ ନିର୍ଦ୍ଦିଷ୍ଟ Claude ମଡେଲ୍ ଏବଂ କର୍ପୋରେଟ୍ URL/ଟୋକନ୍ ସହ |
|
||
| amp | ବନ୍ଦ ଇକୋସିଷ୍ଟମ୍ (Sourcegraph) |
|
||
| amazon-q / kiro-cli | AWS SSO ପ୍ରମାଣୀକରଣ, କଷ୍ଟମ୍ URL ନାହିଁ |
|
||
| cowork | Anthropic Desktop, କନଫିଗର କରିବା ଯୋଗ୍ୟ ସମାପ୍ତି ବିନ୍ଦୁ ନାହିଁ |
|
||
|
||
ସମ୍ପୂର୍ଣ୍ଣ କ୍ରସ୍ ରେଫରେନ୍ସ ପାଇଁ `_tasks/features-v3.8.6/refactorpages/_orchestration/_plan11-mitm-backlog.md` ଦେଖନ୍ତୁ।
|
||
|
||
---
|
||
|
||
## ୫. ବ୍ୟାଚ୍ ନିର୍ଣ୍ଣୟ API
|
||
|
||
ସମସ୍ତ ଟୁଲ୍ ନିର୍ଣ୍ଣୟ ଏକ ଏକମାତ୍ର ସମାପ୍ତି ବିନ୍ଦୁ ମାଧ୍ୟମରେ ସଂଚିତ ହୋଇଛି:
|
||
|
||
**`GET /api/cli-tools/all-statuses`**
|
||
|
||
- ପ୍ରମାଣୀକରଣ: `requireCliToolsAuth(request)` (ଅନ୍ୟ /api/cli-tools/ ରୁଟ୍ ସମାନ)
|
||
- ଫେରାଇଥାଏ: `Record<toolId, ToolBatchStatus>` (ଧାରା: `src/shared/types/cliBatchStatus.ts`)
|
||
- ରଣନୀତି: ସମସ୍ତ ଟୁଲ୍ ଉପରେ `Promise.all`, ଟୁଲ୍ ପ୍ରତି ୫ ସେକେଣ୍ଡ୍ ସମୟ ସୀମା
|
||
- କ୍ୟାଶ୍: କନଫିଗ୍ ଫାଇଲ୍ `mtime` ଦ୍ୱାରା ଇଣ୍ଡେକ୍ସ ହୋଇଥିବା ସ୍ମୃତି-ଭିତ୍ତିକ LRU। mtime ପରିବର୍ତ୍ତନ ହୋଇଗଲେ କ୍ୟାଶ୍ ଅବୈଧ ହୋଇଯାଏ। ସର୍ଭର୍ ପୁନର୍ଚାଳନା ହୋଇଗଲେ ରିସେଟ୍ ହୁଏ।
|
||
|
||
ପ୍ରତି ଟୁଲ୍ ପାଇଁ ପ୍ରତିକ୍ରିୟା ସଂରଚନା:
|
||
|
||
```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; // ସ୍ୱଚ୍ଛ, ଷ୍ଟ୍ୟାକ୍ ଟ୍ରେସ୍ ନାହିଁ
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## <20>୍ରହ୍ମ ଯୋଗାଯୋଗରେ ନୂତନ ଟୁଲଗୁଡିକ ପାଇଁ ସେଟିଙ୍ଗସ୍ ହ୍ୟାଣ୍ଡଲର୍
|
||
|
||
`configType: "custom"` ସହିତ ନୂତନ ଟୁଲଗୁଡିକ ପାଇଁ ସମର୍ପିତ ସେଟିଙ୍ଗସ୍ API ରୁଟଗୁଡିକ ଅଛି:
|
||
|
||
| ରୁଟ | ଟୁଲ |
|
||
| ------------------------------------------- | -------------------------------------------------------------- |
|
||
| `POST /api/cli-tools/forge-settings` | ଫୋର୍ଜକୋଡ୍ (.forge.toml) |
|
||
| `POST /api/cli-tools/jcode-settings` | ଜେ-କୋଡ୍ (--base-url flag) |
|
||
| `POST /api/cli-tools/deepseek-tui-settings` | ଡିପସିକ ଟିୟୁଆଇ (OPENAI_BASE_URL, legacy) |
|
||
| `POST /api/cli-tools/codewhale-settings` | କୋଡୱାଲ୍ (OPENAI_BASE_URL, primary + legacy `~/.deepseek` sync) |
|
||
| `POST /api/cli-tools/smelt-settings` | ସ୍ମେଲ୍ଟ୍ |
|
||
| `POST /api/cli-tools/pi-settings` | ପାଇ କୋଡିଂ ଏଜେଣ୍ଟ |
|
||
| `POST /api/cli-tools/grok-build-settings` | ଗ୍ରୋକ୍ ବିଲ୍ଡ୍ (~/.grok/config.toml, `[model.omniroute]`) |
|
||
| `POST /api/cli-tools/qwen-settings` | କ୍ୱେନ୍ କୋଡ୍ (`~/.qwen/settings.json` + dedicated `.env` key) |
|
||
|
||
ସମସ୍ତ ରୁଟଗୁଡିକ ତ୍ରୁଟି ପ୍ରତିକ୍ରିୟା ପାଇଁ `sanitizeErrorMessage()` ବ୍ୟବହାର କରନ୍ତି (ହାର୍ଡ ନିୟମ #୧୨)।
|
||
|
||
---
|
||
|
||
## ୭. ଡ୍ୟାସବୋର୍ଡ ପୃଷ୍ଠ ଆର୍କିଟେକ୍ଚର
|
||
|
||
### CLI କୋଡ୍ (`/dashboard/cli-code`)
|
||
|
||
- `src/app/(dashboard)/dashboard/cli-code/page.tsx` — ସର୍ଭର କମ୍ପୋନେଣ୍ଟ
|
||
- `src/app/(dashboard)/dashboard/cli-code/CliCodePageClient.tsx` — କ୍ଲାଏଣ୍ଟ ଗ୍ରିଡ
|
||
- `src/app/(dashboard)/dashboard/cli-code/[id]/page.tsx` — ଟୁଲ ବିବରଣୀ ପୃଷ୍ଠ
|
||
- `src/app/(dashboard)/dashboard/cli-code/components/` — ୧୨ଟି ବିଶେଷତ୍ୱ ଟୁଲ କାର୍ଡ୍ + `ToolDetailClient.tsx`
|
||
|
||
### CLI ଏଜେଣ୍ଟ (`/dashboard/cli-agents`)
|
||
|
||
- `src/app/(dashboard)/dashboard/cli-agents/page.tsx` — ସର୍ଭର କମ୍ପୋନେଣ୍ଟ
|
||
- `src/app/(dashboard)/dashboard/cli-agents/CliAgentsPageClient.tsx` — କ୍ଲାଏଣ୍ଟ ଗ୍ରିଡ
|
||
- `src/app/(dashboard)/dashboard/cli-agents/[id]/page.tsx` — `ToolDetailClient` ପୁନଃବ୍ୟବହାର କରେ
|
||
|
||
### ACP ଏଜେଣ୍ଟ (`/dashboard/acp-agents`)
|
||
|
||
- `src/app/(dashboard)/dashboard/acp-agents/page.tsx` — ସର୍ଭର କମ୍ପୋନେଣ୍ଟ (ପୂର୍ବରୁ `agents/` ରୁ ସ୍ଥାନାନ୍ତରିତ)
|
||
|
||
### ସାଝା UI କମ୍ପୋନେଣ୍ଟ (`src/shared/components/cli/`)
|
||
|
||
| ଫାଇଲ | ଉଦ୍ଦେଶ୍ୟ |
|
||
| ----------------------- | ---------------------------------------------------- |
|
||
| `CliToolCard.tsx` | ସ୍ମାର୍ଟ ସ୍ଥିତି କାର୍ଡ୍ (ଚିହ୍ନଟ + କନ୍ଫିଗ୍ + ଏଣ୍ଡପଏଣ୍ଟ) |
|
||
| `CliConceptCard.tsx` | ପ୍ରତ୍ୟେକ ପୃଷ୍ଠ ଧାରଣା ବ୍ୟାଖ୍ୟା କାର୍ଡ୍ |
|
||
| `CliComparisonCard.tsx` | CLI ପ୍ରକାରଗୁଡିକ ମଧ୍ୟରେ ତିନି-ସ୍ତମ୍ଭ ତୁଳନା |
|
||
| `BaseUrlSelect.tsx` | ଏଣ୍ଡପଏଣ୍ଟ ଡ୍ରପଡାଉନ୍ (ସ୍ଥାନୀୟ/କ୍ଲାଉଡ୍/କଷ୍ଟମ) |
|
||
| `ApiKeySelect.tsx` | API କୀ ଚୟନକର୍ତ୍ତା |
|
||
| `ManualConfigModal.tsx` | କପି କରିବା ଯୋଗ୍ୟ କନ୍ଫିଗ୍ ସ୍ନିପେଟ୍ ମୋଡାଲ |
|
||
|
||
### ସାଝା ହୁକ୍ (`src/shared/hooks/cli/`)
|
||
|
||
| ଫାଇଲ | ଉଦ୍ଦେଶ୍ୟ |
|
||
| ------------------------- | ------------------------------------------------------------------------- |
|
||
| `useToolBatchStatuses.ts` | `/api/cli-tools/all-statuses` ଫେଚ୍ କରେ, ଲୋଡିଂ/ରିଫ୍ରେଶ ସ୍ଥିତି ପରିଚାଳନା କରେ |
|
||
|
||
---
|
||
|
||
## ୮. ଆଇ-୧୮-ଏନ
|
||
|
||
ପ୍ଲାନ ୧୪ ଏଫ୯ ରେ ନୂଆ ନେମସ୍ପେସ ଯୋଗ କରାଯାଇଛି:
|
||
|
||
| ନେମସ୍ପେସ | ଉଦ୍ଦେଶ୍ୟ |
|
||
| ----------- | --------------------------------------------------------------------- |
|
||
| `cliCommon` | ସାଝା ବାକ୍ୟାଂଶ (କାର୍ଡ ଲେବେଲ, ସଂକଳ୍ପ/ତୁଳନା ପାଠ୍ୟ, ବିସ୍ତାର ପୃଷ୍ଠା ଲେବେଲ) |
|
||
| `cliCode` | CLI କୋଡର ପୃଷ୍ଠା ବାକ୍ୟାଂଶ |
|
||
| `cliAgents` | CLI ଏଜେଣ୍ଟସ୍ ପୃଷ୍ଠା ବାକ୍ୟାଂଶ |
|
||
| `acpAgents` | ACP ଏଜେଣ୍ଟସ୍ ପୃଷ୍ଠା ବାକ୍ୟାଂଶ |
|
||
|
||
ସମ୍ପୂର୍ଣ୍ଣ PT-BR ଏବଂ EN ଅନୁବାଦ ଦିଆଯାଇଛି। ୩୯ ଟି ଅନ୍ୟ ଲୋକେଲ୍ `src/i18n/request.ts` ରେ ନେମସ୍ପେସସ୍ତର ମର୍ଜ ମାଧ୍ୟମରେ ସ୍ୱୟଂଚାଳିତ ଭାବରେ EN କୁ ପଛକୁ ପଳାଉଛନ୍ତି।
|
||
|
||
---
|
||
|
||
## ୯. ଦ୍ରୁତ ଆରମ୍ଭ
|
||
|
||
### ଧାପ ୧ — ଗୋଟିଏ OmniRoute API କୀ ପ୍ରାପ୍ତ କରନ୍ତୁ
|
||
|
||
1. `/dashboard/api-manager` ଖୋଲନ୍ତୁ → **API କୀ ସୃଷ୍ଟି କରନ୍ତୁ**
|
||
2. ଏକ ନାମ ଦିଅନ୍ତୁ (ଯେପରିକି `cli-tools`) ଏବଂ ସମସ୍ତ ଅନୁମତି ଚୟନ କରନ୍ତୁ
|
||
3. କୀ କପି କରନ୍ତୁ — ତଳେ ଥିବା ପ୍ରତ୍ୟେକ CLI ପାଇଁ ଆପଣଙ୍କୁ ଏହା ଆବଶ୍ୟକ ହେବ
|
||
|
||
> ଆପଣଙ୍କ କୀ ଏପରି ଦେଖାଯାଏ: `sk-xxxxxxxxxxxxxxxx-xxxxxxxxx`
|
||
|
||
---
|
||
|
||
### ଧାପ ୨ — CLI ଟୁଲସ୍ ସ୍ଥାପନ କରନ୍ତୁ
|
||
|
||
ସମସ୍ତ npm-ଆଧାରିତ ଟୁଲସ୍ Node.js 22.22.2+ କିମ୍ବା 24.x ଆବଶ୍ୟକ କରନ୍ତି:
|
||
|
||
```bash
|
||
# କ୍ଲାଉଡ୍ କୋଡ୍ (ଆନଥ୍ରୋପିକ)
|
||
npm install -g @anthropic-ai/claude-code
|
||
|
||
# ଓପନଏଆଇ କୋଡେକ୍ସ
|
||
npm install -g @openai/codex
|
||
|
||
# ଓପନକୋଡ୍
|
||
npm install -g opencode-ai
|
||
|
||
# କ୍ଲାଇନ୍
|
||
npm install -g cline
|
||
|
||
# କିଲୋକୋଡ୍
|
||
npm install -g kilocode
|
||
|
||
# କ୍ୱେନ୍ କୋଡ୍
|
||
npm install -g @qwen-code/qwen-code
|
||
|
||
# ଗୁଗଲ୍ ଜେମିନାଇ CLI (`omniroute run gemini` → /v1beta ସରଫେସ୍ ମାଧ୍ୟମରେ ଲଞ୍ଚ କରାଯାଇପାରିବ)
|
||
npm install -g @google/gemini-cli
|
||
|
||
# ଆଇଡର୍
|
||
pip install aider-chat
|
||
|
||
# ସ୍ମେଲ୍ଟ
|
||
cargo install smelt # ରଷ୍ଟ-ଆଧାରିତ
|
||
|
||
# ପାଇ କୋଡିଙ୍ଗ ଏଜେଣ୍ଟ
|
||
# ସ୍ଥାପନ ପାଇଁ https://github.com/zechnerj/pi-coding-agent ଦେଖନ୍ତୁ
|
||
|
||
# ଜେକୋଡ୍
|
||
# ସ୍ଥାପନ ପାଇଁ https://github.com/1jehuang/jcode ଦେଖନ୍ତୁ
|
||
```
|
||
|
||
---
|
||
|
||
### ଧାପ ୩ — ଡ୍ୟାସବୋର୍ଡ ମାଧ୍ୟମରେ କନଫିଗର କରନ୍ତୁ
|
||
|
||
1. `http://localhost:20128/dashboard/cli-code` କୁ ଯାନ୍ତୁ
|
||
2. ଗ୍ରିଡ୍ ରେ ଆପଣଙ୍କ ଟୁଲ୍ ଖୋଜନ୍ତୁ
|
||
3. ଟୁଲ୍ ବିସ୍ତାର ପୃଷ୍ଠା ଖୋଲିବାକୁ କାର୍ଡ ଉପରେ କ୍ଲିକ୍ କରନ୍ତୁ
|
||
4. ଆପଣଙ୍କ API କୀ ଏବଂ ମୂଳ URL ଚୟନ କରନ୍ତୁ
|
||
5. **କନଫିଗ୍ ପ୍ରୟୋଗ କରନ୍ତୁ** କ୍ଲିକ୍ କରନ୍ତୁ କିମ୍ବା ମାନୁଆଲ୍ କନଫିଗ୍ ସ୍ନିପେଟ୍ କପି କରନ୍ତୁ
|
||
|
||
---
|
||
|
||
### ଧାପ ୪ — ଗ୍ଲୋବାଲ୍ ପରିବେଶ ଭେରିଏବଲ୍ ସେଟ୍ କରନ୍ତୁ
|
||
|
||
```bash
|
||
# OmniRoute ସାର୍ବଜନୀନ ଏଣ୍ଡପଏଣ୍ଟ
|
||
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"
|
||
# ଜେମିନାଇ CLI ROOT ରେ GOOGLE_GEMINI_BASE_URL ପଢ଼େ (ଏହାର SDK ନିଜେ /v1beta/... ଯୋଗ କରେ)
|
||
export GOOGLE_GEMINI_BASE_URL="http://localhost:20128"
|
||
export GEMINI_API_KEY="sk-your-omniroute-key"
|
||
```
|
||
|
||
> ଏକ **ଦୂରସ୍ଥ ସର୍ଭର** ପାଇଁ `localhost:20128` କୁ ସର୍ଭର IP କିମ୍ବା ଡୋମେନ୍ ସହ ପରିବର୍ତ୍ତନ କରନ୍ତୁ,
|
||
> ଯେପରିକି `http://<your-server-ip>:20128`।
|
||
|
||
---
|
||
|
||
### ଧାପ ୪ — ପ୍ରତ୍ୟେକ ଟୁଲ୍ କନଫିଗର କରନ୍ତୁ
|
||
|
||
#### କ୍ଲାଉଡ୍ କୋଡ୍
|
||
|
||
```bash
|
||
# ~/.claude/settings.json ସୃଷ୍ଟି କରନ୍ତୁ:
|
||
mkdir -p ~/.claude && cat > ~/.claude/settings.json << EOF
|
||
{
|
||
"env": {
|
||
"ANTHROPIC_BASE_URL": "http://localhost:20128",
|
||
"ANTHROPIC_AUTH_TOKEN": "sk-your-omniroute-key"
|
||
}
|
||
}
|
||
EOF
|
||
```
|
||
|
||
କ୍ଲାଉଡ୍ କୋଡ୍ ପାଇଁ ଏକୀକୃତ ଆନଥ୍ରୋପିକ ଗେଟୱେ ମୂଳ ବ୍ୟବହାର କରନ୍ତୁ। ଏଠାରେ `/v1` ଯୋଗ କରନ୍ତୁ ନାହିଁ।
|
||
|
||
**ପରୀକ୍ଷା:** `claude "say hello"`
|
||
|
||
---
|
||
|
||
#### ଓପନଏଆଇ କୋଡେକ୍ସ
|
||
|
||
ଆଧୁନିକ କୋଡେକ୍ସ (v0.137+) କେବଳ `~/.codex/config.toml` ପଢ଼େ — ପୁରୁଣା
|
||
`config.yaml` ପୁରାତନ npm CLI ସହ ସମ୍ପର୍କିତ ଏବଂ ନିରବଚ୍ଛିନ୍ନ ଭାବରେ ଅଗ୍ରାହ୍ୟ କରାଯାଏ। API
|
||
କୀ `OMNIROUTE_API_KEY` ପରିବେଶ ଭେରିଏବଲ୍ (`env_key`) ରେ ରହେ, ଫାଇଲ୍ ଭିତରେ ନୁହେଁ:
|
||
|
||
```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"
|
||
```
|
||
|
||
ସମ୍ପୂର୍ଣ୍ଣ ରେଫରେନ୍ସ (ପ୍ରୋଫାଇଲ୍, `wire_api`, ସନ୍ଦର୍ଭ ୱିଣ୍ଡୋ): [CODEX-CLI-CONFIGURATION.md](../guides/CODEX-CLI-CONFIGURATION.md).
|
||
|
||
**ପରୀକ୍ଷା:** `codex "what is 2+2?"`
|
||
|
||
---
|
||
|
||
#### ଓପନକୋଡ୍
|
||
|
||
```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
|
||
```
|
||
|
||
**ପରୀକ୍ଷା:** `opencode`
|
||
|
||
> ଥଙ୍କିଙ୍ଗ୍ ଭେରିଆଣ୍ଟ ପଠାଇବାକୁ `opencode run "your prompt" --model omniroute/claude-sonnet-4-5-thinking --variant high`
|
||
> ବ୍ୟବହାର କରନ୍ତୁ।
|
||
|
||
---
|
||
|
||
#### କ୍ଲାଇନ୍ (CLI କିମ୍ବା VS Code)
|
||
|
||
**CLI ମୋଡ୍:**
|
||
|
||
```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 ମୋଡ୍:**
|
||
କ୍ଲାଇନ୍ ଏକ୍ସଟେନ୍ସନ୍ ସେଟିଂସ୍ → API ପ୍ରୋଭାଇଡର: `OpenAI Compatible` → ମୂଳ URL: `http://localhost:20128/v1`
|
||
|
||
କିମ୍ବା OmniRoute ଡ୍ୟାସବୋର୍ଡ → **CLI ଟୁଲସ୍ → କ୍ଲାଇନ୍ → କନଫିଗ୍ ପ୍ରୟୋଗ କରନ୍ତୁ** ବ୍ୟବହାର କରନ୍ତୁ।
|
||
|
||
---
|
||
|
||
#### କିଲୋକୋଡ୍ (CLI କିମ୍ବା VS Code)
|
||
|
||
**CLI ମୋଡ୍:**
|
||
|
||
```bash
|
||
kilocode --api-base http://localhost:20128/v1 --api-key sk-your-omniroute-key
|
||
```
|
||
|
||
**VS Code ସେଟିଂସ୍:**
|
||
|
||
```json
|
||
{
|
||
"kilo-code.openAiBaseUrl": "http://localhost:20128/v1",
|
||
"kilo-code.apiKey": "sk-your-omniroute-key"
|
||
}
|
||
```
|
||
|
||
କିମ୍ବା OmniRoute ଡ୍ୟାସବୋର୍ଡ → **CLI ଟୁଲସ୍ → କିଲୋକୋଡ୍ → କନଫିଗ୍ ପ୍ରୟୋଗ କରନ୍ତୁ** ବ୍ୟବହାର କରନ୍ତୁ।
|
||
|
||
---
|
||
|
||
#### କଣ୍ଟିନ୍ୟୁ (VS Code ଏକ୍ସଟେନ୍ସନ୍)
|
||
|
||
`~/.continue/config.yaml` ସମ୍ପାଦନା କରନ୍ତୁ:
|
||
|
||
```yaml
|
||
models:
|
||
- name: OmniRoute
|
||
provider: openai
|
||
model: auto
|
||
apiBase: http://localhost:20128/v1
|
||
apiKey: sk-your-omniroute-key
|
||
default: true
|
||
```
|
||
|
||
ସମ୍ପାଦନା ପରେ VS Code ପୁନଃଆରମ୍ଭ କରନ୍ତୁ।
|
||
|
||
---
|
||
|
||
#### VS Code Insiders (`chatLanguageModels.json`)
|
||
|
||
VS Code Insiders କୁ କଷ୍ଟମ୍ ଏଣ୍ଡପଏଣ୍ଟ ମଡେଲ୍ ପାଇଁ କନଫିଗର କରାଯାଇଥିବା ସମୟରେ ଏବଂ ଆପଣ କୌଣସି କଷ୍ଟମ୍ ହେଡର୍ ଫିଲ୍ଡ୍ ବିନା OmniRoute କାମ କରିବାକୁ ଚାହାଁନ୍ତି ସେତେବେଳେ ଏହା ବ୍ୟବହାର କରନ୍ତୁ।
|
||
|
||
**ସୁପାରିଶ କରାଯାଇଥିବା ସ୍ଥାନ:**
|
||
|
||
- ଲିନକ୍ସ: `~/.config/Code - Insiders/User/chatLanguageModels.json`
|
||
- ୱିଣ୍ଡୋଜ୍: `%APPDATA%/Code - Insiders/User/chatLanguageModels.json`
|
||
|
||
**ଟୋକେନ୍ କରାଯାଇଥିବା OmniRoute ଉପନାମ ବ୍ୟବହାର କରି ଉଦାହରଣ:**
|
||
|
||
```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"
|
||
}
|
||
}
|
||
]
|
||
```
|
||
|
||
**ନୋଟ୍:**
|
||
|
||
- `sk-your-omniroute-key` କୁ OmniRoute ରେ ସୃଷ୍ଟି କରାଯାଇଥିବା API କୀ ସହ ପରିବର୍ତ୍ତନ କରନ୍ତୁ।
|
||
- `url` ଫିଲ୍ଡ୍ `/api/v1/vscode/{token}/chat/completions` କୁ ଇଙ୍ଗିତ କରିବା ଉଚିତ୍।
|
||
- `modelsUrl` ଫିଲ୍ଡ୍ `/api/v1/vscode/{token}/models` କୁ ଇଙ୍ଗିତ କରିବା ଉଚିତ୍।
|
||
- କ୍ଲାଏଣ୍ଟ୍ କଷ୍ଟମ୍ ହେଡର୍ ସମର୍ଥନ କରୁଥିବା ସମୟରେ ସାଧାରଣ `/v1` + Bearer ହେଡର୍ ଫ୍ଲୋ ପ୍ରାଥମିକତା ଦିଅନ୍ତୁ।
|
||
- URL-ଏମ୍ବେଡେଡ୍ ଟୋକେନ୍ ଏକ ସାମ୍ପ୍ରତିକତା ଫଲବ୍ୟାକ୍ ଏବଂ ସମ୍ପାଦକ ଲଗ୍ କିମ୍ବା ପ୍ରକ୍ସି ଇତିହାସରେ ଦେଖାଯାଇପାରେ।
|
||
|
||
---
|
||
|
||
#### କିରୋ CLI (ଆମାଜନ୍)
|
||
|
||
```bash
|
||
# ଆପଣଙ୍କ AWS/କିରୋ ଆକାଉଣ୍ଟ୍ ରେ ଲଗିନ୍ କରନ୍ତୁ:
|
||
kiro-cli login
|
||
|
||
# CLI ନିଜର ପ୍ରମାଣୀକରଣ ବ୍ୟବହାର କରେ — କିରୋ CLI ନିଜ ପାଇଁ OmniRoute ପୃଷ୍ଠଭୂମି ହିସାବରେ ଆବଶ୍ୟକ ନୁହେଁ।
|
||
# ଅନ୍ୟ ଟୁଲସ୍ ପାଇଁ OmniRoute ସହ କିରୋ-cli ବ୍ୟବହାର କରନ୍ତୁ।
|
||
kiro-cli status
|
||
```
|
||
|
||
**କିରୋ IDE** ଡେସ୍କଟପ୍ ଆପ୍ ପାଇଁ, OmniRoute ଦ୍ୱାରା ପ୍ରଦାନ କରାଯାଇଥିବା MITM ଏଣ୍ଡପଏଣ୍ଟ ବ୍ୟବହାର କରନ୍ତୁ
|
||
`/dashboard/cli-tools → କିରୋ` ଅଧୀନରେ।
|
||
|
||
---
|
||
|
||
## 10. ଆଭ୍ୟନ୍ତରିକ OmniRoute CLI
|
||
|
||
`omniroute` ବାଇନାରୀ ସର୍ଭର ଜୀବନଚକ୍ର, ସେଟଅପ୍, ଡାଗ୍ନୋଷ୍ଟିକ୍ସ, ଏବଂ ପ୍ରୋଭାଇଡର୍ ପରିଚାଳନା ପାଇଁ କମାଣ୍ଡ ପ୍ରଦାନ କରେ। ଏଣ୍ଟ୍ରି ପଏଣ୍ଟ: `bin/omniroute.mjs`।
|
||
|
||
```bash
|
||
omniroute # ସର୍ଭର ଆରମ୍ଭ କରନ୍ତୁ (ଡିଫଲ୍ଟ ପୋର୍ଟ 20128)
|
||
omniroute setup # ଇଣ୍ଟରାକ୍ଟିଭ୍ ସେଟଅପ୍ ଉଇଜାର୍ଡ
|
||
omniroute doctor # କନଫିଗ୍, ଡିବି, ପୋର୍ଟ, ରନଟାଇମ୍ ଯାଞ୍ଚ କରନ୍ତୁ
|
||
omniroute providers list # କନଫିଗର୍ କରାଯାଇଥିବା ପ୍ରୋଭାଇଡର୍ ସଂଯୋଗ
|
||
omniroute providers test-all # ପ୍ରତ୍ୟେକ ସକ୍ରିୟ ସଂଯୋଗ ପରୀକ୍ଷା କରନ୍ତୁ
|
||
omniroute reset-password # ଆଡମିନ୍ ପାସୱାର୍ଡ ରିସେଟ୍ କରନ୍ତୁ
|
||
omniroute logs # ଅନୁରୋଧ ଲଗ୍ ଷ୍ଟ୍ରିମ୍ କରନ୍ତୁ
|
||
omniroute health # ବିସ୍ତୃତ ସ୍ୱାସ୍ଥ୍ୟ (ବ୍ରେକର୍ସ, କ୍ୟାଶ୍, ମେମୋରୀ)
|
||
omniroute --version # ସଂସ୍କରଣ ପ୍ରିଣ୍ଟ କରନ୍ତୁ
|
||
omniroute --help # ସମସ୍ତ କମାଣ୍ଡ ଦେଖାନ୍ତୁ
|
||
```
|
||
|
||
### ସେଟଅପ୍ ଏବଂ ଇନିସିଆଲାଇଜେସନ୍
|
||
|
||
```bash
|
||
omniroute setup # ଇଣ୍ଟରାକ୍ଟିଭ୍ ସେଟଅପ୍ ଉଇଜାର୍ଡ
|
||
omniroute setup --non-interactive # CI/ଅଟୋମେସନ୍ ମୋଡ୍ (ଏନଭାୟାର୍ଣ୍ଣମେଣ୍ଟ ଭେରିଆବଲ୍ସ + ଫ୍ଲାଗ୍ସ ପଢ଼େ)
|
||
omniroute setup --password '<value>' # ସିଧାସଳଖ ଆଡମିନ୍ ପାସୱାର୍ଡ ସେଟ୍ କରନ୍ତୁ
|
||
omniroute setup --add-provider \
|
||
--provider openai \
|
||
--api-key '<value>' \
|
||
--test-provider # ଏକ ସୁଟ୍ ରେ ଏକ ପ୍ରୋଭାଇଡର୍ ଯୋଗ ଏବଂ ପରୀକ୍ଷା କରନ୍ତୁ
|
||
```
|
||
|
||
ନନ୍-ଇଣ୍ଟରାକ୍ଟିଭ୍ ସେଟଅପ୍ ପାଇଁ ଚିହ୍ନିତ ଏନଭାୟାର୍ଣ୍ଣମେଣ୍ଟ ଭେରିଆବଲ୍ସ:
|
||
|
||
| ଭେରିଆବଲ୍ | ଉଦ୍ଦେଶ୍ୟ |
|
||
| ------------------- | ---------------------------------------------------------------------------- |
|
||
| `OMNIROUTE_API_KEY` | ପ୍ରୋଭାଇଡର୍ API କୀ (Commander `.env()` ଦ୍ୱାରା `--api-key` ସହ ବାଇଣ୍ଡ କରାଯାଇଛି) |
|
||
| `DATA_DIR` | OmniRoute ଡାଟା ଡାଇରେକ୍ଟୋରୀ ଓଭରରାଇଡ୍ କରନ୍ତୁ |
|
||
|
||
ଅନ୍ୟ ସମସ୍ତ ନନ୍-ଇଣ୍ଟରାକ୍ଟିଭ୍ ଇନପୁଟ୍ସ ଏନଭାୟାର୍ଣ୍ଣମେଣ୍ଟ ଭେରିଆବଲ୍ସ ନୁହେଁ, ଫ୍ଲାଗ୍ସ ରେ ପାରିତ ହୁଏ:
|
||
`--password`, `--provider`, `--provider-name`, `--provider-base-url`, `--default-model`
|
||
(ଉପରେ `omniroute setup` ବିକଳ୍ପ ଦେଖନ୍ତୁ)।
|
||
|
||
### ଡାଗ୍ନୋଷ୍ଟିକ୍ସ
|
||
|
||
```bash
|
||
omniroute doctor # କନଫିଗ୍, ଡିବି, ପୋର୍ଟ, ରନଟାଇମ୍, ମେମୋରୀ, ଲାଇଭ୍ନେସ୍ ଯାଞ୍ଚ କରନ୍ତୁ
|
||
omniroute doctor --json # ମେସିନ୍-ରିଡେବଲ୍ JSON
|
||
omniroute doctor --no-liveness # HTTP ସ୍ୱାସ୍ଥ୍ୟ ପ୍ରୋବ୍ ସ୍କିପ୍ କରନ୍ତୁ
|
||
omniroute doctor --host 0.0.0.0 # ଲାଇଭ୍ନେସ୍ ହୋଷ୍ଟ ଓଭରରାଇଡ୍ କରନ୍ତୁ
|
||
omniroute doctor --liveness-url <url> # ସମ୍ପୂର୍ଣ୍ଣ ସ୍ୱାସ୍ଥ୍ୟ ଏଣ୍ଡପଏଣ୍ଟ URL ଓଭରରାଇଡ୍
|
||
```
|
||
|
||
ଡାକ୍ତର ଏହି ଯାଞ୍ଚଗୁଡ଼ିକ ଚଲାଏ: `Config`, `Database`, `Storage/encryption`,
|
||
`Port availability`, `Node runtime`, `Native binary` (better-sqlite3),
|
||
`Memory`, ଏବଂ `Server liveness`। ଯଦି ଯେକୌଣସି ଯାଞ୍ଚ `fail` ହୁଏ, ତେବେ ଏହା ନନ୍-ଜିରୋ ସହ ବାହାରେ।
|
||
|
||
### ପ୍ରୋଭାଇଡର୍ ପରିଚାଳନା
|
||
|
||
```bash
|
||
omniroute providers available # OmniRoute ପ୍ରୋଭାଇଡର୍ କ୍ୟାଟାଲଗ୍
|
||
omniroute providers available --search openai # id/name/alias/category ଦ୍ୱାରା କ୍ୟାଟାଲଗ୍ ଫିଲ୍ଟର୍ କରନ୍ତୁ
|
||
omniroute providers available --category api-key # କ୍ୟାଟାଗୋରୀ ଦ୍ୱାରା ଫିଲ୍ଟର୍ କରନ୍ତୁ (api-key, oauth, free, ...)
|
||
omniroute providers available --json # ମେସିନ୍-ରିଡେବଲ୍ JSON
|
||
|
||
omniroute providers list # କନଫିଗର୍ କରାଯାଇଥିବା ପ୍ରୋଭାଇଡର୍ ସଂଯୋଗ
|
||
omniroute providers list --json
|
||
|
||
omniroute providers test <id|name> # ଗୋଟିଏ କନଫିଗର୍ କରାଯାଇଥିବା ସଂଯୋଗ ପରୀକ୍ଷା କରନ୍ତୁ
|
||
omniroute providers test-all # ପ୍ରତ୍ୟେକ ସକ୍ରିୟ ସଂଯୋଗ ପରୀକ୍ଷା କରନ୍ତୁ
|
||
omniroute providers validate # କେବଳ ଲୋକାଲ୍ ଷ୍ଟ୍ରକ୍ଚରାଲ୍ ଭାଲିଡେସନ୍
|
||
omniroute providers add <provider> --credential-env PROVIDER_KEY
|
||
omniroute providers import ./providers.json --dry-run --json
|
||
omniroute providers auth <provider> # ସ୍ଥାପିତ OAuth ଫ୍ଲୋ
|
||
omniroute providers edit <id|name> --default-model <model>
|
||
omniroute providers remove <id|name> --yes
|
||
```
|
||
|
||
`providers add/import/auth/edit/remove` API-ପ୍ରଥମ ଏବଂ ତେଣୁ ସକ୍ରିୟ ଲୋକାଲ୍ ବା ରିମୋଟ୍ କଣ୍ଟେକ୍ସ୍ଟ ବିରୁଦ୍ଧରେ କାମ କରେ।
|
||
କ୍ରେଡେନ୍ସିଆଲ୍ ଇନପୁଟ୍ ବ୍ୟବହାର କରିବା ଉଚିତ୍
|
||
`--credential-stdin` ବା `--credential-env`; `--dry-run --json` କେବଳ
|
||
ରେଡାକ୍ଟେଡ୍ ଉପସ୍ଥିତି/ଆକୃତି ରିପୋର୍ଟ କରେ। `providers available` OmniRoute କ୍ୟାଟାଲଗ୍ ପଢ଼େ;
|
||
`providers list/test/test-all/validate` ସେମାନଙ୍କ ସ୍ଥାନୀୟ SQLite ଆଚରଣ ବଜାୟ ରଖନ୍ତି ଏବଂ
|
||
ସର୍ଭର ଚାଲୁଥିବା ଆବଶ୍ୟକ କରେ ନାହିଁ।
|
||
|
||
### ରିକଭରୀ ଏବଂ ରିସେଟ୍
|
||
|
||
```bash
|
||
omniroute reset-password # ଆଡମିନ୍ ପାସୱାର୍ଡ ରିସେଟ୍ କରନ୍ତୁ (ଏହି ସାଙ୍ଗରେ: omniroute-reset-password)
|
||
omniroute reset-encrypted-columns # ଏନ୍କ୍ରିପ୍ଟେଡ୍ କ୍ରେଡେନ୍ସିଆଲ୍ ରିସେଟ୍ ପାଇଁ ସତର୍କତା + ଡ୍ରାଏ-ରନ୍ ଦେଖାନ୍ତୁ
|
||
omniroute reset-encrypted-columns --force # SQLite ରେ ଏନ୍କ୍ରିପ୍ଟେଡ୍ କ୍ରେଡେନ୍ସିଆଲ୍ସ ପ୍ରକୃତରେ null କରନ୍ତୁ
|
||
```
|
||
|
||
### କ୍ରେଡେନ୍ସିଆଲ୍ ଏକ୍ସପୋର୍ଟ (⚠ ସମ୍ଭାଳର ସହ ହ୍ୟାଣ୍ଡେଲ୍ କରନ୍ତୁ)
|
||
|
||
```bash
|
||
omniroute auth export # ସତର୍କତା + ନିଶ୍ଚିତକରଣ ଗେଟ୍ ଦେଖାନ୍ତୁ — ଡିବି ପ୍ରବେଶ ନାହିଁ
|
||
omniroute auth export --force # ସମସ୍ତ ସଂଯୋଗର DECRYPTED କ୍ରେଡେନ୍ସିଆଲ୍ସ stdout କୁ JSON ରେ ଏକ୍ସପୋର୍ଟ କରନ୍ତୁ
|
||
omniroute auth export --force --id <id> # କେବଳ ମ୍ୟାଚିଂ ସଂଯୋଗ ଏକ୍ସପୋର୍ଟ କରନ୍ତୁ
|
||
omniroute auth export --force --format env # OMNIROUTE_<PROVIDER>_<FIELD>=<value> ଲାଇନ୍ସ ଉତ୍ପାଦନ କରନ୍ତୁ
|
||
omniroute auth export --force --out creds.json # ଫାଇଲ୍ ରେ ଲେଖନ୍ତୁ (0600 ଅନୁମତି ସହ ସୃଷ୍ଟି)
|
||
```
|
||
|
||
`auth export` **କେବଳ ଲୋକାଲ୍** (ସିଧାସଳଖ SQLite ପଢ଼ା, HTTP ରୁଟ୍ ନାହିଁ) ଏବଂ ସଚେତନତାର ସହ
|
||
**ପ୍ଲେନ୍ଟେକ୍ସ୍ଟ** `apiKey`/`accessToken`/`refreshToken`/`idToken` ମୂଲ୍ୟଗୁଡ଼ିକ ପ୍ରିଣ୍ଟ୍/ଲେଖେ — ଏହା ଫିଚର୍, ଦୋଷ ନୁହେଁ।
|
||
`--force` ବିନା ଡାଟାବେସ୍ ରୁ କିଛି ପଢ଼ାଯାଏ ନାହିଁ, ଏବଂ କିଛି ଡିକ୍ରିପ୍ଟ୍ ହୁଏ ନାହିଁ।
|
||
ପ୍ଲେନ୍ଟେକ୍ସ୍ଟ ଉତ୍ପାଦନ ହେବା ପୂର୍ବରୁ ସର୍ବଦା ଏକ stderr ସତର୍କତା ବ୍ୟାନର ପ୍ରିଣ୍ଟ୍ ହୁଏ।
|
||
`STORAGE_ENCRYPTION_KEY` ସେଟ୍ ଥିବା ଆବଶ୍ୟକ। ଯେଉଁ ଫିଲ୍ଡ୍ ଡିକ୍ରିପ୍ଟ୍ ହେବାରେ ବିଫଳ ହୁଏ (ସ୍ଥାସ୍ଥ କୀ, ଦୂଷିତ ସାଇଫରଟେକ୍ସ୍ଟ), ତାହା
|
||
ସମଗ୍ର ଏକ୍ସପୋର୍ଟ ବନ୍ଦ ନ କରି ବା ଅନ୍ତର୍ନିହିତ ତ୍ରୁଟି ଲିକ୍ ନ କରି `<field>DecryptFailed: true` ଭାବରେ ରିପୋର୍ଟ ହୁଏ।
|
||
|
||
### ଅନ୍ୟ ସବ୍କମାଣ୍ଡସ୍
|
||
|
||
ଯେମ୍ ଯେମିତି ନୋଟ୍ କରାନାହିଁ, ଏହିଗୁଡ଼ିକ ଏକ ଚାଲୁଥିବା OmniRoute ସର୍ଭର ଅନୁମାନ କରେ:
|
||
|
||
```bash
|
||
omniroute status # ବିସ୍ତୃତ ରନଟାଇମ୍ ସ୍ଥିତି
|
||
omniroute logs # ଅନୁରୋଧ ଲଗ୍ ଷ୍ଟ୍ରିମ୍ କରନ୍ତୁ (--json, --search, --follow)
|
||
omniroute config show # ବର୍ତ୍ତମାନ କନଫିଗୁରେସନ୍ ପ୍ରଦର୍ଶନ କରନ୍ତୁ
|
||
|
||
omniroute provider list # ଉପलବ୍ଧ ପ୍ରୋଭାଇଡର୍ସ ତାଲିକା (providers list ର ଉପନାମ)
|
||
omniroute provider add # ଏକ ଟୁଲ୍ ରେ OmniRoute କୁ ପ୍ରୋଭାଇଡର୍ ଭାବରେ ରେଜିଷ୍ଟର୍ କରନ୍ତୁ
|
||
omniroute keys add | list | remove # API କୀସ୍ ପରିଚାଳନା କରନ୍ତୁ
|
||
omniroute models [provider] # ମୋଡେଲ୍ସ ତାଲିକା (--json, --search)
|
||
omniroute combo list | switch | create | delete
|
||
|
||
omniroute backup # କନଫିଗ୍ + ଡିବି ସ୍ନାପଶଟ୍
|
||
omniroute restore # ପୂର୍ବବର୍ତ୍ତୀ ସ୍ନାପଶଟ୍ ରୁ ରିଷ୍ଟୋର୍ କରନ୍ତୁ
|
||
|
||
omniroute health # ବିସ୍ତୃତ ସ୍ୱାସ୍ଥ୍ୟ (ବ୍ରେକର୍ସ, କ୍ୟାଶ୍, ମେମୋରୀ)
|
||
omniroute quota # ପ୍ରୋଭାଇଡର୍ କ୍ୱୋଟା ବ୍ୟବହାର
|
||
omniroute cache # କ୍ୟାଶ୍ ସ୍ଥିତି
|
||
omniroute cache clear # ସିମାଣ୍ଟିକ୍ + ସିଗନେଚର୍ କ୍ୟାଶ୍ ପରିଷ୍କାର କରନ୍ତୁ
|
||
|
||
omniroute mcp status | restart # MCP ସର୍ଭର ସ୍ଥିତି / ରିଷ୍ଟାର୍ଟ
|
||
omniroute a2a status | card # A2A ସର୍ଭର ସ୍ଥିତି / ଏଜେଣ୍ଟ କାର୍ଡ
|
||
|
||
omniroute tunnel list | create | stop # ଟନେଲ୍ସ ପରିଚାଳନା କରନ୍ତୁ (cloudflare/tailscale/ngrok)
|
||
omniroute env show | get <k> | set <k> <v> # env vars ନିରୀକ୍ଷଣ / ସେଟ୍ କରନ୍ତୁ (ଅସ୍ଥାୟୀ)
|
||
|
||
omniroute test # ପ୍ରୋଭାଇଡର୍ ସଂଯୋଗକ୍ଷମତା ସ୍ମୋକ୍ ପରୀକ୍ଷା
|
||
omniroute update # ଅପଡେଟ୍ସ ପାଇଁ ଯାଞ୍ଚ କରନ୍ତୁ
|
||
omniroute completion # ଶେଲ୍ କମ୍ପ୍ଲେସନ୍ ସୃଷ୍ଟି କରନ୍ତୁ
|
||
```
|
||
|
||
### ସାଧାରଣ ଫ୍ଲାଗ୍ସ
|
||
|
||
| ଫ୍ଲାଗ୍ | ବର୍ଣ୍ଣନା |
|
||
| --------------------------------------------------- | -------------------------------------------------------- |
|
||
| `--no-open` | ଆରମ୍ଭରେ ବ୍ରାଉଜର୍ ସ୍ୱୟଂଚାଳିତ ନ ଖୋଲନ୍ତୁ |
|
||
| `--port <n>` | API ପୋର୍ଟ ଓଭରରାଇଡ୍ କରନ୍ତୁ (ଡିଫଲ୍ଟ 20128) |
|
||
| `--mcp` | stdio ରେ MCP ସର୍ଭର ଭାବରେ ଚଲାନ୍ତୁ (IDEs ପାଇଁ) |
|
||
| `--non-interactive` | CI ମୋଡ୍ (ପ୍ରମ୍ପ୍ଟ ନାହିଁ; env/flags ରୁ ପଢ଼େ) |
|
||
| `--json` | ମେସିନ୍-ରିଡେବଲ୍ JSON ଆଉଟପୁଟ୍ (doctor, providers, ଇତ୍ୟାଦି) |
|
||
| `--help`, `-h` | କମାଣ୍ଡ-ନିର୍ଦ୍ଦିଷ୍ଟ ସାହାୟ୍ୟ ଦେଖାନ୍ତୁ |
|
||
| `--version`, `-v` │ ସ୍ଥାପିତ ସଂସ୍କରଣ ପ୍ରିଣ୍ଟ୍ କରନ୍ତୁ |
|
||
|
||
---
|
||
|
||
## ଉପଲବ୍ଧ API ଏଣ୍ଡପଏଣ୍ଟଗୁଡିକ
|
||
|
||
| ଏଣ୍ଡପଏଣ୍ଟ | ବର୍ଣ୍ଣନା | ବ୍ୟବହାରର ଉଦ୍ଦେଶ୍ୟ |
|
||
| -------------------------- | ---------------------------------- | -------------------------------------- |
|
||
| `/v1/chat/completions` | ଷ୍ଟାଣ୍ଡାର୍ଡ ଚାଟ (ସମସ୍ତ ପ୍ରଦାନକାରୀ) | ସମସ୍ତ ଆଧୁନିକ ଟୁଲ୍ସ |
|
||
| `/v1/responses` | ରେସପନ୍ସ API (OpenAI ଫର୍ମାଟ୍) | Codex, agentic workflows |
|
||
| `/v1/completions` | ପୁରାତନ ଟେକ୍ସଟ୍ ସମ୍ପୂର୍ଣ୍ଣତା | `prompt:` ବ୍ୟବହାର କରୁଥିବା ପୁରାତନ ଟୁଲ୍ସ |
|
||
| `/v1/embeddings` | ଟେକ୍ସଟ୍ ଏମ୍ବେଡିଙ୍ଗ୍ସ | RAG, search |
|
||
| `/v1/images/generations` | ଛବି ସୃଷ୍ଟି | GPT-Image, Flux, etc. |
|
||
| `/v1/audio/speech` | ଟେକ୍ସଟ୍-ଟୁ-ସ୍ପିଚ୍ | ElevenLabs, OpenAI TTS |
|
||
| `/v1/audio/transcriptions` | ସ୍ପିଚ୍-ଟୁ-ଟେକ୍ସଟ୍ | Deepgram, AssemblyAI |
|
||
|
||
ଏକ ଟୋକେନାଇଜ୍ କରାଯାଇଥିବା OmniRoute URL ସହ ପେଷ୍ଟ କରିବାକୁ ପ୍ରସ୍ତୁତ ଉଦାହରଣ:
|
||
|
||
```txt
|
||
ଟୋକେନ୍ ଉଦାହରଣ: sk-a3ab3c080beaee3a-69f4a4-070d71af
|
||
|
||
ମାନକ OpenAI ବେସ୍: http://localhost:20128/v1
|
||
VS Code ମଡେଲ୍ସ: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/models
|
||
VS Code ଚାଟ୍: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/chat/completions
|
||
VS Code ରେସପନ୍ସ: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/responses
|
||
Ollama ଟ୍ୟାଗ୍ସ: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/api/tags
|
||
Ollama ଚାଟ୍: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/api/chat
|
||
```
|
||
|
||
---
|
||
|
||
## ସମସ୍ୟା ସମାଧାନ
|
||
|
||
| ତ୍ରୁଟି | କାରଣ | ସମାଧାନ |
|
||
| ----------------------------------------------- | --------------------------- | ------------------------------------------------------------- |
|
||
| `Connection refused` | OmniRoute ଚାଲୁ ନାହିଁ | `omniroute serve` |
|
||
| `401 Unauthorized` | ଭୁଲ API କୀ | `/dashboard/api-manager` ରେ ଯାଞ୍ଚ କରନ୍ତୁ |
|
||
| `No combo configured` | ସକ୍ରିୟ ରୁଟିଙ୍ଗ୍ କମ୍ବୋ ନାହିଁ | `/dashboard/combos` ରେ ସେଟ୍ ଅପ୍ କରନ୍ତୁ |
|
||
| CLI "ଇନ୍ଷ୍ଟଲ୍ ହୋଇନାହିଁ" ଦେଖାଏ | ବାଇନାରୀ PATH ରେ ନାହିଁ | `which <command>` ଯାଞ୍ଚ କରନ୍ତୁ |
|
||
| ଇନ୍ଷ୍ଟଲ୍ ପରେ ଡ୍ୟାସବୋର୍ଡ "ଚିହ୍ନଟ ହୋଇନାହିଁ" ଦେଖାଏ | କ୍ୟାଚ୍ ପୁରାତନ | ଡ୍ୟାସବୋର୍ଡରେ "⟳ Refresh detection" କ୍ଲିକ୍ କରନ୍ତୁ |
|
||
| ପୁରାତନ ଲିଙ୍କ୍ `/dashboard/cli-tools` | v3.8.6 ପୂର୍ବରୁ ବୁକ୍ମାର୍କ | `/dashboard/cli-code` (308) କୁ ସ୍ୱୟଂଚାଳିତ ରିଡାଇରେକ୍ଟ୍ |
|
||
| ପୁରାତନ ଲିଙ୍କ୍ `/dashboard/agents` | v3.8.6 ପୂର୍ବରୁ ବୁକ୍ମାର୍କ | `/dashboard/acp-agents` (308) କୁ ସ୍ୱୟଂଚାଳିତ ରିଡାଇରେକ୍ଟ୍ (308) |
|