LM Warden

OpenCode на ваших власних GPU.

LM Warden як OpenAI-сумісний постачальник для OpenCode, одна модель, що обслуговується.

Куди йде запит від OpenCode OpenCode надсилає запити до LM Warden: baseURL вказує на LM Warden, а apiKey містить ключ LM 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 вказує на LM Warden, а apiKey містить ключ LM 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, LM Warden посередині, а далі по одній копії моделі на GPU.

Текстовий опис: OpenCode надсилає запити до LM Warden: baseURL вказує на LM Warden, а apiKey містить ключ LM Warden. LM Warden перевіряє ключ, приймає запит у форматі OpenAI Chat Completions, ставить його в чергу за пріоритетом ключа й передає маршрутизатору реплік, який тримає кожен сеанс на тій репліці, де вже є його кеш (по одній копії моделі на кожен GPU).

Протокол
OpenAI Chat Completions
Підтримка
Лише локальні моделі

Лише локальні моделі, через Chat Completions (@ai-sdk/openai-compatible; @ai-sdk/openai використовував би Responses API, який цей LM Warden перекладає лише для Codex CLI). Ідентифікатор моделі має бути назвою моделі з /v1/models. Для файлу, який зберігається в репозиторії, використовуйте {env:LMWARDEN_KEY} замість ключа. Режим Router через постачальника Anthropic в OpenCode поки не підтримується.

Вимоги

  • Потрібна модель із викликом інструментів (агентні правки).
  • Найкраще працює з контекстом щонайменше 32 768 токенів.

Налаштування

У консолі Connect записує ці файли з адресою вашого LM Warden, вашим ключем і вибраною моделлю. Тут вони наведені із заповнювачами.

Локальні моделі

Додайте LM Warden як постачальника в opencode.json і зробіть його постачальником за замовчуванням.

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).