LM Warden

Grok CLI sur vos propres GPU.

Grok Build CLI de xAI avec LM Warden comme modèle à clé personnelle (BYOK).

Où va une requête envoyée par Grok CLI Grok CLI envoie ses requêtes à LM Warden : base_url pointe vers le warden et env_key contient une clé du warden. LM Warden vérifie la clé, interprète la requête au format OpenAI Chat Completions, la place en file d’attente selon la priorité de la clé, puis la confie au routeur de réplicas, qui maintient chaque session sur le réplica détenant déjà son cache (une copie du modèle par GPU). Grok CLI base_url the warden, at /v1 env_key LMWARDEN_KEY holds vw_… 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
Où va une requête envoyée par Grok CLI Grok CLI envoie ses requêtes à LM Warden : base_url pointe vers le warden et env_key contient une clé du warden. LM Warden vérifie la clé, interprète la requête au format OpenAI Chat Completions, la place en file d’attente selon la priorité de la clé, puis la confie au routeur de réplicas, qui maintient chaque session sur le réplica détenant déjà son cache (une copie du modèle par GPU). Grok CLI base_url the warden, at /v1 env_key LMWARDEN_KEY holds vw_… 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
Où va une requête envoyée par Grok CLI : les deux paramètres que génère Connect, le warden au centre, puis une copie du modèle par GPU.

En clair : Grok CLI envoie ses requêtes à LM Warden : base_url pointe vers le warden et env_key contient une clé du warden. LM Warden vérifie la clé, interprète la requête au format OpenAI Chat Completions, la place en file d’attente selon la priorité de la clé, puis la confie au routeur de réplicas, qui maintient chaque session sur le réplica détenant déjà son cache (une copie du modèle par GPU).

Protocole
OpenAI Chat Completions
Prise en charge
Modèles locaux uniquement

Modèles locaux uniquement, via Chat Completions (api_backend = chat_completions). Il n’y a pas de relais vers xAI, et un modèle BYOK ne nécessite aucun identifiant xAI. session_summary maintient sur ce modèle les requêtes de Grok qui génèrent les titres de session ; sans lui, Grok demande grok-4.6 à ce warden et reçoit une erreur 404. Grok ajoute ses propres sections à config.toml quand il s’exécute. Le grok-cli communautaire (npm grok-dev) est un autre outil : le chat fonctionne, les appels d’outils non.

Prérequis

  • Nécessite un modèle capable d’appeler des outils (modifications agentiques).
  • Fonctionne au mieux avec au moins 32 768 jetons de contexte.

Configuration

Dans la console, Connect génère ces fichiers avec l’adresse de votre warden, votre clé et le modèle choisi. Ils sont présentés ici avec des valeurs fictives.

Grok Build (officiel)

Une entrée de modèle dans ~/.grok/config.toml ; la clé provient de LMWARDEN_KEY. Installation : curl -fsSL https://x.ai/cli/install.sh | bash, ou npm i -g @xai-official/grok

config.toml (~/.grok/config.toml)
[model.lmwarden]
model = "your-served-model-name"
name = "LM Warden · your-served-model-name"
base_url = "https://your-warden/v1"
env_key = "LMWARDEN_KEY"
api_backend = "chat_completions"
context_window = 32768

[models]
default = "lmwarden"
session_summary = "lmwarden"
# The model's context window is unknown: 32768 is a guess. Set it to the model's real window.
Shell
export LMWARDEN_KEY=vw_YOUR_KEY
grok -m lmwarden

grok-cli communautaire

Le grok-cli communautaire lit son URL de base, sa clé et son modèle dans les variables d’environnement et nécessite que Bun soit installé. Le chat fonctionne ; les appels d’outils échouent, car son SDK xAI rejette les fragments d’appel d’outil qui arrivent en plusieurs morceaux, comme vLLM les envoie en streaming.

Shell
export GROK_BASE_URL=https://your-warden/v1
export GROK_API_KEY=vw_YOUR_KEY
export GROK_MODEL=your-served-model-name
npx -y grok-dev

Documentation officielle : https://docs.x.ai/build/settings/reference (consultée le 2026-10-04).