Files
OmniRoute/docs/i18n/sw/docs/frameworks/OPENCODE.md
Diego Rodrigues de Sa e Souza 8feea123bb feat(docs): mirror every docs/ page in all 65 locales (#14106)
* feat(docs): mirror every docs/ page in all 65 locales

Extends the documentation mirrors from the 22-page core set (#13940) to
every Markdown page under docs/: 152 sources x 65 locales = 9,880 mirrors
(6,208 new), language bars rewritten for the full locale list, state
adopted so the blocking drift gate now covers all 152 pages.

run-translation.mjs: an oversized block made only of table rows or list
items (PROVIDER_REFERENCE.md 244-row table, FREE_TIERS.md 71-item list) is
cut at item boundaries and rejoined without a blank line — the single
16-40 KB request outlived the backend socket for verbose scripts. 48
older mirrors whose tables had lost rows were retranslated with --force.

* docs(i18n): refresh mirrors for the sources the base changed since the branch cut

Section-level retranslation of the 29 docs (and README.md) whose source
or mirrors moved on release/v3.8.51 during the run, then state adoption;
the drift gate is green again on the merged tree.
2026-09-18 13:16:46 -03:00

12 KiB

OpenCode Integration (Kiswahili)

🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 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 · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW


Hali: Inapatikana kwa matumizi ya jumla. Walengwa: Waendeshaji wanaounganisha OpenCode na usakinishaji wa OmniRoute. Chanzo rasmi (schema ya usanidi): src/shared/services/opencodeConfig.ts Chanzo rasmi (kifurushi cha npm): @omniroute/opencode-provider/ (workspace inayoweza kuchapishwa)

OpenCode ni kiteja cha AI cha CLI/desktop kinachotumia mawakala. Husoma katalogi yake ya watoa huduma kutoka ~/.config/opencode/opencode.json (au opencode.jsonc) na kufuata schema iliyo katika https://opencode.ai/config.json. OmniRoute hujitambulisha kwa OpenCode kama mmoja wa watoa huduma hao — kila ombi hupitia kiolesura cha kawaida cha OmniRoute kinachooana na OpenAI cha /v1, hivyo OpenCode hunufaika kiotomatiki na uelekezaji wa Auto-Combo, vivunja saketi, sera za funguo, uangalizi, n.k.

Kuna njia mbili za ujumuishaji zinazotumika. Chagua moja — zote hutengeneza usanidi sawa.


Njia ya 1 — Kizalishaji cha CLI (bila kusakinisha npm)

Inapendekezwa kwa watumiaji wa mwisho. Huja pamoja na OmniRoute. Huandika opencode.json mahali ilipo.

# Baada ya kusakinisha OmniRoute (npm i -g @omniroute/cli au nakala ya ndani)
omniroute config opencode \
  --base-url http://localhost:20128 \
  --api-key "$OMNIROUTE_API_KEY"

Kwa ndani, CLI huita mergeOpenCodeConfigText() (src/shared/services/opencodeConfig.ts:104), hivyo opencode.json iliyopo huhifadhi watoa huduma wengine na maoni yake. Ingizo la OmniRoute huongezwa/hubadilishwa kwa njia atomiki.

Faili inayotokana (katalogi chaguomsingi ya modeli):

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "omniroute": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "OmniRoute",
      "options": {
        "baseURL": "http://localhost:20128/v1",
        "apiKey": "<your-key>",
      },
      "models": {
        "claude-opus-4-5-thinking": { "name": "claude-opus-4-5-thinking" },
        "claude-sonnet-4-5-thinking": { "name": "claude-sonnet-4-5-thinking" },
        "gemini-3.1-pro-high": { "name": "gemini-3.1-pro-high" },
        "gemini-3-flash": { "name": "gemini-3-flash" },
      },
    },
  },
}

Njia ya 2 — Kifurushi cha npm @omniroute/opencode-provider

Inapendekezwa unapoandika hati ya usanidi kutoka Node/TS (mifumo ya CI, monorepo, mitiririko maalum ya kisakinishaji).

npm install --save-dev @omniroute/opencode-provider
import { writeFileSync } from "node:fs";
import { buildOmniRouteOpenCodeConfig } from "@omniroute/opencode-provider";

const config = buildOmniRouteOpenCodeConfig({
  baseURL: "http://localhost:20128",
  apiKey: process.env.OMNIROUTE_API_KEY ?? "sk_omniroute",
  // Si lazima: badilisha katalogi ya modeli inayoonyeshwa kwa OpenCode
  models: ["auto", "claude-opus-4-7", "gpt-5.5"],
  modelLabels: { auto: "Auto-Combo" },
});

writeFileSync("opencode.json", JSON.stringify(config, null, 2));

