LM Warden

Codex CLI na twoich własnych kartach GPU.

LM Warden jako niestandardowy dostawca modeli dla Codex CLI, jeden udostępniany model.

Dokąd trafia żądanie z Codex CLI Codex CLI wysyła żądania do LM Warden: base_url wskazuje instancję LM Warden, a env_key zawiera klucz LM Warden. LM Warden sprawdza klucz, obsługuje OpenAI Responses, 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. Codex CLI base_url the warden, at /v1 env_key LMWARDEN_KEY holds vw_… POST /v1/responses LM Warden checks the key: one per app speaks OpenAI Responses 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 Codex CLI Codex CLI wysyła żądania do LM Warden: base_url wskazuje instancję LM Warden, a env_key zawiera klucz LM Warden. LM Warden sprawdza klucz, obsługuje OpenAI Responses, 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. Codex CLI base_url the warden, at /v1 env_key LMWARDEN_KEY holds vw_… POST /v1/responses LM Warden checks the key: one per app speaks OpenAI Responses 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 Codex CLI: dwa ustawienia zapisywane przez Connect, LM Warden pośrodku, a potem po jednej kopii modelu na kartę GPU.

Opis słowny: Codex CLI wysyła żądania do LM Warden: base_url wskazuje instancję LM Warden, a env_key zawiera klucz LM Warden. LM Warden sprawdza klucz, obsługuje OpenAI Responses, 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 Responses
Obsługa
Tylko modele lokalne

Tylko modele lokalne. Codex obsługuje wyłącznie Responses API; LM Warden tłumaczy POST /v1/responses na Chat Completions dla udostępnianego modelu, więc odpowiedź, wywołania narzędzi i użycie docierają do Codex jako zdarzenia Responses. Działa bezstanowo: Codex w każdej turze wysyła store:false i całą rozmowę, a previous_response_id jest odrzucane. Rozumowanie jest domyślnie włączone (Codex prosi o podsumowania rozumowania, a rozumowanie modelu jest pokazywane jako podsumowanie; aby je wyłączyć, ustaw model_reasoning_effort = "none" w config.toml), hostowane wyszukiwanie w sieci jest pomijane (ustaw web_search = "disabled"), a reguły routera nie mają zastosowania. Ustaw model_context_window na rzeczywiste okno modelu: dla nieznanych nazw Codex zakłada 272 tys. tokenów. Silnik musi mieć włączone wywoływanie narzędzi (vLLM: --enable-auto-tool-choice i --tool-call-parser). Na żądanie do modelu, który nie jest załadowany, serwer odpowiada kodem 404, a Codex ponawia próby przez kilka sekund, zanim się podda.

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ę modeli w ~/.codex/config.toml.

config.toml (~/.codex/config.toml)
model = "your-served-model-name"
model_provider = "lmwarden"
# Codex assumes a 272k window for models it does not know; set the real one.
model_context_window = 32768

[model_providers.lmwarden]
name = "LM Warden"
base_url = "https://your-warden/v1"
env_key = "LMWARDEN_KEY"
wire_api = "responses"
# The model's context window is unknown: 32768 is a guess. Set it to the model's real window.
Powłoka
export LMWARDEN_KEY=vw_YOUR_KEY
codex exec "Reply with the single word OK."

Oficjalna dokumentacja: https://learn.chatgpt.com/docs/config-file/config-reference (stan na 2026-10-04).