pi-lmstudio
v1.5.0
Published
LM Studio model provider extension for Pi coding agent
Readme
pi-lmstudio
An extension for the Pi coding agent that integrates your local LLMs running in LM Studio directly into your AI-assisted coding workflow.
Prerequisites
- Pi Coding Agent installed.
- LM Studio installed and running.
- LM Studio Local Server enabled:
- Open LM Studio.
- Go to the Local Server tab.
- Turn on the switch.
Installation
pi install npm:pi-lmstudioConfiguration
By default, the extension connects to LM Studio at http://127.0.0.1:1234.
To customize the URL, create or modify ~/.pi/agent/lmstudio.json:
{ "url": "http://127.0.0.1:1234" }You can also use environment variables (prefix with $):
{ "url": "$LM_STUDIO_URL" }Multiple servers
To connect to several LM Studio instances at once (e.g. a desktop plus a remote GPU box), use the urls list instead. Each entry needs a name, and its models appear in the picker under lmstudio/<name>:
{
"urls": [
{ "name": "desktop", "url": "http://127.0.0.1:1234" },
{ "name": "gpu-box", "url": "$GPU_BOX_URL" }
]
}Notes:
- Unreachable servers are skipped and picked up automatically once they come online (refreshed each turn).
- If both
urlandurlsare set,urlstakes precedence andurlis ignored.
Authentication
LM Studio can be configured to require a Bearer token for API access. When using the urls list form, add a token field to any entry that needs it. The token field accepts either a literal string or an environment variable reference (prefixed with $):
{
"urls": [
{ "name": "desktop", "url": "http://127.0.0.1:1234" },
{ "name": "gpu-box", "url": "http://10.0.0.5:1234", "token": "my-secret-token" },
{ "name": "remote", "url": "http://10.0.0.6:1234", "token": "$LM_STUDIO_TOKEN" }
]
}The token is sent as an Authorization: Bearer header for both model discovery and chat requests.
Usage
Launch Pi: Extensions are automatically loaded on startup.
piSelect a Model:
- Use the
/modelcommand. - Or use
Ctrl+P(Command Palette) and search for your model. - Look for models prefixed with
lmstudio.
- Use the
Notes
Context Length
- The actual usable context length is only reported after the model is fully loaded. The extension reloads the model info to retrieve the accurate value.
