LM Warden

Codex CLI на ваших власних GPU.

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

Куди йде запит від Codex CLI Codex CLI надсилає запити до LM Warden: base_url вказує на LM Warden, а env_key містить ключ LM Warden. LM Warden перевіряє ключ, приймає запит у форматі OpenAI Responses, ставить його в чергу за пріоритетом ключа й передає маршрутизатору реплік, який тримає кожен сеанс на тій репліці, де вже є його кеш (по одній копії моделі на кожен 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
Куди йде запит від Codex CLI Codex CLI надсилає запити до LM Warden: base_url вказує на LM Warden, а env_key містить ключ LM Warden. LM Warden перевіряє ключ, приймає запит у форматі OpenAI Responses, ставить його в чергу за пріоритетом ключа й передає маршрутизатору реплік, який тримає кожен сеанс на тій репліці, де вже є його кеш (по одній копії моделі на кожен 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
Куди йде запит від Codex CLI: два налаштування, які записує Connect, LM Warden посередині, а далі по одній копії моделі на GPU.

Текстовий опис: Codex CLI надсилає запити до LM Warden: base_url вказує на LM Warden, а env_key містить ключ LM Warden. LM Warden перевіряє ключ, приймає запит у форматі OpenAI Responses, ставить його в чергу за пріоритетом ключа й передає маршрутизатору реплік, який тримає кожен сеанс на тій репліці, де вже є його кеш (по одній копії моделі на кожен GPU).

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

Лише локальні моделі. Codex підтримує лише Responses API; LM Warden перекладає POST /v1/responses у Chat Completions для моделі, що обслуговується, тож відповідь, виклики інструментів і дані про використання доходять до Codex як події Responses. Стан не зберігається: Codex у кожному раунді надсилає store:false і всю розмову, а previous_response_id відхиляється. Міркування ввімкнено за замовчуванням (Codex запитує підсумки міркувань, і міркування моделі показуються як підсумок; щоб вимкнути їх, задайте model_reasoning_effort = "none" в config.toml), хмарний вебпошук відкидається (задайте web_search = "disabled"), а правила маршрутизатора не застосовуються. Задайте в model_context_window справжнє вікно моделі: для невідомих назв Codex припускає 272 тис. токенів. Рушію потрібен увімкнений виклик інструментів (vLLM: --enable-auto-tool-choice і --tool-call-parser). Запит до незавантаженої моделі отримує 404, і Codex кілька секунд повторює спроби, перш ніж припинити.

Вимоги

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

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

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

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

Додайте LM Warden як постачальника моделей у ~/.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.
Оболонка
export LMWARDEN_KEY=vw_YOUR_KEY
codex exec "Reply with the single word OK."

Офіційна документація: https://learn.chatgpt.com/docs/config-file/config-reference (переглянуто 2026-10-04).