LM Warden

OpenCode na twoich własnych kartach GPU.

LM Warden jako dostawca zgodny z OpenAI dla OpenCode, jeden udostępniany model.

Dokąd trafia żądanie z OpenCode OpenCode wysyła żądania do LM Warden: baseURL wskazuje instancję LM Warden, a apiKey zawiera klucz LM Warden. LM Warden sprawdza klucz, obsługuje OpenAI Chat Completions, ustawia żądanie w kolejce według priorytetu klucza i przekazuje je routerowi replik, który utrzymuje każdą sesję na replice mającej już jej cache, po jednej kopii modelu na kartę 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
Dokąd trafia żądanie z OpenCode OpenCode wysyła żądania do LM Warden: baseURL wskazuje instancję LM Warden, a apiKey zawiera klucz LM Warden. LM Warden sprawdza klucz, obsługuje OpenAI Chat Completions, ustawia żądanie w kolejce według priorytetu klucza i przekazuje je routerowi replik, który utrzymuje każdą sesję na replice mającej już jej cache, po jednej kopii modelu na kartę 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
Dokąd trafia żądanie z OpenCode: dwa ustawienia zapisywane przez Connect, LM Warden pośrodku, a potem po jednej kopii modelu na kartę GPU.

Opis słowny: OpenCode wysyła żądania do LM Warden: baseURL wskazuje instancję LM Warden, a apiKey zawiera klucz LM Warden. LM Warden sprawdza klucz, obsługuje OpenAI Chat Completions, ustawia żądanie w kolejce według priorytetu klucza i przekazuje je routerowi replik, który utrzymuje każdą sesję na replice mającej już jej cache, po jednej kopii modelu na kartę GPU.

Protokół
OpenAI Chat Completions
Obsługa
Tylko modele lokalne

Tylko modele lokalne, przez Chat Completions (@ai-sdk/openai-compatible; @ai-sdk/openai używałby Responses API, które ta instancja LM Warden tłumaczy tylko dla Codex CLI). Identyfikator modelu musi być udostępnianą nazwą z /v1/models. W pliku zatwierdzanym do repozytorium użyj {env:LMWARDEN_KEY} zamiast klucza. Tryb Router przez dostawcę Anthropic w OpenCode nie jest jeszcze obsługiwany.

Wymagania

  • Wymaga modelu z wywoływaniem narzędzi (edycje agentowe).
  • Działa najlepiej z kontekstem co najmniej 32 768 tokenów.

Konfiguracja

W konsoli Connect zapisuje te pliki z adresem twojej instancji LM Warden, twoim kluczem i wybranym modelem. Tutaj są pokazane z symbolami zastępczymi.

Modele lokalne

Dodaj LM Warden jako dostawcę w opencode.json i ustaw go jako domyślnego.

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

Oficjalna dokumentacja: https://opencode.ai/docs/providers/ (stan na 2026-10-04).