* 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.
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.tsChanzo 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
- Marejeleo ya API — huduma zote za OmniRoute REST
- Auto-Combo — maana ya
model: "auto" @omniroute/opencode-providerREADME- Chanzo:
src/shared/services/opencodeConfig.ts,src/lib/cli-helper/config-generator/opencode.ts,@omniroute/opencode-provider/src/index.ts