An AI streaming "buddy" like Neuro-sama
Oh, I see. LM Studio support feature was added just recently… In cases like this, it usually takes a while to stabilize…
Yes. Roll back to a known-good baseline first. Then re-introduce LM Studio as a single isolated change. That is the lowest-risk path here. Open-LLM-VTuber’s own docs warn that the project is still unstable and not easy to install, and the official quick start still uses Ollama + sherpa-onnx-asr + edge_tts as the baseline path. LM Studio support was added later in v1.2.0 , so mixing setup steps too early is a common way to end up with a broken state. (GitHub)
The two most likely causes
First, your checkout may be incomplete. The frontend is a git submodule, so the docs require either the official release package or git clone --recursive. If the submodule is missing, the web UI can fail with {"detail":"Not Found"}, and the FAQ says to fix that with git submodule update --init --recursive. (Open LLM Vtuber)
Second, your config may be stale. Since v1.1.0, conf.yaml is generated from templates and updated through a config template system. The v1.2.0 release notes mention fixes for config update bugs and changed project_id / organization_id defaults to null to prevent API errors. There are also issue reports showing warnings like “user config contains keys not present in default config,” which is exactly the sort of thing that happens after hand edits or upgrades across config format changes. (Open LLM Vtuber)
Recovery plan
1. Stop trying to fix LM Studio inside the current broken install
Make a copy of your current conf.yaml, then stop using it for the moment. This project’s own update notes say config files can change and should be backed up cautiously during updates. (GitHub)
2. Verify the repo itself is complete
In your project directory, run:
git submodule update --init --recursive
If you originally cloned without --recursive, this is required. If you want the cleanest reset, re-clone from the official repo with --recursive or use the official release ZIP from the release page, not GitHub’s green “Code → Download ZIP.” The docs explicitly say not to use that ZIP because it omits the frontend/submodule state. (Open LLM Vtuber)
3. Reset to the official baseline
The docs recommend Python >= 3.10 and < 3.13, uv as the primary environment manager, and:
uv sync
uv run run_server.py
Running once will generate config in some cases, but the docs actually recommend copying config_templates/conf.default.yaml to conf.yaml instead of relying on auto-generation. They also note that if you exit too late on first run, model downloads may start and partially downloaded files under models/ can block clean startup later. (Open LLM Vtuber)
My recommendation is stricter than the docs here: use a freshconf.yaml copied from the current template and treat your old file as reference only. That avoids stale keys.
4. Do not customize anything except the baseline LLM
For the first successful run, stay as close as possible to the quick start:
basic_memory_agentollama_llm- default ASR:
sherpa-onnx-asr - default TTS:
edge_tts - open the app in Chrome , because the docs call out known browser issues in Edge and Safari. (Open LLM Vtuber)
When it works, the backend should start and the web UI should be available at http://localhost:12393. Do not enable Letta yet. The agent docs say that if you switch to letta_agent, the LLM settings in conf.yaml stop being the effective source of truth and the actual model comes from the Letta server instead. (Open LLM Vtuber)
5. Only after the baseline works, swap Ollama for LM Studio
Open-LLM-VTuber’s LLM docs say LM Studio should be configured through openai_compatible_llm. The project treats most providers as wrappers over that same OpenAI-compatible format. (Open LLM Vtuber)
Use this minimal pattern:
agent_config:
agent_settings:
basic_memory_agent:
llm_provider: 'openai_compatible_llm'
llm_configs:
openai_compatible_llm:
base_url: 'http://localhost:1234/v1'
llm_api_key: 'somethingelse'
organization_id: null
project_id: null
model: 'PUT_THE_EXACT_LM_STUDIO_MODEL_ID_HERE'
temperature: 0.7
Why these fields:
- Open-LLM-VTuber’s docs show
openai_compatible_llmis the right backend for LM Studio and similar servers. (Open LLM Vtuber) - LM Studio’s docs say its OpenAI-compatible base URL should point to
http://localhost:1234/v1by default. (LM Studio) - Open-LLM-VTuber’s v1.2.0 release notes say
organization_idandproject_idwere changed tonullby default to prevent API errors. (Open LLM Vtuber)
6. Prove LM Studio itself works before involving Open-LLM-VTuber
Before starting Open-LLM-VTuber with LM Studio, confirm LM Studio independently:
- In LM Studio, go to the Developer tab and start the local server, or run
lms server start. (LM Studio) - Make sure the model is loaded into memory. Open-LLM-VTuber’s FAQ explicitly calls this out for LM Studio users. (Open LLM Vtuber)
- Check the visible model list:
curl http://localhost:1234/v1/models
LM Studio’s docs say this endpoint returns the models visible to the server. Use the exact model identifier it returns in conf.yaml. (LM Studio)
What not to change yet
Do not touch Letta, MCP, custom ASR, custom TTS, or remote access until local baseline works. The project is in active transition, v2 is being planned, and v1 is still receiving bug fixes rather than becoming simpler. Keeping the first working state narrow matters here. (GitHub)
Also check two easy failure points from the FAQ:
- a proxy that does not bypass
localhost - two backends competing for port
12393(Open LLM Vtuber)
The shortest practical sequence
git submodule update --init --recursive- replace
conf.yamlwith a fresh copy ofconfig_templates/conf.default.yaml uv sync- run the official quick-start baseline and confirm
http://localhost:12393works in Chrome - change only
llm_providerand theopenai_compatible_llmblock to LM Studio - verify LM Studio server is running and
curl http://localhost:1234/v1/modelsreturns the exact model id you put in config (Open LLM Vtuber)
Discussion in the ATmosphere