Skip to main content
FlowDesk logoFlowDesk

Getting Muse Glimmer Talking to Your Obsidian Vault

The concrete procedure for connecting Muse Glimmer 30B to an Obsidian vault through Ollama or LM Studio's local OpenAI-compatible API and the Copilot plugin — the exact provider fields, the model-name and CORS traps that break the link, and the RAG behavior to test before relying on it.

For AppObsidianPluginsObsidian Copilot, Obsidian AI Providers, Local GPT

Getting Muse Glimmer into Obsidian is not a custom build. It is a local model runner exposing an OpenAI-compatible endpoint, plus an Obsidian plugin that knows how to send chat and retrieval requests to that endpoint. For note-app integration, the practical requirement is therefore two-layered: your machine has to run the 30B model, and the Obsidian side has to hit the exact local API shape the runner is serving.

Last checked: 2026-08-26. The Obsidian-side workflows cited here were demonstrated in published walkthroughs with other local models, not with Muse Glimmer specifically. Muse Glimmer’s runner availability, catalog names, and local-serving path come from the runner and model-release materials. Treat the Muse-specific model-name string as something to pin during your own test, not something to type from memory.

Muse Glimmer itself is Meta’s 30B open agentic model, released on 10 Aug 2026 under Apache 2.0; it is the model in this guide, not the Muse iPad mind-mapping app or a note-taking product by itself. Meta describes day-zero support across local and serving runtimes including Ollama, LM Studio, llama.cpp, MLX, vLLM, SGLang, ExecuTorch, and Unsloth-backed paths, which is why the Obsidian setup can ride on existing local API patterns rather than a Muse-only plugin. [1]

Private offline AI layer connecting note cards to a local model inside a laptop

Pick the runner before you open Obsidian settings

There are two sensible first routes: Ollama if you want the shortest terminal path, LM Studio if you want a visible local server panel and the clearest Copilot custom-provider fields. Both can expose a local endpoint. The difference is where you will debug when Obsidian says nothing useful.

RouteUse it whenLocal endpoint to care aboutMain trap
OllamaYou want the simplest model launch command and are comfortable checking local services from the terminal.http://127.0.0.1:11434Your Obsidian plugin may expect an Ollama provider URL rather than an OpenAI /v1 base URL.
LM StudioYou want a GUI server switch, a model dropdown, logs, and a Copilot setup with concrete provider fields.http://localhost:1234/v1CORS and exact model-name matching can make a working model look broken from Obsidian.

Do the hardware decision before this article, not halfway through Copilot troubleshooting. For the deeper quant and memory matrix, use Can Your Laptop Run Muse Glimmer 30B for Note Taking?. Here, the working assumption is narrower: you already chose to try Muse Glimmer locally, and now you need Obsidian to reach it repeatedly.

Serve Muse Glimmer locally first

Ollama: shortest launch path

Ollama’s path is the least mysterious at launch time: run the Muse Glimmer catalog entry locally, then point an Obsidian plugin at Ollama’s localhost service. The command shown by Ollama is:

ollama run muse-glimmer

Ollama’s Muse Glimmer materials also note an Apple Silicon MLX build, with catalog strings that may differ from the plain “muse-glimmer” name. That matters because Obsidian plugin fields often require the model identifier to match the runner’s catalog name exactly. [2][3]

For the Obsidian layer, keep the base Ollama service address visible: http://127.0.0.1:11434. If your plugin has an explicit Ollama provider, use that provider instead of pretending every local server behaves like OpenAI’s /v1 API. If your plugin asks for an OpenAI-compatible base URL, verify the plugin’s expected Ollama format rather than guessing.

LM Studio: easiest place to see the server

LM Studio’s value here is not that it makes Muse Glimmer more magical. It gives you a local server UI, a visible loaded model, and a base URL that lines up cleanly with the Copilot custom-provider workflow. LM Studio’s Muse Glimmer post documents local support, and the Obsidian Copilot walkthrough uses LM Studio’s local server at http://localhost:1234/v1. [4][5]

LM Studio local server interface exposing a local model through an OpenAI-compatible API endpoint

Before Obsidian enters the picture, LM Studio should already show the model loaded and the server running. Do not troubleshoot Copilot while the runner is still downloading weights, unloading the model, or showing a different model in the server panel.

Copilot through LM Studio: the fields that usually matter

