LM Warden

Cursor sur vos propres GPU.

Le remplacement de l’URL de base OpenAI de Cursor, pour discuter avec un modèle servi.

Où va une requête envoyée par Cursor Cursor envoie ses requêtes à LM Warden : Override OpenAI Base URL pointe vers le warden et OpenAI API 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). Cursor Override OpenAI Base URL the warden, at /v1 OpenAI API Key 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 Cursor Cursor envoie ses requêtes à LM Warden : Override OpenAI Base URL pointe vers le warden et OpenAI API 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). Cursor Override OpenAI Base URL the warden, at /v1 OpenAI API Key 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 Cursor : les deux paramètres que génère Connect, le warden au centre, puis une copie du modèle par GPU.

En clair : Cursor envoie ses requêtes à LM Warden : Override OpenAI Base URL pointe vers le warden et OpenAI API 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

Les requêtes partent des serveurs de Cursor : l’URL de ce warden doit donc être accessible depuis Internet, et un warden sur le réseau local ou en localhost ne fonctionnera pas. Les clés personnalisées ne fonctionnent qu’avec les modèles de chat : la complétion Tab continue d’utiliser les propres modèles de Cursor, et le mode Agent refuse les clés personnalisées avec les modèles de Cursor. La documentation actuelle de Cursor ne décrit plus le paramètre Override OpenAI Base URL ; son fonctionnement est connu grâce aux réponses de l’équipe Cursor sur son forum.

Prérequis

  • Les serveurs de Cursor appellent cette URL, elle doit donc être accessible depuis Internet.

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.

Discuter avec un modèle local

Cursor Settings > Models, puis ajoutez le nom du modèle comme modèle personnalisé.

Paramètres
OpenAI API Key: vw_YOUR_KEY
Override OpenAI Base URL: https://your-warden/v1
Custom model: your-served-model-name

Documentation officielle : https://cursor.com/docs/settings/api-keys (consultée le 2026-10-04).