Отдельный ключ для каждого приложения и своя страница у каждого ключа.
Дайте каждому коллеге, ноутбуку, задаче CI и агенту собственный ключ. На странице ключа видно, сколько токенов он израсходовал и сколько его запросы ждали в очереди (медиана и p95), за любой период: выделите его мышью на графике или введите вручную. Ротируйте ключ с переходным периодом и задавайте ему приоритет от P0 до P9: ожидающий запрос P9 всегда выполняется раньше запроса P8.
Если приостановить ключ, новые запросы будут отклоняться, а уже выполняющиеся — завершатся:
$ curl -i http://gpu-box:8080/v1/chat/completions \
-H "Authorization: Bearer vw_…" -d '{…}'
HTTP/1.1 403 Forbidden
content-type: application/json
{"detail":"token paused"}
Снято на локальном экземпляре 23 сентября 2026 г. Хост и ключ заменены, остальные заголовки удалены.
demo-agent — ключа, который создавал нагрузку на рис. 1: 37 запросов и 43 тыс. сгенерированных токенов за показанный час. Затем открывается его панель God mode (просмотр промптов и ответов одного ключа в реальном времени; включается отдельно, по умолчанию выключен), и ответы появляются по мере генерации. Промпты написаны нами.
opencode-laptop, два плотных розовых столбца — research-notebook. Снято 23 сентября 2026 г.; имена ключей заменены. Прокрутите изображение вбок, чтобы увидеть всю неделю.Чтобы уйти с LM Warden, достаточно поменять base_url.
LM Warden поддерживает /v1/chat/completions и /v1/models, причем /v1/models сообщает max_model_len каждой модели. Кроме того, он поддерживает Anthropic Messages API на /v1/messages, поэтому в Claude Code достаточно указать в ANTHROPIC_BASE_URL корневой URL сервера LM Warden (путь /v1/messages Claude Code добавит сам). Есть и OpenAI Responses API на /v1/responses, так что Codex CLI может работать с загруженной вами моделью. Веса лежат в обычном кэше Hugging Face, который make export-hf-cache упаковывает в архив tar, а точную командную строку (argv), с которой был запущен каждый движок, можно получить одним GET-запросом, так что рабочую конфигурацию можно воссоздать без нас. Diff ниже показывает переход на LM Warden; чтобы уйти, проделайте его в обратную сторону: верните прежний адрес API, ключ и имя модели.
import os from openai import OpenAI client = OpenAI( - base_url="https://api.openai.com/v1", - api_key=os.environ["OPENAI_API_KEY"], + base_url="http://gpu-box:8080/v1", + api_key=os.environ["LM_WARDEN_KEY"], # a vw_ key from API tokens ) reply = client.chat.completions.create( - model="gpt-4o-mini", + model="gpt-oss-20b", # the served name of a model you loaded messages=[{"role": "user", "content": "What is a KV cache?"}], )