LM Warden

OpenCode, आपके अपने GPU पर।

OpenCode में LM Warden को OpenAI-संगत प्रोवाइडर के रूप में जोड़ें और एक लोड किया गया मॉडल इस्तेमाल करें।

OpenCode का अनुरोध कहाँ जाता है OpenCode अपने अनुरोध LM Warden को भेजता है, जिसमें baseURL warden पर सेट है और apiKey में warden की कुंजी है। LM Warden कुंजी जाँचता है, OpenAI Chat Completions समझता है, कुंजी की प्राथमिकता के हिसाब से अनुरोध को क़तार में रखता है और उसे रेप्लिका राउटर को सौंपता है। राउटर हर सेशन को उसी रेप्लिका पर भेजता है जिसके पास उसका कैश पहले से है; हर GPU पर मॉडल की एक अलग कॉपी चलती है। OpenCode baseURL the warden, at /v1 apiKey vw_…, the warden key POST /v1/chat/completions LM Warden checks the key: one per app speaks OpenAI Chat Completions scheduler, key priority usage, latency and live stats per key Replica router a session goes back to the replica that holds its cache one model copy per GPU your GPUs: vLLM or llama.cpp replica 0, GPU 0 replica 1, GPU 1 replica 2, GPU 2 a conversation stays on its replica
OpenCode का अनुरोध कहाँ जाता है OpenCode अपने अनुरोध LM Warden को भेजता है, जिसमें baseURL warden पर सेट है और apiKey में warden की कुंजी है। LM Warden कुंजी जाँचता है, OpenAI Chat Completions समझता है, कुंजी की प्राथमिकता के हिसाब से अनुरोध को क़तार में रखता है और उसे रेप्लिका राउटर को सौंपता है। राउटर हर सेशन को उसी रेप्लिका पर भेजता है जिसके पास उसका कैश पहले से है; हर GPU पर मॉडल की एक अलग कॉपी चलती है। OpenCode baseURL the warden, at /v1 apiKey vw_…, the warden key POST /v1/chat/completions LM Warden checks the key: one per app speaks OpenAI Chat Completions scheduler, key priority usage, latency, live stats per key Replica router a session goes back to the replica that holds its cache replica 0 GPU 0 replica 1 GPU 1 replica 2 GPU 2 your GPUs: vLLM or llama.cpp a conversation stays on its replica
OpenCode का अनुरोध कहाँ जाता है: Connect की लिखी दो सेटिंग, बीच में warden, फिर हर GPU पर मॉडल की एक कॉपी।

शब्दों में: OpenCode अपने अनुरोध LM Warden को भेजता है, जिसमें baseURL warden पर सेट है और apiKey में warden की कुंजी है। LM Warden कुंजी जाँचता है, OpenAI Chat Completions समझता है, कुंजी की प्राथमिकता के हिसाब से अनुरोध को क़तार में रखता है और उसे रेप्लिका राउटर को सौंपता है। राउटर हर सेशन को उसी रेप्लिका पर भेजता है जिसके पास उसका कैश पहले से है; हर GPU पर मॉडल की एक अलग कॉपी चलती है।

प्रोटोकॉल
OpenAI Chat Completions
सपोर्ट
सिर्फ़ लोकल मॉडल

सिर्फ़ लोकल मॉडल, Chat Completions के ज़रिए (@ai-sdk/openai-compatible; @ai-sdk/openai Responses API इस्तेमाल करेगा, जिसे यह warden सिर्फ़ Codex CLI के लिए Chat Completions में बदलता है)। मॉडल ID वही नाम होना चाहिए जो /v1/models में दिखता है। अगर फ़ाइल कमिट होनी है, तो उसमें कुंजी की जगह {env:LMWARDEN_KEY} लिखें। OpenCode के Anthropic प्रोवाइडर के ज़रिए Router मोड अभी शामिल नहीं है।

आवश्यकताएँ

  • टूल कॉलिंग वाला मॉडल चाहिए (एजेंटिक एडिट के लिए)।
  • कम से कम 32,768 टोकन के कॉन्टेक्स्ट के साथ सबसे अच्छा काम करता है।

सेटअप

कंसोल में Connect ये फ़ाइलें आपके warden के पते, आपकी कुंजी और आपके चुने हुए मॉडल के साथ लिखता है। यहाँ ये प्लेसहोल्डर के साथ दी गई हैं।

लोकल मॉडल

opencode.json में LM Warden को प्रोवाइडर के रूप में जोड़ें और उसे डिफ़ॉल्ट बनाएँ।

opencode.json (opencode.json)
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "lmwarden": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "LM Warden",
      "options": { "baseURL": "https://your-warden/v1", "apiKey": "vw_YOUR_KEY" },
      "models": {
        "your-served-model-name": { "name": "your-served-model-name", "limit": { "context": 32768, "output": 8192 } }
      }
    }
  },
  "model": "lmwarden/your-served-model-name"
}
शेल
opencode run "Reply with the single word OK."

आधिकारिक दस्तावेज़: https://opencode.ai/docs/providers/ (2026-10-04 की स्थिति)।