Passer au contenu principal
LM Studio est une application conviviale mais puissante pour exécuter des modèles à poids ouverts sur votre propre matériel. Elle vous permet d’exécuter des modèles llama.cpp (GGUF) ou MLX (Apple Silicon). Elle est disponible sous forme d’application graphique ou de daemon headless (llmster). Pour la documentation produit et de configuration, consultez lmstudio.ai.

Démarrage rapide

  1. Installez LM Studio (desktop) ou llmster (headless), puis démarrez le serveur local :
curl -fsSL https://lmstudio.ai/install.sh | bash
  1. Démarrez le serveur
Assurez-vous de démarrer l’application desktop ou d’exécuter le daemon avec la commande suivante :
lms daemon up
lms server start --port 1234
Si vous utilisez l’application, assurez-vous que le JIT est activé pour une expérience fluide. En savoir plus dans le guide JIT et TTL de LM Studio.
  1. Si l’authentification LM Studio est activée, définissez LM_API_TOKEN :
export LM_API_TOKEN="your-lm-studio-api-token"
Si l’authentification LM Studio est désactivée, vous pouvez laisser la clé d’API vide pendant la configuration interactive d’OpenClaw. Pour les détails de configuration de l’authentification LM Studio, consultez Authentification LM Studio.
  1. Lancez l’onboarding et choisissez LM Studio :
openclaw onboard
  1. Dans l’onboarding, utilisez l’invite Default model pour choisir votre modèle LM Studio.
Vous pouvez aussi le définir ou le modifier plus tard :
openclaw models set lmstudio/qwen/qwen3.5-9b
Les clés de modèle LM Studio suivent le format author/model-name (par exemple qwen/qwen3.5-9b). Les références de modèle OpenClaw ajoutent le nom du fournisseur en préfixe : lmstudio/qwen/qwen3.5-9b. Vous pouvez trouver la clé exacte d’un modèle en exécutant curl http://localhost:1234/api/v1/models et en consultant le champ key.

Onboarding non interactif

Utilisez l’onboarding non interactif lorsque vous voulez scripter la configuration (CI, provisionnement, bootstrap distant) :
openclaw onboard \
  --non-interactive \
  --accept-risk \
  --auth-choice lmstudio
Ou indiquez l’URL de base, le modèle et la clé d’API facultative :
openclaw onboard \
  --non-interactive \
  --accept-risk \
  --auth-choice lmstudio \
  --custom-base-url http://localhost:1234/v1 \
  --lmstudio-api-key "$LM_API_TOKEN" \
  --custom-model-id qwen/qwen3.5-9b
--custom-model-id prend la clé du modèle telle que renvoyée par LM Studio (par exemple qwen/qwen3.5-9b), sans le préfixe de fournisseur lmstudio/. Pour les serveurs LM Studio authentifiés, passez --lmstudio-api-key ou définissez LM_API_TOKEN. Pour les serveurs LM Studio non authentifiés, omettez la clé ; OpenClaw stocke un marqueur local non secret. --custom-api-key reste pris en charge pour la compatibilité, mais --lmstudio-api-key est préféré pour LM Studio. Cela écrit models.providers.lmstudio et définit le modèle par défaut sur lmstudio/<custom-model-id>. Lorsque vous fournissez une clé d’API, la configuration écrit aussi le profil d’authentification lmstudio:default. La configuration interactive peut demander une longueur de contexte de chargement préférée facultative et l’applique à tous les modèles LM Studio découverts qu’elle enregistre dans la configuration. La configuration du Plugin LM Studio fait confiance au point de terminaison LM Studio configuré pour les requêtes de modèle, y compris les hôtes loopback, LAN et tailnet. Les origines metadata/link-local nécessitent toujours un opt-in explicite. Vous pouvez vous désinscrire en définissant models.providers.lmstudio.request.allowPrivateNetwork: false.

Configuration

Compatibilité de l’utilisation en streaming

