Files
OmniRoute/docs/i18n/lt/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 (Lietuvių)

🌐 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 · 🇱🇻 lv · 🇮🇳 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


Būsena: Visuotinai prieinama. Auditorija: Administratoriai, integruojantys OpenCode su OmniRoute diegimu. Pagrindinis šaltinis (konfigūracijos schema): src/shared/services/opencodeConfig.ts Pagrindinis šaltinis (npm paketas): @omniroute/opencode-provider/ (publikuojama darbo sritis)

OpenCode yra agentinis CLI / darbalaukio DI klientas. Teikėjų katalogą jis nuskaito iš ~/.config/opencode/opencode.json (arba opencode.jsonc) ir vadovaujasi schema, esančia adresu https://opencode.ai/config.json. OmniRoute pateikia save OpenCode kaip vieną iš šių teikėjų — kiekviena užklausa perduodama per standartinę, su OpenAI suderinamą OmniRoute /v1 sąsają, todėl OpenCode automatiškai naudojasi Auto-Combo maršruto parinkimu, grandinės išjungikliais, raktų politikomis, stebimumu ir kitomis funkcijomis.

Palaikomi du integravimo būdai. Pasirinkite vieną — abu sugeneruoja tą pačią konfigūraciją.


1 būdas — CLI generatorius (nereikia diegti npm paketo)

Rekomenduojama galutiniams naudotojams. Platinamas kartu su OmniRoute. Atnaujina opencode.json vietoje.

# Įdiegus OmniRoute (npm i -g @omniroute/cli arba naudojant vietinę klonuotą kopiją)
omniroute config opencode \
  --base-url http://localhost:20128 \
  --api-key "$OMNIROUTE_API_KEY"

Viduje CLI iškviečia mergeOpenCodeConfigText() (src/shared/services/opencodeConfig.ts:104), todėl esamame opencode.json išsaugomi kiti teikėjai ir komentarai. OmniRoute įrašas pridedamas arba pakeičiamas atominiu būdu.

Gautas failas (numatytasis modelių katalogas):

{
  "$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" },
      },
    },
  },
}

2 būdas — npm paketas @omniroute/opencode-provider

Rekomenduojama, kai konfigūraciją generuojate naudodami Node/TS scenarijus (CI konvejeriuose, monorepozitorijose ar pasirinktiniuose diegimo procesuose).

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",
  // Pasirinktinai: pakeiskite OpenCode pateikiamą modelių katalogą
  models: ["auto", "claude-opus-4-7", "gpt-5.5"],
  modelLabels: { auto: "Auto-Combo" },
});

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

Norėdami neardomuoju būdu sujungti konfigūraciją su esamu failu, atkartokite mergeOpenCodeConfigText()opencodeConfig.ts arba iškvieskite CLI generatorių.

Visą API aprašą rasite paketo README.


Ką iš tikrųjų atlieka vykdymo aplinka

Abu būdai sukuria tą pačią reikšmę provider.omniroute.npm: "@ai-sdk/openai-compatible". Vykdymo metu OpenCode įkelia @ai-sdk/openai-compatible (tai jau yra tranzityvioji OpenCode priklausomybė) ir sukonfigūruoja jį naudodamas baseURL + apiKey. Toliau vyksta šis procesas:

OpenCode naudotojo sąsaja / agentas
   → @ai-sdk/openai-compatible
      → HTTP POST {baseURL}/chat/completions          (su OpenAI suderinama OmniRoute sąsaja)
         → OmniRoute /v1/chat/completions apdorojimo priemonė     (open-sse/handlers/chatCore.ts)
            → kombinuotas maršruto parinkimas / Auto-Combo / vykdyklė
               → išorinis teikėjas

Papildinys niekada tiesiogiai nenaudoja HTTP. Jis tik sugeneruoja konfigūraciją.


Numatytosios modelių katalogo reikšmės

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;

Galite pakeisti naudodami models: [...]. Rekomenduojami papildymai:

  • "auto" — pateikia OmniRoute Auto-Combo nulinės konfigūracijos maršruto parinkiklį. Leidžia OpenCode pasirinkti „geriausią prieinamą modelį“, kataloge jo nenurodant tiesiogiai.
  • "<combo-name>" — bet koks derinys, kurį apibrėžėte valdymo skydelyje; OmniRoute jį skaidriai nustato.

URL normalizavimas

Pagalbinė funkcija priima abi formas ir pateikia tiksliai vieną /v1:

Įvestis Išvestis (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

Šis dublikatų pašalinimas išsprendžia dažniausiai senesnėse konfigūracijose pasitaikančią problemą. Jei turite iki v3.8.0 sukurtą opencode.json, kuris nurodo į /v1/v1/..., dar kartą paleiskite generatorių arba iš naujo iškvieskite createOmniRouteProvider.


Autentifikavimo režimai

OmniRoute nuostata Rekomenduojama apiKey reikšmė
REQUIRE_API_KEY=false (numatyta lokaliai) sk_omniroute (pažodinis vietos rezervavimo tekstas)
REQUIRE_API_KEY=true Tikras kiekvieno naudotojo API raktas iš valdymo skydelio → API raktai.

Anthropic stiliaus klientams, siunčiantiems x-api-key + anthropic-version, OmniRoute funkcija extractApiKey taip pat priima raktą iš x-api-key. OpenCode naudoja OpenAI sąsają, todėl visada siųs Authorization: Bearer ${apiKey} — Anthropic specialusis atvejis čia netaikomas.


Trikčių šalinimas

Požymis Priežastis Sprendimas
404 kiekvienoje užklausoje, kurios URL turi /v1/v1/ Pasenusi iki v3.8 naudoto papildinio konfigūracija, kuri dukart pridėjo /v1. Iš naujo sugeneruokite naudodami 1 arba 2 būdą.
401 Invalid API key OmniRoute turi REQUIRE_API_KEY=true, o raktas nežinomas. Sukurkite raktą valdymo skydelyje arba nustatykite REQUIRE_API_KEY=false (tik lokaliai) ir naudokite sk_omniroute.
OpenCode naudotojo sąsajoje modelių sąrašas tuščias Visi 4 numatytieji modeliai paslėpti OmniRoute teikėjo matomumo nuostatose. Perduokite models: ["auto", ...], kad būtų rodomi jūsų įjungti modeliai.
OpenCode 500 su cannot read property 'models' Senesnė OpenCode (< 0.1.x) versija nepriėmė įterptinio models. Atnaujinkite OpenCode į versiją, atitinkančią v1 schemą (opencode.ai/config.json).

Taip pat žr.