LM Warden

OpenCode auf Ihren eigenen GPUs.

LM Warden als OpenAI-kompatibler Anbieter für OpenCode, ein bereitgestelltes Modell.

Wohin eine Anfrage von OpenCode geht OpenCode sendet seine Anfragen an LM Warden: baseURL zeigt auf den Warden, apiKey enthält einen Warden-Schlüssel. LM Warden prüft den Schlüssel, unterstützt OpenAI Chat Completions, reiht die Anfrage nach der Priorität des Schlüssels ein und übergibt sie an den Replikat-Router, der jede Sitzung auf dem Replikat hält, das ihren Cache bereits hat – eine Modellkopie pro 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
Wohin eine Anfrage von OpenCode geht OpenCode sendet seine Anfragen an LM Warden: baseURL zeigt auf den Warden, apiKey enthält einen Warden-Schlüssel. LM Warden prüft den Schlüssel, unterstützt OpenAI Chat Completions, reiht die Anfrage nach der Priorität des Schlüssels ein und übergibt sie an den Replikat-Router, der jede Sitzung auf dem Replikat hält, das ihren Cache bereits hat – eine Modellkopie pro 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
Wohin eine Anfrage von OpenCode geht: die zwei Einstellungen, die Connect einträgt, der Warden in der Mitte, dann eine Kopie des Modells pro GPU.

Kurz gesagt: OpenCode sendet seine Anfragen an LM Warden: baseURL zeigt auf den Warden, apiKey enthält einen Warden-Schlüssel. LM Warden prüft den Schlüssel, unterstützt OpenAI Chat Completions, reiht die Anfrage nach der Priorität des Schlüssels ein und übergibt sie an den Replikat-Router, der jede Sitzung auf dem Replikat hält, das ihren Cache bereits hat – eine Modellkopie pro GPU.

Protokoll
OpenAI Chat Completions
Unterstützung
Nur lokale Modelle

Nur lokale Modelle, über Chat Completions (@ai-sdk/openai-compatible; @ai-sdk/openai würde die Responses API verwenden, die dieser Warden nur für Codex CLI übersetzt). Die Modell-ID muss ein bereitgestellter Name aus /v1/models sein. In einer eingecheckten Datei verwenden Sie {env:LMWARDEN_KEY} statt des Schlüssels. Der Router-Modus über den Anthropic-Anbieter von OpenCode ist noch nicht abgedeckt.

Voraussetzungen

  • Braucht ein Modell mit Tool-Aufrufen (agentische Bearbeitungen).
  • Funktioniert am besten mit mindestens 32.768 Token Kontext.

Einrichtung

In der Konsole erzeugt Connect diese Dateien mit der Adresse Ihres Wardens, Ihrem Schlüssel und dem gewählten Modell. Hier sehen Sie sie mit Platzhaltern.

Lokale Modelle

Fügen Sie LM Warden in opencode.json als Anbieter hinzu und machen Sie ihn zum Standard.

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"
}
Shell
opencode run "Reply with the single word OK."

Offizielle Dokumentation: https://opencode.ai/docs/providers/ (abgerufen am 2026-10-04).