STOBE Local LLM Guide

Run a large language model (LLM) on your own hardware. Start with LM Studio inside DwemerDistro, test it, then connect STOBE. No separate Windows model app is needed for this route.

Before You Start

  • Have the mod working first. This guide changes the language model. It does not install the game plugin or set up speech. See Installation.
  • Start small. Choose a chat or instruction model that fits your free memory. The game, model, and speech services share your hardware.
  • Test one profile. Keep your current connector available until local dialogue works.

Local models avoid a hosted provider's per-request charges. Speed, dialogue quality, and reliable actions still depend on the model and your hardware.

1. Set Up LLM Studio In DwemerDistro

The launcher calls this component LLM Studio. It runs LM Studio's engine inside DwemerDistro and gives you a web manager.

  1. Start DwemerDistro.
  2. Open the launcher's Components page.
  3. Find LLM Studio under Local Language Models.
  4. Install the component if it is not already installed.
  5. Select Open Manager.
  6. Select Start at the top of the manager if the server is stopped.
  7. Open Models, choose a model under Download, and select Download.
  8. Wait for the download to finish.
  9. Select that model under Installed, then select Load.

Installed is not loaded. Starting the server and downloading a model do not load it. Leave advanced load settings at their defaults for your first test. Unload the current model before switching to another.

If LLM Studio is missing, update DwemerDistro and the launcher, then reopen Components. If the manager says Locked, reopen it using Open Manager.

Check The Model And Copy Its Details

  1. Open the manager's Test tab.
  2. Send a short prompt, such as Reply with Hello., using Test.
  3. Wait for a reply before continuing.
  4. Select Copy ID beside the loaded model and keep that value.
  5. Open Server and copy Chat URL.

For a mod server in the same DwemerDistro environment, the full chat URL is:

http://127.0.0.1:1234/v1/chat/completions

Use Chat URL, not API base. The model value is the loaded model's ID, not the connector's friendly name or a guessed download filename.

2. Connect STOBE

A connector tells STOBE where to send model requests. Create one without replacing your existing connector.

  1. Open Configuration → LLM in the mod's web interface.
  2. Select New Connector.
  3. Choose Custom as the service.
  4. Give it a recognizable Name, such as Distro local model.
  5. Paste the manager's Chat URL into URL.
  6. Paste the loaded model's Copy ID value into Model.
  7. Choose OpenAI JSON as the Driver.
  8. Leave the API key unselected for the bundled distro server.
  9. Select Save, then Test.

Two tests, two jobs: the manager test checks that the model generates text. The connector test checks that STOBE's server can reach it and read its response. Continue only when both work.

The URL must end in /v1/chat/completions. Leave the advanced JSON and reasoning settings unchanged unless a specific test failure calls for a change. See Large Language ModelsLocal LLMs for other connector options.

3. Use It In Game

  1. Open Profiles in the mod's web interface.
  2. Clone a working profile or open the profile you want to test.
  3. Select your local connector for Standard LLM.
  4. Save the profile.
  5. Assign that profile to a test character.
  6. Use Standard for the in-game conversation model and try a short conversation.

Fast, Powerful, and Experimental are separate slots. They keep using their assigned connectors. Diaries, memories, and other background jobs also have their own assignments; test them separately before moving them to the local model.

Player2 can override local choices when enabled in Quickstart. If the wrong model replies, check Player2, the character's profile or overrides, and the selected conversation slot.

Optional: Start It With DwemerDistro

After testing, open the manager's Server tab. Enable Start with DwemerDistro, choose a Startup model, and select Save. Without a startup model, starting the engine alone does not load one.

The manager can unload an idle model. If it shows No model loaded, return to Models and load it before testing again. Stopping the engine leaves downloaded models in place.

Alternative: Use A Separate Model App

Use this route if you already run a model app on Windows or another computer. The connector and profile steps above stay the same; change the URL and model ID to those supplied by your app.

Windows LM Studio

  1. Install the LM Studio desktop app.
  2. Download and load a chat or instruction model.
  3. Open Developer and turn on Start server.
  4. Copy the model identifier and use the app's chat-completions address.

If the mod server cannot reach the Windows app through loopback, enable Serve on Local Network and use the Windows IPv4 address. See LM Studio's network instructions.

KoboldCPP

  1. Download KoboldCPP.
  2. Load a compatible GGUF chat model and start its server.
  3. Confirm it generates text in its own interface.
  4. Use its OpenAI-compatible chat endpoint and the model ID it reports.

See the KoboldCPP setup guide for model loading and hardware settings.

Which Address Do I Use?

The mod's server sends the request. Choose an address it can reach, even if your browser or game runs somewhere else.

Model locationExample full chat URL
LLM Studio inside the same DwemerDistrohttp://127.0.0.1:1234/v1/chat/completions
Separate LM Studio on Windowshttp://<WINDOWS_IP>:1234/v1/chat/completions
Separate KoboldCPP on Windowshttp://<WINDOWS_IP>:5001/v1/chat/completions

For a Windows app, run ipconfig on its PC and use the active Ethernet or Wi-Fi IPv4 address, for example 192.168.1.25. Confirm the app's actual port and allow the connection on your private network.

127.0.0.1 means the environment making the request. It works for the bundled engine and mod server in the same DwemerDistro. It does not automatically reach a Windows-only app or another PC.

If the game is on another PC but the mod server and bundled engine share one DwemerDistro, keep the model's loopback URL. See Remote Hosting when the model itself is on another machine. Ports shown here are defaults; use your service's actual address.

Keep The First Setup Simple

  • Memory: a smaller quantized model leaves more room for the game and speech services. A successful download does not prove it fits in memory.
  • Context: the model must fit the prompt and the reply. Shorten conversation history or optional context if requests exceed its limit.
  • Speed: test a second request after loading. A cold first request can be slower.
  • Actions: a good short greeting does not prove the model can follow game instructions or produce reliable actions. Test those in game.
  • Presets: if your server offers a Local LLM settings preset, review what it changes before applying it. It can reduce context and optional features; it does not download a model.

Fix A Problem

  1. No reply in the manager: start the engine, load a model, and wait for loading to finish. If loading fails, try a smaller model or lower memory use.
  2. Engine will not start: check whether another model server already uses port 1234.
  3. Connection refused or timeout: check the model's location, reachable address, port, and loading state. A Windows app may need network access enabled.
  4. 404 or model not found: paste the full Chat URL and the exact loaded model ID again.
  5. 401 or 403: a separately configured server may require authentication. Select its API key; the bundled distro endpoint needs none.
  6. Connector test works, but the game uses another model: check the character's profile, Standard/Fast/Powerful/Experimental slot, NPC overrides, and Player2 setting.
  7. Invalid output or repeated actions: try a model that follows instructions more reliably. Change one setting at a time and keep a working connector available.

If it still fails, include the mod and server versions, model ID, which hosting route you used, and the exact error. Remove keys before sharing logs. See Log Files.