{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreiddrapcipzoyogsejaq5qimcaclwnvzq4uxzsmtaxpzmijwyu6xgu",
"uri": "at://did:plc:pgryn3ephfd2xgft23qokfzt/app.bsky.feed.post/3mhwvkzdpu742"
},
"path": "/t/an-ai-streaming-buddy-like-neuro-sama/172830#post_10",
"publishedAt": "2026-03-25T23:11:03.000Z",
"site": "https://discuss.huggingface.co",
"tags": [
"GitHub",
"Open LLM Vtuber",
"LM Studio"
],
"textContent": "Oh, I see. LM Studio support feature was added just recently… In cases like this, it usually takes a while to stabilize…\n\n* * *\n\nYes. 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)\n\n## The two most likely causes\n\nFirst, 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)\n\nSecond, 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)\n\n## Recovery plan\n\n### 1. Stop trying to fix LM Studio inside the current broken install\n\nMake 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)\n\n### 2. Verify the repo itself is complete\n\nIn your project directory, run:\n\n\n git submodule update --init --recursive\n\n\nIf 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)\n\n### 3. Reset to the official baseline\n\nThe docs recommend Python `>= 3.10 and < 3.13`, `uv` as the primary environment manager, and:\n\n\n uv sync\n uv run run_server.py\n\n\nRunning 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)\n\nMy recommendation is stricter than the docs here: use a **fresh`conf.yaml` copied from the current template** and treat your old file as reference only. That avoids stale keys.\n\n### 4. Do not customize anything except the baseline LLM\n\nFor the first successful run, stay as close as possible to the quick start:\n\n * `basic_memory_agent`\n * `ollama_llm`\n * default ASR: `sherpa-onnx-asr`\n * default TTS: `edge_tts`\n * open the app in **Chrome** , because the docs call out known browser issues in Edge and Safari. (Open LLM Vtuber)\n\n\n\nWhen 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)\n\n### 5. Only after the baseline works, swap Ollama for LM Studio\n\nOpen-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)\n\nUse this minimal pattern:\n\n\n agent_config:\n agent_settings:\n basic_memory_agent:\n llm_provider: 'openai_compatible_llm'\n\n llm_configs:\n openai_compatible_llm:\n base_url: 'http://localhost:1234/v1'\n llm_api_key: 'somethingelse'\n organization_id: null\n project_id: null\n model: 'PUT_THE_EXACT_LM_STUDIO_MODEL_ID_HERE'\n temperature: 0.7\n\n\nWhy these fields:\n\n * Open-LLM-VTuber’s docs show `openai_compatible_llm` is the right backend for LM Studio and similar servers. (Open LLM Vtuber)\n * LM Studio’s docs say its OpenAI-compatible base URL should point to `http://localhost:1234/v1` by default. (LM Studio)\n * Open-LLM-VTuber’s v1.2.0 release notes say `organization_id` and `project_id` were changed to `null` by default to prevent API errors. (Open LLM Vtuber)\n\n\n\n### 6. Prove LM Studio itself works before involving Open-LLM-VTuber\n\nBefore starting Open-LLM-VTuber with LM Studio, confirm LM Studio independently:\n\n 1. In LM Studio, go to the **Developer** tab and start the local server, or run `lms server start`. (LM Studio)\n 2. Make sure the model is **loaded into memory**. Open-LLM-VTuber’s FAQ explicitly calls this out for LM Studio users. (Open LLM Vtuber)\n 3. Check the visible model list:\n\n\n\n\n curl http://localhost:1234/v1/models\n\n\nLM 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)\n\n## What not to change yet\n\nDo 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)\n\nAlso check two easy failure points from the FAQ:\n\n * a proxy that does not bypass `localhost`\n * two backends competing for port `12393` (Open LLM Vtuber)\n\n\n\n## The shortest practical sequence\n\n 1. `git submodule update --init --recursive`\n 2. replace `conf.yaml` with a fresh copy of `config_templates/conf.default.yaml`\n 3. `uv sync`\n 4. run the official quick-start baseline and confirm `http://localhost:12393` works in Chrome\n 5. change **only** `llm_provider` and the `openai_compatible_llm` block to LM Studio\n 6. verify LM Studio server is running and `curl http://localhost:1234/v1/models` returns the exact model id you put in config (Open LLM Vtuber)\n\n",
"title": "An AI streaming \"buddy\" like Neuro-sama"
}