Backends

LM Studio

LM Studio is a popular desktop app for running local LLMs. Pendra speaks to its local OpenAI-style server and can install catalogue models into it, with one caveat: uninstall has to happen inside the LM Studio app, not via Pendra.

What's supported

CapabilityStatus
Chat completions
Embeddings
Image generation
Audio transcription
Model install
Model uninstall✗ — remove from the LM Studio app
LM Studio's REST API exposes install but not delete, so Pendra rejects uninstall requests with a clear error rather than pretending. Open the LM Studio app and remove the model there.

Connection

  • Default port: 1234
  • Auto-discovery probes: http://localhost:1234, then http://host.docker.internal:1234
  • Verification: the worker calls /api/v0/models (LM Studio's proprietary list endpoint).
  • Override: set LMSTUDIO_ENDPOINT in worker config.

Model discovery

LM Studio exposes loaded models via /api/v0/models. To enrich with size / parameter metadata for unloaded models too, the Pendra worker shells out to the lms ls --json CLI when it's present. Both LM Studio's REST server and the lms CLI must be installed for the full picture.

Curated installs

Catalogue models with an lmstudio_id variant can be installed on a worker that has LM Studio active. From the console install modal, pick LM Studio as the destination backend; Pendra dispatches the install through LM Studio's REST API.

Cross-backend models (e.g. a Qwen variant available on both Ollama and LM Studio) default to Ollama when both backends are active on the worker. Pin LM Studio explicitly in the install modal to override.

Related