Kwa muunganisho usioharibu faili iliyopo, nakili utendaji wa mergeOpenCodeConfigText() kutoka opencodeConfig.ts au tumia kizalishaji cha CLI.

Angalia README ya kifurushi kwa API kamili.


Kile ambacho mazingira ya utekelezaji hufanya hasa

Njia zote mbili huzalisha provider.omniroute.npm: "@ai-sdk/openai-compatible" ileile. Wakati wa utekelezaji, OpenCode hupakia @ai-sdk/openai-compatible (ambayo tayari ni utegemezi wa mpito wa OpenCode) na kuisanidi kwa baseURL + apiKey. Kuanzia hapo:

Kiolesura cha OpenCode/wakala
   → @ai-sdk/openai-compatible
      → HTTP POST {baseURL}/chat/completions          (kiolesura cha OpenAI cha OmniRoute)
         → kishughulikiaji cha OmniRoute /v1/chat/completions     (open-sse/handlers/chatCore.ts)
            → uelekezaji wa combo / Auto-Combo / kitekelezaji
               → mtoa huduma wa juu

Programu-jalizi haigusi kamwe HTTP. Hutoa usanidi pekee.


Chaguo-msingi za katalogi ya modeli

export const OMNIROUTE_DEFAULT_OPENCODE_MODELS = [
  "claude-opus-4-5-thinking",
  "claude-sonnet-4-5-thinking",
  "gemini-3.1-pro-high",
  "gemini-3-flash",
] as const;

Unaweza kubatilisha kupitia models: [...]. Nyongeza zinazopendekezwa:

  • "auto" — huonyesha Auto-Combo ya OmniRoute, kipanga-njia kisichohitaji usanidi. Huiruhusu OpenCode kuchagua "modeli bora zaidi inayopatikana" bila wewe kuweka katalogi moja kwa moja kwenye msimbo.
  • "<combo-name>" — mchanganyiko wowote uliofafanua kwenye dashibodi; OmniRoute huutatua kwa uwazi.

Usawazishaji wa URL

Kisaidizi kinakubali miundo yote miwili na hutoa /v1 moja pekee:

Ingizo Tokeo (options.baseURL)
http://localhost:20128 http://localhost:20128/v1
http://localhost:20128/ http://localhost:20128/v1
http://localhost:20128/v1 http://localhost:20128/v1
http://localhost:20128/v1/// http://localhost:20128/v1

Uondoaji huu wa nakala ni hitilafu ya kawaida zaidi inayoonekana katika usanidi wa zamani. Ikiwa una opencode.json ya kabla ya v3.8.0 inayoelekeza kwenye /v1/v1/..., endesha tena kizalishaji au uite createOmniRouteProvider tena.


Hali za uthibitishaji

Mpangilio wa OmniRoute Thamani inayopendekezwa ya apiKey
REQUIRE_API_KEY=false (chaguo-msingi kwa matumizi ya ndani) sk_omniroute (kishikilia nafasi halisi)
REQUIRE_API_KEY=true Ufunguo halisi wa API wa kila mtumiaji kutoka Dashibodi → Funguo za API.

Kwa viteja vya mtindo wa Anthropic vinavyotuma x-api-key + anthropic-version, extractApiKey ya OmniRoute pia hukubali ufunguo kutoka x-api-key. OpenCode hutumia kiolesura cha OpenAI, kwa hivyo daima itatuma Authorization: Bearer ${apiKey} — hakuna hali maalum ya Anthropic inayotumika hapa.


Utatuzi wa matatizo

Dalili Sababu Suluhisho
404 kwa kila ombi lenye URL iliyo na /v1/v1/ Usanidi uliopitwa na wakati kutoka programu-jalizi ya kabla ya v3.8 ulioweka kiambishi /v1 mara mbili. Zalisha upya kupitia Njia ya 1 au 2.
401 Invalid API key OmniRoute ina REQUIRE_API_KEY=true na ufunguo hautambuliki. Unda ufunguo kwenye dashibodi, au weka REQUIRE_API_KEY=false (kwa matumizi ya ndani pekee) na utumie sk_omniroute.
Orodha ya modeli ni tupu katika kiolesura cha OpenCode Modeli zote 4 za chaguo-msingi zimefichwa katika mwonekano wa mtoa huduma wa OmniRoute. Pitisha models: ["auto", ...] ili kuonyesha zile ulizowasha.
Hitilafu ya OpenCode 500 yenye cannot read property 'models' OpenCode ya zamani (< 0.1.x) haikukubali models zilizowekwa ndani ya usanidi. Sasisha OpenCode hadi toleo linalofuata skema ya v1 (opencode.ai/config.json).

Tazama pia