LM Studio est compatible avec l’utilisation en streaming. Lorsqu’il n’émet pas d’objet usage au format OpenAI, OpenClaw récupère les décomptes de tokens depuis les métadonnées de style llama.cpp timings.prompt_n / timings.predicted_n. Le même comportement d’utilisation en streaming s’applique à ces backends locaux compatibles OpenAI :
  • vLLM
  • SGLang
  • llama.cpp
  • LocalAI
  • Jan
  • TabbyAPI
  • text-generation-webui

Compatibilité du raisonnement

Lorsque la découverte /api/v1/models de LM Studio signale des options de raisonnement propres à un modèle, OpenClaw expose les valeurs reasoning_effort compatibles OpenAI correspondantes dans les métadonnées de compatibilité du modèle. Les versions actuelles de LM Studio peuvent annoncer des options d’interface binaires comme allowed_options: ["off", "on"] tout en rejetant ces valeurs sur /v1/chat/completions ; OpenClaw normalise cette forme de découverte binaire en none, minimal, low, medium, high et xhigh avant d’envoyer les requêtes. Les anciennes configurations LM Studio enregistrées contenant des cartes de raisonnement off/on sont normalisées de la même manière lorsque le catalogue est chargé.

Configuration explicite

{
  models: {
    providers: {
      lmstudio: {
        baseUrl: "http://localhost:1234/v1",
        apiKey: "${LM_API_TOKEN}",
        api: "openai-completions",
        models: [
          {
            id: "qwen/qwen3-coder-next",
            name: "Qwen 3 Coder Next",
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 128000,
            maxTokens: 8192,
          },
        ],
      },
    },
  },
}

Dépannage

LM Studio non détecté

Assurez-vous que LM Studio est en cours d’exécution. Si l’authentification est activée, définissez aussi LM_API_TOKEN :
# Start via desktop app, or headless:
lms server start --port 1234
Vérifiez que l’API est accessible :
curl http://localhost:1234/api/v1/models

Erreurs d’authentification (HTTP 401)

Si la configuration signale HTTP 401, vérifiez votre clé d’API :
  • Vérifiez que LM_API_TOKEN correspond à la clé configurée dans LM Studio.
  • Pour les détails de configuration de l’authentification LM Studio, consultez Authentification LM Studio.
  • Si votre serveur ne nécessite pas d’authentification, laissez la clé vide pendant la configuration.

Chargement de modèle juste-à-temps

LM Studio prend en charge le chargement de modèle juste-à-temps (JIT), où les modèles sont chargés à la première requête. OpenClaw précharge les modèles via le point de terminaison de chargement natif de LM Studio par défaut, ce qui aide lorsque le JIT est désactivé. Pour laisser le JIT, le TTL d’inactivité et le comportement d’éviction automatique de LM Studio gérer le cycle de vie des modèles, désactivez l’étape de préchargement d’OpenClaw :
{
  models: {
    providers: {
      lmstudio: {
        baseUrl: "http://localhost:1234/v1",
        api: "openai-completions",
        params: { preload: false },
        models: [{ id: "qwen/qwen3.5-9b" }],
      },
    },
  },
}

Hôte LM Studio sur LAN ou tailnet

Utilisez l’adresse joignable de l’hôte LM Studio, conservez /v1, et assurez-vous que LM Studio est lié au-delà du loopback sur cette machine :
{
  models: {
    providers: {
      lmstudio: {
        baseUrl: "http://gpu-box.local:1234/v1",
        apiKey: "lmstudio",
        api: "openai-completions",
        models: [{ id: "qwen/qwen3.5-9b" }],
      },
    },
  },
}
lmstudio fait automatiquement confiance à son point de terminaison local/privé configuré pour les requêtes de modèle protégées. Les entrées de fournisseurs personnalisés/locaux compatibles OpenAI font aussi confiance à leur origine baseUrl configurée exacte, sauf les origines metadata/link-local ; les requêtes vers des ports ou destinations privés différents nécessitent toujours models.providers.<id>.request.allowPrivateNetwork: true. Définissez models.providers.<id>.request.allowPrivateNetwork: false pour vous désinscrire de la confiance accordée à l’origine exacte.

Connexe