Use local models in your browser
Connect LM Studio on a paired home computer, select the model in MaiaChat, and chat through your browser. The computer that has the model does the inference; the browser is your chat interface.
What you need
This setup keeps the model on your home computer while MaiaChat gives you a browser-based conversation.
- A capable home computer. Leave enough memory for the model and its context window alongside your normal applications.
- LM Studio. Install it, have a suitable chat model available, and start its local API.
- A paired MaiaChat bridge. Node.js must be installed on the computer that will run the bridge.
- A reachable computer. You need an internet connection, and the home computer must stay awake and online during a conversation.
Keep LM Studio's API on localhost. Do not port-forward an unauthenticated model server, and do not paste a local runtime token into a chat message. If a runtime needs a token, configure it on the paired computer.
Pair a computer you control
Pairing is account-scoped. MaiaChat generates the private command in the dialog; keep that command private and never publish it.
- 1Sign in and open Chat. Use /chat; an account is required for pairing.
- 2In Chat, open Device access, then choose Pair a computer you control.
- 3Choose Download bridge. Put the downloaded bridge in the folder where you will run it.
- 4Open a terminal in that folder and run the freshly generated private command shown by the pairing dialog. The exact command is unique to your account and expires; this guide intentionally does not reproduce one.
- 5For a sign-in service, run
node maia-device-bridge.mjs installonce after pairing. For temporary foreground use, runnode maia-device-bridge.mjs runand keep the terminal open. - 6Review the permission prompts. Enable Device Access and the global Apps approval, then enable only the capabilities you actually need.
Important permission boundary: Apps is a broad executable capability, not an inference-only security sandbox. An allowed app can reach files and networks beyond this toggle, so review every approval and keep the bridge account appropriately scoped.
For browser chat inference alone, you do not need shell, Files, Screen, or Browser permission. Those are separate capabilities for separate workflows.
Connect LM Studio and choose a model
Once the bridge is paired, connect the model route from the account that will use it.
- 1On the home computer, start LM Studio's Developer API. See the official LM Studio server documentation for the current start control.
- 2In Settings, find LM Studio / LM Link. Choose Connect LM Studio, or choose Refresh models after the connection already exists.
- 3If you use LM Link, read the official LM Link documentation. Remote models appear through LM Studio's local API; LM Studio remains responsible for the remote-device membership and network behavior.
- 4Return to Chat and choose the discovered model from the model selector. For the initial smoke test, use Chat mode, Tools off, and Autopilot off. Send a short prompt and confirm the response returns the chat to its idle state.
A model being listed is not proof that it supports tools, background execution, or every prompt size. Treat text generation, tool execution, and reconnection as separate checks.
Privacy and availability
“Local model” describes where inference runs, not an offline-only or end-to-end-encrypted conversation.
Inference takes place on the selected home computer, but hosted MaiaChat participates in routing the prompt and response. MaiaChat conversation storage and the service operator remain part of the trust boundary. Review your application privacy and data controls before sending sensitive material.
The home computer must remain awake and reachable, and the bridge and model server must keep running. A sleeping computer, a stopped bridge, changed local authentication, or insufficient memory can interrupt a request.
A separate-network mobile travel journey is still pending. Do not treat a successful local or hosted smoke test as proof that every mobile network, reconnect, or off-network travel scenario works.
Provider status
Dated observations from 5 September 2026. These are bounded test notes, not a claim that every model, tool, or network behaves identically.
- LM Studio
Observed: Qwen 27B answered in local MaiaChat and in hosted MaiaChat through the paired computer.
Still to verify: Separate-network and mobile travel, tools, reconnect acceptance, and an updated bridge's cached catalogue.
- oMLX · MLX-LM · Unsloth Studio
Observed: Paired-runtime adapters exist.
Still to verify: A complete live connection, model selection, response, and tool journey for each runtime.
- Local Ollama
Observed: A small bounded direct runtime request answered.
Still to verify: Both MaiaChat UI journeys; a native paired-home Ollama route is not established by that test.
- Ollama Cloud · Gemini API
Observed: Connection options exist.
Still to verify: Current-key validation and local/hosted chat and tool acceptance. Ollama Cloud is a cloud service with its own key and quota, not local Ollama.
- OpenRouter
Observed: Hosted chat and text-only Autopilot responses completed.
Still to verify: Local UI and bounded tool/recovery acceptance.
- Codex subscription
Observed: Hosted connection and text chat completed.
Still to verify: Generic MaiaChat tools; separate ChatGPT routes are not proved by that test.
Unsloth Studio: only models currently loaded in Studio appear in Chat. Load the model in Studio before refreshing the connection; a model downloaded on disk is not automatically ready for inference.
LM Studio capacity: a hosted calculator request did not fit when the selected model had a loaded 4096-token context; the prompt plus the reserved response exceeded that loaded context. Increase the loaded context in LM Studio, or reduce the conversation and enabled tools, then retry. This is a capacity example, not a promise that every model shares the same limit.
Tool support needs its own evidence. The tested text paths do not by themselves prove generic MaiaChat calculator tools, tool-schema compatibility, or a successful action result.
Troubleshooting
Work from the route you actually selected. A server-local status is not the same thing as a paired home computer.
- “Not running” in the server-local check. That check describes the machine hosting MaiaChat, not your paired home computer. Use the paired LM Studio connection above it.
- The model is missing. Start or load it, then use Refresh models. An embedding-only model is not a chat choice; older bridge metadata may need a bridge update and fresh discovery.
- Authentication is required. Check the local runtime token configuration and the device approval shown by MaiaChat. Do not disable authentication or publish the local API to work around the error.
- The model cannot load. Choose a smaller model or free memory safely on the inference computer. Do not unload a model another application is using.
- Chat works but Autopilot fails. Paired-model background execution is not yet accepted. Its authorization is separate from foreground device permission; use Chat for the currently verified local-model path.
- A tool action never happens. Text generation is not proof of tool support. Check tool-schema support, execution permission, and the returned tool result separately.
- The context is too small. Increase the loaded context in LM Studio, or reduce the conversation and enabled tools. The 4096-token example above counts both the prompt and reserved response.
Before recording a model comparison
Keep the comparison reproducible and separate observed output from an assistant's claim about an action.
- Record the route. Note the exact model, runtime, connection route, and whether it is local, paired, or hosted.
- Record limits. Capture model size, context limit, prompt, and output limit.
- Hold conditions steady. Compare the same task under the same prompt, permissions, device, and network conditions.
- Show action evidence. Distinguish loading time from response time, and show a tool result or existing file when the task requires an action.