🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇧🇦 bs · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW
Ang OmniRoute ay may kasamang pamilya ng mga setup-* na command na nagko-configure ng coding CLI (Codex, Claude Code, OpenCode, Cline, …) upang gamitin ang OmniRoute bilang backend nito — kaya ang tool ay nakikipag-ugnayan sa isang endpoint at ang OmniRoute ang nagruruta sa tamang provider na may auto-fallback. Bawat command ay nagbabasa ng live na catalog ng modelo mula sa isang tumatakbong OmniRoute (lokal o remote) at isinusulat ang sariling config file ng tool sa iyong makina. Ang API key ay tinutukoy ng isang environment variable kung saan sinusuportahan ito ng tool. Ang mga command na nagpapanatili ng tool-local na environment file ay nakasaad sa ibaba.
Mayroon ding generic launcher — omniroute run <target> — na naglulunsad ng claude, codex, aider, goose, opencode, qwen o gemini na may tamang env na na-inject, nang hindi nagsusulat ng anumang config. Ang mga target at ang kanilang mga alias ay nagmumula sa canonical manifest bin/cli/cli-manifest.mjs (claude-code|cc|anthropic, codex-cli|openai-codex|openai, goose-cli, open-code, qwen-code, gemini-cli), at ang omniroute completion ay nag-aalok ng parehong manifest-derived na target words. Ang mga legacy na per-tool launcher — omniroute launch (Claude Code) at omniroute launch-codex (Codex) — ay nananatiling available.
Ang provider onboarding ay available mula sa parehong lokal/remote na konteksto. Ang mga API-first na command sa ibaba ay naghihiwalay ng management authentication mula sa provider credentials at hindi kailanman nagpi-print ng credential sa structured output:
omniroute providers add glm --credential-env GLM_API_KEY --name work
omniroute providers import ./providers.json --dry-run --json
omniroute providers auth openai
omniroute providers edit <connection-id> --default-model glm/glm-5.2
omniroute providers remove <connection-id> --yesPara sa mga script, mas mainam ang --credential-stdin o --credential-env; ang --credential ay pinanatili para sa kontroladong lokal na paggamit. Ang providers remove ay nangangailangan ng --yes sa isang non-interactive terminal, at lahat ng limang command ay sumusunod sa aktibong konteksto o sa global na --base-url/--api-key na opsyon.
Ang mga provider selector ay tumatanggi sa mga malabong ID prefix, pangalan o pangalan ng provider; gumamit ng buong connection ID kapag maraming koneksyon ang tumutugma. Ang mga create at edit command ay nagbabasa pabalik ng naka-save na koneksyon, at tinitiyak ng pagtanggal na hindi na ito nababasa. Ang isang import ay nilalaktawan ang isang umiiral na provider/name pair. Ang mga na-import na entry ay hindi maaaring mag-override sa management endpoint, konteksto o management credentials na ibinigay sa CLI.
Para sa isang beses, hand-written na base setup ng dalawang pinakamayamang integrasyon, tingnan ang mga per-tool deep dive:
- Konfigurasyon ng Claude Code
- Konfigurasyon ng Codex CLI
- Remote Mode — patakbuhin ang isang remote na OmniRoute (VPS / Tailnet) mula sa iyong laptop
- VS Code Copilot Chat — ang OmniCopilot extension; maaari rin nitong patakbuhin ang mga
setup-*na command na ito para sa iyo mula sa loob ng editor
Sinusunod ng bawat command ang aktibong konteksto (itinakda gamit ang omniroute connect, tingnan ang
Remote Mode) o ang mga tahasang flag na --remote <url> --api-key <key>.
Ang ibig sabihin ng "Lokal kumpara sa remote" sa ibaba ay: kapag walang mga flag, tina-target nito ang http://localhost:20128;
kapag may --remote (o aktibong remote na konteksto), kinukuha nito ang katalogo mula sa
server na iyon at lokal na isinusulat ang config.
| Command | Tool | Isinusulat nito | Mga pangunahing flag | Lokal vs remote |
|---|---|---|---|---|
omniroute setup-codex |
OpenAI Codex CLI | ~/.codex/<name>.config.toml — isang profile para sa bawat katugmang text model (codex --profile <name>) |
--remote --api-key --only --dry-run --port --codex-home |
Pareho |
omniroute setup-claude |
Claude Code | ~/.claude/profiles/<name>/settings.json — isang profile para sa bawat katugmang model (CLAUDE_CONFIG_DIR) |
--remote --api-key --only --dry-run --port --claude-home |
Pareho |
omniroute setup-opencode |
OpenCode (openai-compatible) | ~/.config/opencode/opencode.json — omniroute provider na may bawat model sa catalog (opencode -m omniroute/<model>) |
--remote --api-key --only --model --dry-run --port |
Pareho |
omniroute setup-cline |
Cline | ~/.cline/data/{globalState,secrets}.json (CLI mode) + ipinapakita ang mga setting ng VS Code extension |
--remote --api-key --model --yes --dry-run --port --cline-dir |
Pareho |
omniroute setup-kilo |
Kilo Code | ~/.local/share/kilo/auth.json (CLI) + pinagsasama ang kilocode.* sa settings.json ng VS Code kung mayroon |
--remote --api-key --model --yes --dry-run --port --auth-path --vscode-settings |
Pareho |
omniroute setup-continue |
Continue / cn CLI |
~/.continue/config.yaml — mga model na may provider: openai, key sa pamamagitan ng ${{ secrets.OMNIROUTE_API_KEY }} |
--remote --api-key --only --dry-run --port --config-path |
Pareho |
omniroute setup-cursor |
Cursor | Wala — ipinapakita ang mga hakbang sa loob ng app (opaque na SQLite ang config ng Cursor) | --remote --api-key --only --port |
Pareho |
omniroute setup-roo |
Roo Code | ~/.omniroute/roo-settings.json (dokumento sa pag-import) + itinatakda ang roo-cline.autoImportSettingsPath kung may settings.json ng VS Code |
--remote --api-key --model --yes --dry-run --port --import-path --vscode-settings |
Pareho |
omniroute setup-crush |
Crush | ~/.config/crush/crush.json — openai-compat provider, key sa pamamagitan ng $OMNIROUTE_API_KEY |
--remote --api-key --only --dry-run --port --config-path |
Pareho |
omniroute setup-goose |
Goose | ~/.config/goose/config.yaml (GOOSE_PROVIDER/OPENAI_HOST/GOOSE_MODEL) + ipinapakita ang recipe para sa env |
--remote --api-key --model --yes --dry-run --port --config-path |
Pareho |
omniroute setup-aider |
Aider | ~/.aider.conf.yml (openai-api-base + model: openai/<id>) + ipinapakita ang recipe para sa env |
--remote --api-key --model --yes --dry-run --port --config-path |
Pareho |
omniroute setup-qwen |
Qwen Code | ~/.qwen/settings.json — V4 modelProviders.openai array + OMNIROUTE_API_KEY sa ~/.qwen/.env |
--remote --api-key --model --yes --dry-run --port --config-path --env-path |
Pareho |
omniroute setup-5dive |
5dive (fleet ng mga agent) | Wala sa ilalim ng $HOME — nagsusulat ng auth profile ng 5dive (/var/lib/5dive/auth-profiles/<name>/) sa pamamagitan ng 5dive agent auth set; para lang sa root, tumatakbo sa fleet host |
--remote --api-key --model --auth-profile --agent --byo-provider --fivedive-bin --no-sudo --yes --dry-run --port |
Pareho |
omniroute run <target> |
Runtime launch (generic) | Wala — pinapagana ang claude/codex/aider/goose/opencode/qwen/gemini gamit ang tamang env at mga argument; gumagamit ang Qwen at Gemini ng pansamantalang nakahiwalay na home |
--remote --base-url --context --provider --model --api-key --api-key-env --dry-run --json --port --profile --token |
Pareho |
omniroute launch |
Claude Code | Wala — pinapagana ang claude na may naka-inject na ANTHROPIC_BASE_URL/ANTHROPIC_AUTH_TOKEN |
--remote --api-key --token --profile --port |
Pareho |
omniroute launch-codex |
OpenAI Codex CLI | Wala — pinapagana ang codex na may naka-inject na omniroute provider sa pamamagitan ng mga -c flag |
--remote --api-key --profile (-p) --port |
Pareho |
Mga tala tungkol sa mga flag (beripikado sa source ng command):
--remote <url>— kunin ang catalog mula sa isang remote na OmniRoute (ino-override ang--portat ang aktibong context). Ibinibigay ng--api-key <key>ang credential para sa server na iyon (ang default ay angOMNIROUTE_API_KEYenv var, o ang token ng aktibong context).--only <patterns>— mga substring na pinaghihiwalay ng kuwit; panatilihin lamang ang mga model ID na tumutugma (hal.--only glm,kimi). Available sasetup-codex,setup-claude,setup-opencode,setup-continue,setup-cursor,setup-crush.--dry-run— i-print nang eksakto kung ano ang isusulat nang hindi binabago ang filesystem. Available sa bawatsetup-*command maliban sasetup-cursor(na hindi kailanman nagsusulat ng file).--model <id>— kinakailangan (o pinipili nang interactive) para sa mga tool na walang awtomatikong pagtuklas ng model: Cline, Kilo, Roo, Goose, Qwen, Aider, 5dive. Tinatanggap din ng mga tool na iyon ang--yespara sa mga non-interactive na pagpapatakbo (na nangangailangan naman ng--model). Tinatanggap ngsetup-opencodeang--modelupang itakda ang default na top-level model.- Ang
--model <id>saomniroute runay sumusunod sa per-target na wiring ng manifest (bin/cli/cli-manifest.mjs): tumatanggap ang aider ng--model openai/<id>at ang opencode ng--model omniroute/<id>(idinadagdag lamang ang prefix kapag wala pa ito sa id); natatanggap ng qwen at gemini ang id nang walang pagbabago; nakukuha ito ng claude sa pamamagitan ngANTHROPIC_MODEL, ng goose sa pamamagitan ngGOOSE_MODEL, at ng codex sa pamamagitan ng mga arg na-c model_providers.omniroute.*. Ang Qwen lang ang run target na mahigpit na nangangailangan ng--model— angomniroute run qwenna wala nito ay nag-e-exit nang may2at tahasang error. --port <port>— lokal na OmniRoute port (default na20128, binabalewala kapag nakatakda ang--remote). Nasa lahat ngsetup-*at sa parehong launcher.- Mga exit code ng
omniroute run: ang sariling exit code ng child CLI ay ipinapasa nang walang pagbabago;2= mga hindi wastong argument (hindi suportadong target, nawawalang kinakailangang--model, container guard);127= wala saPATHang target binary;130/143/129kapag tinapos ang paglulunsad ngSIGINT/SIGTERM/SIGHUP;1= iba pang runtime launch failure. - Tinatanggap ng dalawang launcher (
launch,launch-codex) ang--profile <name>upang pumili ng profile na isinulat ngsetup-claude/setup-codex, kasama ang mga pass-through arg para sa pinagbabatayangclaude/codexbinary.
Pareho ring interactive picker ang ginagamit ng mga setup recipe:
# Pumili mula sa aktibong lokal o remote na model catalog at i-configure ang target.
omniroute configure claude
omniroute configure opencode --provider glm
omniroute configure qwen --model qwen/qwen3.8-max-preview --yesKasalukuyang ipinapasa ng configure ang gawain sa mga nasubok na recipe para sa codex, claude,
opencode, qwen, aider, goose, cline, continue, kilo, at 5dive.
Ang mga entry sa catalog na para lamang sa IDE,
MITM, at gabay ay nananatiling mga tahasang setup-*/manwal na flow at
hindi ipinapakita bilang mga target na maaaring ilunsad.
Ang
setup-opencodeay ang magaan na openai-compatible na integrasyon ng OpenCode. Mayroon ding mas mayamang plugin integration —omniroute setup opencode— na nag-i-install ng@omniroute/opencode-plugin. Magkaiba ang mga command na ito; idinodokumento ng talahanayan sa itaas angsetup-opencode.May dalawang package ang plugin, isa para sa bawat pangunahing bersyon ng OpenCode, dahil magkaibang entrypoint ang inaasahan ng dalawang loader:
@omniroute/opencode-pluginpara sa OpenCode v1 at@omniroute/opencode-plugin-v2para sa OpenCode v2. Bago ang v2 package (0.1.0) at sumusunod ito sa isang host contract na patuloy pang nagbabago, kaya binabasa nito ang anyong inilalagay ng OpenCode sa draft ng catalog sa halip na magpalagay ng isa. I-install ito sa pamamagitan ng pagdaragdag ngpluginsentry saopencode.json; ini-install pa rin ngomniroute setup opencodeang v1 package. Nasa README ng package ang mga opsyon at ang pagkakasunod-sunod ng paghahanap ng credential.
Kapag tumatakbo ang OmniRoute sa localhost:20128, patakbuhin lang ang setup command para sa iyong tool. Kinukuha ang catalog mula sa lokal na server.
# Codex: magsulat ng isang profile para sa bawat tumugmang model sa ~/.codex/
omniroute setup-codex
codex --profile glm52 # gumamit ng nabuong profile
# Claude Code: magsulat ng mga profile para sa bawat model, pagkatapos ay maglunsad ng isa
omniroute setup-claude
omniroute launch --profile glm52
# OpenCode: isulat ang provider na compatible sa openai kasama ang lahat ng model sa catalog
omniroute setup-opencode
export OMNIROUTE_API_KEY=sk-... # nire-reference sa pamamagitan ng {env:OMNIROUTE_API_KEY}, hindi kailanman nasa disk
opencode -m omniroute/glm/glm-5.2 "..."
# Kailangan ng tahasang model ang mga tool na walang auto-discovery:
omniroute setup-aider --model glm/glm-5.2
omniroute setup-qwen --model qwen/qwen3.8-max-preview
# Mag-preview nang walang isinusulat:
omniroute setup-continue --dry-runMaglunsad nang hindi nagsusulat ng anumang config (env-injection lamang):
omniroute launch # Claude Code → lokal na OmniRoute
omniroute launch-codex # Codex CLI → lokal na OmniRoute
omniroute launch-codex --profile glm52
omniroute run claude --model openai/gpt-5.4
omniroute run codex --model openai/gpt-5.4 --dry-run --json
omniroute run aider --model glm/glm-5.2 -- --message "reply OK"
omniroute run goose --model glm/glm-5.2
omniroute run opencode --model glm/glm-5.2 -- run "reply OK"
omniroute run qwen --model glm/glm-5.2 -- -p "reply OK"
omniroute run gemini --model glm/glm-5.2 -- --skip-trust -p "reply OK"
# Tahasang path ng command: ipasa nang walang pagbabago ang anumang kasunod ng --
omniroute run claude -- --print-system-prompt "review this diff"Ituro ang anumang setup command sa isang malayuang OmniRoute gamit ang --remote + --api-key. Kinukuha ang catalog mula sa remote; isinusulat ang config sa iyong lokal na machine.
# OpenCode laban sa isang malayuang VPS, panatilihin lamang ang mga glm/kimi model
omniroute setup-opencode --remote http://192.168.0.15:20128 --api-key oma_live_xxx \
--only glm,kimi
opencode -m omniroute/glm/glm-5.2 "..." # i-export muna ang OMNIROUTE_API_KEY
# Mga Codex profile mula sa isang malayuang catalog
omniroute setup-codex --remote http://192.168.0.15:20128 --api-key oma_live_xxx
# Direktang maglunsad ng CLI laban sa remote
omniroute launch --remote http://192.168.0.15:20128 --api-key oma_live_xxx
omniroute launch-codex --remote http://192.168.0.15:20128 --api-key oma_live_xxxSa halip na ipasa ang --remote/--api-key sa bawat pagkakataon, mag-log in nang isang beses at hayaang awtomatikong ibigay ng aktibong context ang mga ito:
omniroute connect 192.168.0.15 # lumilikha ng scoped token at iniimbak ang context
omniroute setup-codex # ← ginagamit na ngayon ang malayuang catalog
omniroute setup-opencode # ← gayundin
omniroute launch # ← Claude Code laban sa remoteTingnan ang Remote Mode para sa mga context, scope, at pamamahala ng token.
Ang 5dive ay nagpapatakbo ng fleet ng mga coding agent na matagal tumatakbo, na ang bawat isa ay isang systemd unit sa ilalim ng sarili nitong Unix user. Hindi ito isang coding CLI, kaya walang mailulunsad ang omniroute run — ang 5dive ay isang target na configure-only.
omniroute configure 5dive --model failover-demo --yes
omniroute setup-5dive --model failover-demo --auth-profile omniroute --agent worker1Ang dalawang anyo ay parehong nagsusulat ng isang auth profile ng 5dive, at pagkatapos ay kumokonekta sa OmniRoute ang bawat claude seat na nakatali sa profile na iyon. Tatlong bagay ang natatangi sa target na ito:
- Tumatakbo ito sa fleet host bilang root. Kumikilos ang mga verb ng 5dive sa mga lokal na systemd unit at sa isang state dir na pag-aari ng root; walang remote mode. Muling pinapatakbo ng recipe ang sarili nito sa pamamagitan ng
sudokapag hindi pa ito root (--no-sudoang nag-o-off nito at sa halip ay nagpi-print ng command). - Dapat ay
https://ang endpoint maliban kung loopback ito. Sumasama ang API key ng agent sa URL na iyon sa bawat request, at hindi tinatanggap ng 5dive ang isang plaintext na endpoint sa labas ng machine. Hindi eksepsiyon ang isang pribadong LAN address. - Mas mataas ang priyoridad ng sariling model pin ng bawat seat kaysa sa profile. Taglay ng profile ang
ANTHROPIC_DEFAULT_{OPUS,SONNET,HAIKU}_MODEL, ngunit ang isang seat na naka-pin pa rin sa stock model id ay mabibigo sa unang turn nito na may "There's an issue with the selected model". Ipasa ang--agent <name>(maaaring ulitin) upang i-pin din ang mga seat; ipi-print ng recipe ang command kapag hindi mo ito ginawa.
Ipinapasa ang API key sa 5dive sa pamamagitan ng stdin (--api-key=-), kaya hindi ito kailanman lumilitaw sa output ng ps.
Ang pagtutok ng profile sa isang combo ng OmniRoute sa halip na sa iisang model ang nagbibigay sa fleet ng provider failover: nang tuluyang bumagsak ang pangunahing endpoint sa kalagitnaan ng turn sa run na naitala sa #11578, tinapos ng agent ang mga natitirang hakbang nito gamit ang fallback at hindi kailanman inilantad ang outage.
Inilalantad ng OmniRoute ang OpenAI surface sa /v1, ang Anthropic surface sa root,
at ang native Gemini surface sa /v1beta. Ang bawat integrasyon ay naka-wire sa anyong
inaasahan ng tool nito (na-verify sa source ng command):
| Integrasyon | Isinusulat na Base URL | /v1? |
|---|---|---|
setup-cline (openAiBaseUrl) |
root | Hindi — idinadagdag ng Cline ang /v1/chat/completions |
setup-goose (OPENAI_HOST) |
root | Hindi — idinadagdag ng Goose ang path |
setup-aider (OPENAI_API_BASE) |
root | Hindi — idinadagdag ng LiteLLM ang /v1/chat/completions |
setup-kilo, setup-roo, setup-continue, setup-crush, setup-cursor |
may /v1 |
Oo |
setup-claude (ANTHROPIC_BASE_URL), launch |
root | Hindi — idinadagdag ng Claude Code ang /v1/messages |
setup-codex, launch-codex (model_providers.omniroute.base_url) |
may /v1 |
Oo |
setup-qwen (modelProviders.openai[].baseUrl) |
may /v1 |
Oo |
run gemini (GOOGLE_GEMINI_BASE_URL) |
root | Hindi — idinadagdag ng SDK ang /v1beta/models/… |
setup-5dive (ANTHROPIC_BASE_URL sa auth profile) |
root | Hindi — idinadagdag ng Claude Code ang /v1/messages |
Kapag nag-update ka gamit ang omniroute update (pagkatapos magkumpirma, o gamit ang --apply),
pinapatakbo ng OmniRoute ang pag-install na may nakapaloob nang --include=optional:
npm install -g omniroute@latest --include=optionalHindi ito isang flag na ipinapasa mo sa omniroute update — palagi itong inilalapat ng
updater. Tinitiyak nitong mananatili ang optionalDependencies (better-sqlite3, keytar,
tls-client, ang LLMLingua SLM stack) pagkatapos ng update kahit nakatakda ang npm config mo
sa omit=optional, na kung hindi ay tahimik na mag-aalis sa native SQLite
driver at OS-keyring binding. Upang i-preview ang eksaktong command nang hindi ito inilalapat:
omniroute update --dry-run
# [DRY RUN] Patatakbuhin sana ang: npm install -g omniroute@latest --include=optionalIba pang mga flag ng omniroute update (na-verify sa source): --check (mag-exit nang 1 kung
luma na), --apply (mag-install nang hindi nagtatanong), --changelog, --no-backup,
--yes.
Na-verify ang contract laban sa @google/gemini-cli 0.50.0: sinusunod ng CLI ang
GOOGLE_GEMINI_BASE_URL at nagpapadala ng POST /v1beta/models/<model>:generateContent
(at :streamGenerateContent?alt=sse) dito — eksaktong native
Gemini surface (/v1beta) ng OmniRoute. Awtomatikong kino-configure iyon ng omniroute run gemini:
GOOGLE_GEMINI_BASE_URL→ ang aktibong OmniRoute base URL (root, walang/v1);GEMINI_API_KEY→ ang na-resolve na kredensiyal ng OmniRoute (option/env/context);- isang pansamantala at nakahiwalay na
GEMINI_CLI_HOMEna ang.gemini/settings.jsonay pumipili nggemini-api-keyauth, upang hindi kailanman ma-override ng nakaimbak na Google OAuth session (Code Assist) ang launch na nakadirekta sa OmniRoute — inaalis pagkatapos mag-exit; - kalinisan ng env: inaalis sa child env ang
GOOGLE_API_KEY,GOOGLE_GENAI_USE_VERTEXAIatGOOGLE_GENAI_USE_GCA(na magre-redirect ng auth sa Vertex/Code Assist), at itinatakda angGEMINI_DEFAULT_AUTH_TYPE=gemini-api-keybilang karagdagang fallback — tumatanggap din ang iba pang mga target ngrunng parehong pagtrato para sa kani-kanilang magkasalungat na variable; - pag-inject ng
--model <id>mula sa--provider/--model.
omniroute run gemini --model glm/glm-5.2 -- --skip-trust -p "hello"Nalalapat pa rin ang workspace-trust guard ng Gemini sa headless mode — ikaw mismo ang magpasa ng
--skip-trust (o interaktibong pagkatiwalaan ang directory); sadyang hindi ito
bina-bypass ng launcher. Naiiba ang launcher na ito sa ACP
registration (src/lib/acp/registry.ts, gemini --acp), na nananatiling
agent-protocol integration para sa /dashboard/acp-agents.
Tumatakbo sa CI ang mga deterministic na launch-plan regression (tests/unit/cli/run-command.test.ts,
tests/unit/cli/run-execution.test.ts). Upang i-validate ang mga AKTUWAL na binary laban sa isang AKTUWAL na
OmniRoute server, may opt-in harness sa
tests/integration/upstream-cli-smoke.int.test.ts. Hindi ito kailanman awtomatikong tumatakbo
(nilalaktawan ang bawat sub-test maliban kung RUN_CLI_SMOKE=1), ipinapasa ang credential sa pamamagitan ng PANGALAN ng env-var
(hindi kailanman sa pamamagitan ng value), nire-redact ang mga string na mukhang key mula sa anumang naitalang output, nilalaktawan ang
mga target na walang naka-install na binary, at inuuri ang mga pagkabigo bilang
auth / upstream / config sa halip na isang simpleng boolean:
RUN_CLI_SMOKE=1 \
OMNIROUTE_SMOKE_BASE_URL="http://localhost:20128" \
OMNIROUTE_SMOKE_MODEL="<provider/model>" \
OMNIROUTE_SMOKE_API_KEY_ENV="OMNIROUTE_API_KEY" \
node --import tsx/esm --test tests/integration/upstream-cli-smoke.int.test.tsOpsyonal: nililimitahan ng OMNIROUTE_SMOKE_TARGETS="codex,opencode,qwen" ang sweep;
ino-override ng OMNIROUTE_SMOKE_TIMEOUT_MS ang 120s na timeout sa bawat target.
- Configuration ng Claude Code — ang mas detalyadong gabay sa Claude Code
- Configuration ng Codex CLI — ang minsanang paunang setup ng
[model_providers.omniroute] - Remote Mode — mga context, scoped access token, at pagkontrol sa isang remote server
- Reference ng CLI Tools — ang kumpletong catalog ng mga sinusuportahang tool + mga dashboard page
- Gabay sa Pag-setup — mga paraan ng pag-install at onboarding sa unang pagpapatakbo