The most copyable documented Obsidian route is Copilot pointed at LM Studio as a custom provider. In Copilot’s model settings, add a custom model and make the provider details boringly exact. The XDA walkthrough used provider “lm-studio,” base URL “http://localhost:1234/v1,” API key “local,” and a model-name string matching the model served by LM Studio. It also called out two failure points that are easy to miss: CORS must be enabled in LM Studio, and Copilot can override runner-level temperature and system-prompt settings. [5]

Copilot field or settingValue to start withWhy it fails
Providerlm-studioChoosing a generic OpenAI provider can send Copilot down the wrong assumptions for a local LM Studio server.
Base URLhttp://localhost:1234/v1Missing /v1, using the wrong port, or switching localhost and 127.0.0.1 inconsistently can make the plugin miss the running server.
API keylocalThe local server may not need a real cloud key, but Copilot still expects something in the field.
Model nameExact identifier shown by LM Studio for the loaded Muse Glimmer buildA near match is still a miss. Do not assume the Ollama tag and LM Studio catalog string are identical.
CORSEnabled in LM StudioA browser-side Obsidian plugin can be blocked even while the model responds perfectly inside the runner.
Temperature and system promptSet intentionally inside Copilot after connection worksCopilot-side settings can override the runner-level defaults you thought you were using.

The model-name row is where otherwise careful setups waste time. “muse-glimmer,” “muse-glimmer:30b-mlx,” and whatever LM Studio displays for a downloaded build are not interchangeable just because they refer to the same family. Copy the string from the runner’s currently served model list or server log.

Once Copilot can send a plain chat request, then adjust the assistant behavior. Doing it in the other order creates a false debugging trail: you change prompts, temperature, and vault instructions while the real problem is still CORS, a wrong base URL, or a model-name mismatch.

Ollama inside Obsidian: local provider first, embeddings second

The Ollama route is just as viable, but the concrete published Obsidian example uses local-provider plugins rather than the exact Copilot-plus-LM-Studio field set. Annvix’s walkthrough points Obsidian AI Providers at http://127.0.0.1:11434, uses a local chat model through Ollama, and separately uses local embeddings such as nomic-embed-text for retrieval-related work; it also mentions Local GPT as a local chat plugin path. [6]

That separation matters. Muse Glimmer answering a prompt is not the same thing as Muse Glimmer answering from your vault. A retrieval setup needs an index, an embedding model or embedding provider, and a plugin path that actually sends retrieved note context into the chat request. If the plugin only sends your question to the model, the model will answer from its parameters and whatever prompt text you gave it, not from your notes.

If you have already used a localhost OpenAI-compatible endpoint in another note app workflow, the pattern will feel familiar; the same endpoint discipline appears in our GLM 5.3 self-hosting guide. The Muse Glimmer-specific work is mostly the runner catalog string and the memory envelope, not a new Obsidian architecture.

Four-layer diagram showing notes, an Obsidian plugin bridge, a localhost gateway, and a local AI chip with a warning marker at the connection

Run the failure checks in layers

A local Obsidian AI failure is rarely one failure. It is usually a chain where one layer works and the next one silently does not. Check the layers in this order, and stop changing things above the layer that has not passed.

LayerWhat to verifyWhat a bad result usually means
RunnerMuse Glimmer is loaded and can answer inside Ollama or LM Studio before Obsidian is involved.The model is not downloaded, not loaded, too large for the current memory setting, or the runner selected a different model.
EndpointThe runner is serving on the address your plugin will use: Ollama at http://127.0.0.1:11434 or LM Studio at http://localhost:1234/v1.The plugin is pointing at a dead port, a wrong base path, or a server that was never started.
Plugin reachabilityObsidian can send a simple prompt and receive any answer at all.CORS, provider selection, API-key placeholder, or base-URL format is wrong.
Model identityThe plugin is calling the exact model name currently served by the runner.The model exists locally, but the request names a different catalog string.
Settings ownershipTemperature, system prompt, and chat behavior are set in the layer that actually controls the request.Copilot is overriding values you set in the runner UI.
Vault retrievalThe answer quotes or cites context that really came from the intended notes.The chat works, but RAG is missing, mis-indexed, too narrow, too broad, or inventing around weak context.

The CORS row deserves its own annoyance tax. If LM Studio can answer in its own UI but Copilot cannot reach it from Obsidian, do not assume Muse Glimmer is the problem. In the documented LM Studio-plus-Copilot flow, CORS has to be enabled for the browser-side request path. [5]

The settings-ownership row is just as good at wasting an evening. If you tuned temperature or system instructions in LM Studio and Copilot behaves differently, check Copilot’s own model settings before blaming the model. The XDA walkthrough explicitly notes that Copilot can override the runner’s temperature and system-prompt settings. [5]

