> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# LM Studio

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](https://lmstudio.ai/).

## Démarrage rapide

1. Installez LM Studio (desktop) ou `llmster` (headless), puis démarrez le serveur local :

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
curl -fsSL https://lmstudio.ai/install.sh | bash
```

2. Démarrez le serveur

Assurez-vous de démarrer l’application desktop ou d’exécuter le daemon avec la commande suivante :

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
lms daemon up
```

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
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](https://lmstudio.ai/docs/developer/core/ttl-and-auto-evict).

3. Si l’authentification LM Studio est activée, définissez `LM_API_TOKEN` :

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
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](https://lmstudio.ai/docs/developer/core/authentication).

4. Lancez l’onboarding et choisissez `LM Studio` :

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw onboard
```

5. 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 :

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
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) :

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw onboard \
  --non-interactive \
  --accept-risk \
  --auth-choice lmstudio
```

Ou indiquez l’URL de base, le modèle et la clé d’API facultative :

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
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

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  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` :

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
# Start via desktop app, or headless:
lms server start --port 1234
```

Vérifiez que l’API est accessible :

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
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](https://lmstudio.ai/docs/developer/core/authentication).
* 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 :

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  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 :

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  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

* [Sélection de modèle](/fr/concepts/model-providers)
* [Ollama](/fr/providers/ollama)
* [Modèles locaux](/fr/gateway/local-models)
