* 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 (Latviešu)
🌐 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 · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 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
Statuss: Vispārēji pieejams. Mērķauditorija: Operatori, kuri savieno OpenCode ar OmniRoute izvietojumu. Patiesais avots (konfigurācijas shēma):
src/shared/services/opencodeConfig.tsPatiesais avots (npm pakotne):@omniroute/opencode-provider/(publicējama darbvieta)
OpenCode ir aģentisks CLI/darbvirsmas MI klients. Tas nolasa savu nodrošinātāju katalogu no ~/.config/opencode/opencode.json (vai opencode.jsonc) un izmanto shēmu vietnē https://opencode.ai/config.json. OmniRoute sevi pakalpojumā OpenCode piedāvā kā vienu no šiem nodrošinātājiem — katrs pieprasījums plūst caur OmniRoute standarta, ar OpenAI saderīgo /v1 saskarni, tādēļ OpenCode automātiski izmanto Auto-Combo maršrutēšanas, ķēdes pārtraucēju, atslēgu politiku, novērojamības u.c. priekšrocības.
Tiek atbalstīti divi integrācijas veidi. Izvēlieties vienu — abi ģenerē vienādu konfigurāciju.
1. veids — CLI ģenerators (bez npm instalēšanas)
Ieteicams galalietotājiem. Iekļauts OmniRoute komplektācijā. Pārraksta opencode.json tā pašreizējā atrašanās vietā.
# Pēc OmniRoute instalēšanas (npm i -g @omniroute/cli vai lokāls klons)
omniroute config opencode \
--base-url http://localhost:20128 \
--api-key "$OMNIROUTE_API_KEY"
Fonā CLI izsauc mergeOpenCodeConfigText() (src/shared/services/opencodeConfig.ts:104), tādēļ esošajā opencode.json tiek saglabāti citi nodrošinātāji un komentāri. OmniRoute ieraksts tiek atomāri pievienots vai aizstāts.
Iegūtais fails (noklusējuma modeļu katalogs):
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"omniroute": {
"npm": "@ai-sdk/openai-compatible",
"name": "OmniRoute",
"options": {
"baseURL": "http://localhost:20128/v1",
"apiKey": "<jūsu-atslēga>",
},
"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" },
},
},
},
}
2. veids — npm pakotne @omniroute/opencode-provider
Ieteicams, ja konfigurāciju skriptējat no Node/TS (CI konveijeri, monorepozitoriji, pielāgotas instalēšanas plūsmas).
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",
// Neobligāti: aizstājiet OpenCode pieejamo modeļu katalogu
models: ["auto", "claude-opus-4-7", "gpt-5.5"],
modelLabels: { auto: "Auto-Combo" },
});
writeFileSync("opencode.json", JSON.stringify(config, null, 2));
Lai veiktu nesagraujošu sapludināšanu ar esošu failu, atkārtojiet mergeOpenCodeConfigText() no opencodeConfig.ts vai izsauciet CLI ģeneratoru.
Pilnu API aprakstu skatiet pakotnes README.
Ko izpildlaika vide faktiski dara
Abi veidi izveido vienādu provider.omniroute.npm: "@ai-sdk/openai-compatible". Izpildlaikā OpenCode ielādē @ai-sdk/openai-compatible (kas jau ir OpenCode tranzitīvā atkarība) un konfigurē to ar baseURL + apiKey. Tālāk:
OpenCode lietotāja saskarne/aģents
→ @ai-sdk/openai-compatible
→ HTTP POST {baseURL}/chat/completions (OmniRoute OpenAI saskarne)
→ OmniRoute /v1/chat/completions apdarinātājs (open-sse/handlers/chatCore.ts)
→ kombinētā maršrutēšana / Auto-Combo / izpildītājs
→ augšupējais nodrošinātājs
Spraudnis nekad neveic HTTP pieprasījumus. Tas tikai ģenerē konfigurāciju.
Modeļu kataloga noklusējumi
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;
Varat tos pārrakstīt, izmantojot models: [...]. Ieteicamie papildinājumi:
"auto"— padara pieejamu OmniRoute Auto-Combo maršrutētāju, kam nav nepieciešama konfigurācija. Ļauj OpenCode izvēlēties „labāko pieejamo modeli”, neveicot kataloga vērtību tiešu iestatīšanu kodā."<combo-name>"— jebkura kombinācija, ko esat definējis informācijas panelī; OmniRoute to atrisina pārskatāmi.
URL normalizācija
Palīgfunkcija pieņem abas formas un izvada tieši vienu /v1:
| Ievade | Izvade (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 |
Šī dublikātu novēršana attiecas uz visbiežāk sastopamo problēmu vecākās konfigurācijās. Ja jums ir opencode.json, kas izveidots pirms v3.8.0 un norāda uz /v1/v1/..., atkārtoti palaidiet ģeneratoru vai vēlreiz izsauciet createOmniRouteProvider.
Autentifikācijas režīmi
| OmniRoute iestatījums | Ieteicamā apiKey vērtība |
|---|---|
REQUIRE_API_KEY=false (lokāli pēc noklusējuma) |
sk_omniroute (literāla viettura vērtība) |
REQUIRE_API_KEY=true |
Īsta katram lietotājam paredzēta API atslēga no informācijas paneļa → API atslēgas. |
Anthropic stila klientiem, kas nosūta x-api-key un anthropic-version, OmniRoute funkcija extractApiKey pieņem arī atslēgu no x-api-key. OpenCode izmanto OpenAI saskarni, tādēļ tas vienmēr nosūtīs Authorization: Bearer ${apiKey} — šeit nav piemērojams neviens īpašs Anthropic gadījums.
Problēmu novēršana
| Pazīme | Cēlonis | Risinājums |
|---|---|---|
404 katram pieprasījumam, kura URL satur /v1/v1/ |
Novecojusi konfigurācija no spraudņa pirms v3.8, kas divreiz pievienoja /v1. |
Atkārtoti ģenerējiet, izmantojot 1. vai 2. ceļu. |
401 Invalid API key |
OmniRoute iestatījums ir REQUIRE_API_KEY=true, un atslēga nav zināma. |
Izveidojiet atslēgu informācijas panelī vai iestatiet REQUIRE_API_KEY=false (tikai lokāli) un izmantojiet sk_omniroute. |
| Modeļu saraksts OpenCode lietotāja saskarnē ir tukšs | Visi 4 noklusējuma modeļi ir paslēpti OmniRoute nodrošinātāja redzamības iestatījumos. | Norādiet models: ["auto", ...], lai padarītu redzamus iespējotos modeļus. |
OpenCode 500 ar cannot read property 'models' |
Vecāka OpenCode versija (< 0.1.x) nepieņēma iekļauto models. |
Jauniniet OpenCode uz versiju, kas atbilst v1 shēmai (opencode.ai/config.json). |
Skatiet arī
- API atsauce — pilns OmniRoute REST saskarņu klāsts
- Auto-Combo — ko nozīmē
model: "auto" @omniroute/opencode-providerREADME- Avots:
src/shared/services/opencodeConfig.ts,src/lib/cli-helper/config-generator/opencode.ts,@omniroute/opencode-provider/src/index.ts