The RAG test is not optional

A successful chat response only proves that Obsidian can reach the model. It does not prove that the model is using your vault well. Before relying on Muse Glimmer over personal notes, run a small acceptance test against notes whose contents you already know.

  1. Pick a few notes with facts that are not likely to be in the model’s training data.
  2. Ask for an answer that requires those notes, and require the answer to name the source note titles or quote short supporting phrases.
  3. Ask a negative-control question: something absent from the vault where the correct behavior is to say it cannot find support.
  4. Change the wording of the same question and confirm the retrieved notes stay relevant.
  5. Only then test larger vault-wide questions.

The reason for this caution is not theoretical. In an obsidian-copilot GitHub discussion, users reported heavy hallucination with smaller local RAG setups, including one case where a 24 GB Mac mini M4 struggled with vault-scale context on a 12B model. That is a discussion thread, not a benchmark, but it names the failure that matters in private-note use: the assistant can sound confident while retrieval is too weak or the context window is being used badly. [7]

Do not repair that by simply asking broader questions. If a vault-wide query fails, narrow the scope: query a folder, a tag group, or a known note set; rebuild the embedding index if the plugin supports it; and verify that the embedding model is actually configured. A local 30B model can still invent when the retrieval layer feeds it thin, irrelevant, or stale context.

Where system requirements still enter the Obsidian setup

The system-requirements question for note app integration is not just “can the model load?” Obsidian, the plugin, the local server, embeddings, retrieval index work, and the model’s KV cache all compete for the same practical machine budget. Muse Glimmer’s materials describe a very large default context of 131,072 tokens, with support up to 262,144 tokens; that context size is a major peak-memory variable, especially once local retrieval starts sending larger note bundles. [1][8]

For this guide, treat 24–32 GB unified memory or VRAM as the realistic starting envelope for 4-bit local use once the surrounding components are counted. That does not mean every 24 GB machine will deliver comfortable vault-wide RAG, and it does not mean a smaller machine can never run a tiny quant or a limited test. It means that below this range, failures become harder to distinguish: slow generation, model unloading, context pressure, and retrieval weirdness can all look like “the plugin is broken.” [1][8][9]

If you are still deciding whether Muse Glimmer is the right local model for a notes workflow, step back to Is Muse Glimmer the right open-source AI for note apps?. If the local-AI motivation is provider independence after cloud outages or policy shifts, the tradeoff is covered from another angle in our Claude outage migration guide. This article assumes the decision is already made.

A repeatable stopping point

Stop when each layer has passed, not when the first impressive answer appears. The runner should answer locally. The endpoint should be the one your plugin is configured to use. Copilot or the local-provider plugin should reach that endpoint. The model-name field should match the runner’s current catalog string. CORS should be enabled where the plugin path needs it. Copilot-side settings should be the settings you actually intend to use.

Then test retrieval against notes you can check by hand. Muse Glimmer can be wired into Obsidian through ordinary local OpenAI-compatible patterns, which makes the integration repeatable rather than exotic. Trustworthy is a narrower claim: it only starts after your vault answers survive source checks and after you accept that small-quant local RAG can still hallucinate.

References

  1. Introducing Muse Glimmer: An Open Agentic Model — Meta Research, 10 Aug 2026 — https://research.meta.ai/blog/introducing-muse-glimmer-open-agentic-model
  2. Muse Glimmer — Ollama Blog — https://ollama.com/blog/muse-glimmer
  3. muse-glimmer — Ollama Library — https://ollama.com/library/muse-glimmer
  4. Muse Glimmer — LM Studio Blog — https://lmstudio.ai/blog/muse-glimmer
  5. I started using my local LLM with Obsidian and should have done it sooner — XDA Developers — https://www.xda-developers.com/using-my-local-llm-with-obsidian/
  6. Using Obsidian with a local LLM — Annvix — https://annvix.com/blog/using-obsidian-with-a-local-llm
  7. obsidian-copilot discussion #1360 — GitHub — https://github.com/logancyang/obsidian-copilot/discussions/1360
  8. Muse Glimmer — Unsloth Docs — https://unsloth.ai/docs/models/muse-glimmer
  9. Muse Glimmer 30B Local Agent Guide — Wavect — https://wavect.io/blog/muse-glimmer-30b-local-agent-guide/

Reference and alternatives

Comments

Join the discussion with an anonymous comment.

Loading comments...
Blogarama - Blog Directory