{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreie2chrkmcpxmwuafdfp4v2fpepc7e4e5o57ajn7s7hrc7nktn3jdm",
    "uri": "at://did:plc:pgryn3ephfd2xgft23qokfzt/app.bsky.feed.post/3mj3q62psk5l2"
  },
  "path": "/t/make-hugging-face-the-source-of-truth-for-every-local-ai-app/175128#post_1",
  "publishedAt": "2026-04-09T19:15:35.000Z",
  "site": "https://discuss.huggingface.co",
  "tags": [
    "GitHub - EvanZhouDev/umr: The Unified Model Registry for all your local AI apps. · GitHub"
  ],
  "textContent": "As someone who has hundreds of gigabytes of model weights and a handful of different local AI apps that I use, an annoyance I frequently have is that every app has its own registry and storage location, which leads to multiple duplicate model files eating up disk space. As most of those models come from Hugging Face anyway, I wanted to see if I could make Hugging Face my **one source of truth location** for all my models.\n\nSo, I created UMR, the **Unified Model Registry for all your local AI Apps**!\n\nIt lets you add one canonical copy of whatever model you’re using, straight from Hugging Face Cache, and then link it to all your tools like Ollama, LM Studio, Jan, or llama.cpp. Linking uses the **same model that you already downloaded** , doesn’t require extra storage, and is super fast.\n\n# How to Set it Up\n\n> See the second image for a more graphical step-by-step.\n\n  1. **Install UMR** via NPM or your favorite JS package manager:\n\n\n\n\n    npm i -g umr-cli\n\n\n  2. **Add any Hugging Face GGUF** model that you want. This CLI will let you interactively choose a quant file if applicable. After it finishes downloading, you’ll get its UMR Model ID. HF models already available on your device will be added straight from HF Cache.\n\n\n\n\n    umr add hf ggml-org/gemma-4-E2B-it-GGUF\n\n\n  3. Use that model ID to **add it to any supported local AI app**. For example, for the q8 version, this is what it would look like!\n\n\n\n\n    # Link the model to Ollama\n    umr link ollama gemma-4-e2b-it-q8-0\n\n    # Link the model to LM Studio\n    umr link lmstudio gemma-4-e2b-it-q8-0\n\n    # Link the model to Jan\n    umr link jan gemma-4-e2b-it-q8-0\n\n\nNow, the model should be available to use in each of those platforms respectively!\n\nIf you want to access the GGUF file managed by UMR directly, you can use the `show --path` command. For example, let’s use it with **llama.cpp** :\n\n\n    # Run llama.cpp with a UMR-managed model\n    llama-cli -m \"$(umr show gemma-4-e2b-it-q8-0 --path)\"\n\n\n# How Does It Work?\n\nUMR itself does not necessarily _store_ your model. It simply knows where to find them after you register them. For example, once you `add hf`, the model is still downloaded/fetched from Hugging Face Cache. UMR just takes note of where it is (in HF Cache).\n\nYou can also add a model manually with `umr add ./path/to/file.gguf`, which _will_ clone it locally into UMR’s own store.\n\nThen, when you link to a Client app like LM Studio, UMR intelligently chooses between hardlinking the model file into the app’s own store, or simply points the app at UMR’s managed path, making the process super fast and use no extra storage.\n\n# Feedback and Contribution\n\nI’m open to feedback, including new features/client apps you want to see me integrate, new model sources you want to see me add, and questions!\n\n**UMR is also completely Open Source on GitHub** : GitHub - EvanZhouDev/umr: The Unified Model Registry for all your local AI apps. · GitHub\n\nFeel free to contribute!",
  "title": "Make Hugging Face the Source of Truth for Every Local AI App"
}