Files
OmniRoute/docs/i18n/mr/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

16 KiB

OpenCode Integration (मराठी)

🌐 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 · 🇲🇾 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


स्थिती: सर्वसाधारणपणे उपलब्ध. वाचकवर्ग: OpenCode ला OmniRoute डिप्लॉयमेंटशी जोडणारे ऑपरेटर. सत्याचा स्रोत (कॉन्फिग स्कीमा): src/shared/services/opencodeConfig.ts सत्याचा स्रोत (npm पॅकेज): @omniroute/opencode-provider/ (प्रकाशित करता येणारे वर्कस्पेस)

OpenCode हा एजंटिक CLI/डेस्कटॉप AI क्लायंट आहे. तो आपला प्रोव्हायडर कॅटलॉग ~/.config/opencode/opencode.json (किंवा opencode.jsonc) मधून वाचतो आणि https://opencode.ai/config.json येथील स्कीमाचे पालन करतो. OmniRoute स्वतःला OpenCode समोर अशा प्रोव्हायडर्सपैकी एक म्हणून उपलब्ध करून देतो — प्रत्येक विनंती OmniRoute च्या मानक OpenAI-सुसंगत /v1 पृष्ठभागामधून जाते, त्यामुळे OpenCode ला Auto-Combo राउटिंग, सर्किट ब्रेकर्स, की धोरणे, निरीक्षणक्षमता इत्यादींचे फायदे आपोआप मिळतात.

दोन समर्थित इंटिग्रेशन मार्ग आहेत. त्यापैकी एक निवडा — दोन्ही समान कॉन्फिग तयार करतात.


मार्ग 1 — CLI जनरेटर (npm install आवश्यक नाही)

अंतिम वापरकर्त्यांसाठी शिफारस केलेला. OmniRoute सोबत वितरित केला जातो. opencode.json त्याच ठिकाणी लिहितो.

# OmniRoute इन्स्टॉल केल्यानंतर (npm i -g @omniroute/cli किंवा स्थानिक क्लोन)
omniroute config opencode \
  --base-url http://localhost:20128 \
  --api-key "$OMNIROUTE_API_KEY"

पडद्यामागे CLI mergeOpenCodeConfigText() (src/shared/services/opencodeConfig.ts:104) कॉल करतो, त्यामुळे विद्यमान opencode.json मधील इतर प्रोव्हायडर्स आणि टिप्पण्या कायम राहतात. OmniRoute नोंद अणुस्तरीय पद्धतीने जोडली/बदलली जाते.

परिणामी फाइल (डीफॉल्ट मॉडेल कॅटलॉग):

{
  "$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 — npm पॅकेज @omniroute/opencode-provider

Node/TS मधून कॉन्फिग स्क्रिप्ट करत असताना शिफारस केलेला (CI पाइपलाइन्स, मोनोरेपोज, सानुकूल इंस्टॉलर प्रवाह).

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",
  // पर्यायी: OpenCode समोर उपलब्ध केलेला मॉडेल कॅटलॉग ओव्हरराइड करा
  models: ["auto", "claude-opus-4-7", "gpt-5.5"],
  modelLabels: { auto: "Auto-Combo" },
});

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

विद्यमान फाइलमध्ये विनाशकारी नसलेले विलीनीकरण करण्यासाठी, opencodeConfig.ts मधील mergeOpenCodeConfigText() ची प्रतिकृती तयार करा किंवा CLI जनरेटर कॉल करा.

संपूर्ण API साठी पॅकेज README पहा.


रनटाइम प्रत्यक्षात काय करतो

दोन्ही मार्ग समान provider.omniroute.npm: "@ai-sdk/openai-compatible" तयार करतात. रनटाइमच्या वेळी OpenCode @ai-sdk/openai-compatible (आधीपासूनच OpenCode ची ट्रान्झिटिव्ह डिपेंडन्सी) लोड करतो आणि त्याला baseURL + apiKey सह कॉन्फिगर करतो. त्यानंतर:

