Providers

LM Studio

LM Studio is een gebruiksvriendelijke maar krachtige app om open-weight-modellen op je eigen hardware uit te voeren. Hiermee kun je llama.cpp- (GGUF) of MLX-modellen (Apple Silicon) uitvoeren. Beschikbaar als GUI-pakket of als headless daemon (llmster). Raadpleeg voor product- en installatiedocumentatie lmstudio.ai.

Snel aan de slag

  1. Installeer LM Studio (desktop) of llmster (headless) en start daarna de lokale server:
curl -fsSL https://lmstudio.ai/install.sh | bash
  1. Start de server

Zorg ervoor dat je de desktop-app start of de daemon uitvoert met de volgende opdracht:

lms daemon up
lms server start --port 1234

Als je de app gebruikt, zorg er dan voor dat JIT is ingeschakeld voor een soepele ervaring. Lees meer in de LM Studio JIT- en TTL-gids.

  1. Als LM Studio-authenticatie is ingeschakeld, stel dan LM_API_TOKEN in:
export LM_API_TOKEN="your-lm-studio-api-token"

Als LM Studio-authenticatie is uitgeschakeld, kun je de API-sleutel leeg laten tijdens de interactieve OpenClaw-installatie.

Zie LM Studio-authenticatie voor details over het instellen van LM Studio-authenticatie.

  1. Voer onboarding uit en kies LM Studio:
openclaw onboard
  1. Gebruik tijdens onboarding de prompt Default model om je LM Studio-model te kiezen.

Je kunt dit ook later instellen of wijzigen:

openclaw models set lmstudio/qwen/qwen3.5-9b

LM Studio-modelsleutels volgen de indeling author/model-name (bijv. qwen/qwen3.5-9b). OpenClaw modelverwijzingen voegen de providernaam ervoor toe: lmstudio/qwen/qwen3.5-9b. Je vindt de exacte sleutel voor een model door curl http://localhost:1234/api/v1/models uit te voeren en naar het veld key te kijken.

Niet-interactieve onboarding

Gebruik niet-interactieve onboarding wanneer je de installatie wilt scripten (CI, provisioning, externe bootstrap):

openclaw onboard \
  --non-interactive \
  --accept-risk \
  --auth-choice lmstudio

Of specificeer de basis-URL, het model en de optionele API-sleutel:

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 gebruikt de modelsleutel zoals die door LM Studio wordt geretourneerd (bijv. qwen/qwen3.5-9b), zonder het providerprefix lmstudio/.

Geef voor geauthenticeerde LM Studio-servers --lmstudio-api-key door of stel LM_API_TOKEN in. Laat voor niet-geauthenticeerde LM Studio-servers de sleutel weg; OpenClaw slaat een lokale niet-geheime markering op.

--custom-api-key blijft ondersteund voor compatibiliteit, maar --lmstudio-api-key heeft de voorkeur voor LM Studio.

Dit schrijft models.providers.lmstudio en stelt het standaardmodel in op lmstudio/<custom-model-id>. Wanneer je een API-sleutel opgeeft, schrijft de installatie ook het authenticatieprofiel lmstudio:default.

Interactieve installatie kan vragen om een optionele voorkeurslengte voor de laadcontext en past die toe op alle ontdekte LM Studio-modellen die in de configuratie worden opgeslagen. De Plugin-configuratie van LM Studio vertrouwt het geconfigureerde LM Studio-eindpunt voor modelverzoeken, inclusief loopback-, LAN- en tailnet-hosts. Je kunt dit uitschakelen door models.providers.lmstudio.request.allowPrivateNetwork: false in te stellen.

Configuratie

Compatibiliteit met streaminggebruik

LM Studio is compatibel met streaminggebruik. Wanneer het geen OpenAI-vormgegeven usage-object uitzendt, herstelt OpenClaw tokenaantallen uit llama.cpp-stijl timings.prompt_n / timings.predicted_n-metadata.

Hetzelfde gedrag voor streaminggebruik geldt voor deze OpenAI-compatibele lokale backends:

  • vLLM
  • SGLang
  • llama.cpp
  • LocalAI
  • Jan
  • TabbyAPI
  • text-generation-webui

Compatibiliteit met thinking

Wanneer de ontdekking via /api/v1/models van LM Studio modelspecifieke redeneeropties rapporteert, stelt OpenClaw de bijpassende OpenAI-compatibele reasoning_effort- waarden beschikbaar in modelcompatibiliteitsmetadata. Huidige LM Studio-builds kunnen binaire UI-opties adverteren, zoals allowed_options: ["off", "on"], terwijl ze die waarden op /v1/chat/completions weigeren; OpenClaw normaliseert die binaire ontdekkingsvorm naar none, minimal, low, medium, high en xhigh voordat verzoeken worden verzonden. Oudere opgeslagen LM Studio-configuratie die off/on-redeneermaps bevat, wordt op dezelfde manier genormaliseerd wanneer de catalogus wordt geladen.

Expliciete configuratie

{
  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,
          },
        ],
      },
    },
  },
}

Probleemoplossing

LM Studio niet gedetecteerd

Zorg ervoor dat LM Studio actief is. Als authenticatie is ingeschakeld, stel dan ook LM_API_TOKEN in:

# Start via desktop app, or headless:
lms server start --port 1234

Controleer of de API bereikbaar is:

curl http://localhost:1234/api/v1/models

Authenticatiefouten (HTTP 401)

Als de installatie HTTP 401 meldt, controleer dan je API-sleutel:

  • Controleer of LM_API_TOKEN overeenkomt met de sleutel die in LM Studio is geconfigureerd.
  • Zie LM Studio-authenticatie voor details over het instellen van LM Studio-authenticatie.
  • Als je server geen authenticatie vereist, laat de sleutel dan leeg tijdens de installatie.

Just-in-time model laden

LM Studio ondersteunt just-in-time (JIT) model laden, waarbij modellen bij het eerste verzoek worden geladen. OpenClaw laadt modellen standaard vooraf via het native laadeindpunt van LM Studio, wat helpt wanneer JIT is uitgeschakeld. Schakel de preload-stap van OpenClaw uit om het JIT-, idle-TTL- en auto-evict-gedrag van LM Studio de levenscyclus van modellen te laten beheren:

{
  models: {
    providers: {
      lmstudio: {
        baseUrl: "http://localhost:1234/v1",
        api: "openai-completions",
        params: { preload: false },
        models: [{ id: "qwen/qwen3.5-9b" }],
      },
    },
  },
}

LAN- of tailnet-LM Studio-host

Gebruik het bereikbare adres van de LM Studio-host, behoud /v1 en zorg ervoor dat LM Studio op die machine niet alleen aan loopback is gebonden:

{
  models: {
    providers: {
      lmstudio: {
        baseUrl: "http://gpu-box.local:1234/v1",
        apiKey: "lmstudio",
        api: "openai-completions",
        models: [{ id: "qwen/qwen3.5-9b" }],
      },
    },
  },
}

In tegenstelling tot generieke OpenAI-compatibele providers vertrouwt lmstudio automatisch het geconfigureerde lokale/privé-eindpunt voor afgeschermde modelverzoeken. Aangepaste loopback-provider-ID's zoals localhost of 127.0.0.1 worden ook automatisch vertrouwd; stel voor aangepaste provider-ID's voor LAN, tailnet of privé-DNS expliciet models.providers.<id>.request.allowPrivateNetwork: true in.

Gerelateerd