OpenCode UI/एजंट
   → @ai-sdk/openai-compatible
      → HTTP POST {baseURL}/chat/completions          (OmniRoute OpenAI पृष्ठभाग)
         → OmniRoute /v1/chat/completions हँडलर       (open-sse/handlers/chatCore.ts)
            → कॉम्बो राउटिंग / Auto-Combo / एक्झिक्युटर
               → अपस्ट्रीम प्रोव्हायडर

प्लगइन कधीही HTTP ला स्पर्श करत नाही. तो फक्त कॉन्फिगरेशन उत्सर्जित करतो.


मॉडेल कॅटलॉगची डीफॉल्ट मूल्ये

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;

तुम्ही models: [...] द्वारे ही मूल्ये अधिलिखित करू शकता. शिफारस केलेल्या भर:

  • "auto" — OmniRoute चे Auto-Combo शून्य-कॉन्फिगरेशन राउटर उपलब्ध करून देते. यामुळे तुम्हाला कॅटलॉग हार्ड-कोड न करता OpenCode ला "उपलब्ध असलेले सर्वोत्तम मॉडेल" निवडता येते.
  • "<combo-name>" — तुम्ही डॅशबोर्डमध्ये परिभाषित केलेले कोणतेही कॉम्बो; OmniRoute त्याचे पारदर्शकपणे निराकरण करते.

URL सामान्यीकरण

हेल्पर दोन्ही स्वरूपे स्वीकारतो आणि नेमके एकच /v1 तयार करतो:

इनपुट आउटपुट (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

हे डीडुप्लिकेशन जुन्या कॉन्फिगरेशनमध्ये दिसणारे सर्वात सामान्य बिघाडाचे कारण आहे. तुमच्याकडे v3.8.0 पूर्वीची /v1/v1/... कडे निर्देश करणारी opencode.json फाइल असल्यास, जनरेटर पुन्हा चालवा किंवा createOmniRouteProvider ला पुन्हा कॉल करा.


प्रमाणीकरण पद्धती

OmniRoute सेटिंग शिफारस केलेले apiKey मूल्य
REQUIRE_API_KEY=false (स्थानिक वापरासाठी डीफॉल्ट) sk_omniroute (शब्दशः प्लेसहोल्डर)
REQUIRE_API_KEY=true डॅशबोर्ड → API Keys मधील प्रत्येक वापरकर्त्यासाठीची वास्तविक API की.

x-api-key + anthropic-version पाठवणाऱ्या Anthropic-शैलीतील क्लायंटसाठी, OmniRoute चे extractApiKey हे x-api-key मधील कीदेखील स्वीकारते. OpenCode हे OpenAI इंटरफेस वापरते, त्यामुळे ते नेहमी Authorization: Bearer ${apiKey} पाठवेल — येथे Anthropic-विशिष्ट विशेष बाब लागू होत नाही.


समस्या निवारण

लक्षण कारण उपाय
/v1/v1/ असलेल्या URL वरील प्रत्येक विनंतीसाठी 404 /v1 दोनदा जोडणाऱ्या v3.8 पूर्वीच्या प्लगइनमधील कालबाह्य कॉन्फिगरेशन. पथ 1 किंवा 2 वापरून पुन्हा निर्माण करा.
401 Invalid API key OmniRoute मध्ये REQUIRE_API_KEY=true आहे आणि की अज्ञात आहे. डॅशबोर्डमध्ये की तयार करा किंवा REQUIRE_API_KEY=false सेट करा (केवळ स्थानिक वापरासाठी) आणि sk_omniroute वापरा.
OpenCode UI मधील मॉडेल सूची रिकामी आहे सर्व 4 डीफॉल्ट मॉडेल OmniRoute च्या प्रदाता दृश्यमानतेमध्ये लपवलेली आहेत. तुम्ही सक्षम केलेली मॉडेल उपलब्ध करण्यासाठी models: ["auto", ...] द्या.
cannot read property 'models' सह OpenCode 500 जुन्या OpenCode (< 0.1.x) आवृत्त्या इनलाइन models स्वीकारत नव्हत्या. v1 स्कीमाचे (opencode.ai/config.json) अनुसरण करणाऱ्या आवृत्तीवर OpenCode अपग्रेड करा.

हे देखील पहा