One home for every local model on your machine

Every text, image, and speech model you already have, pulled through Ollama, cached by Hugging Face, or dropped in by hand, discovered and served from a single binary. Local-first, private, and free.

curl -fsSL https://hedos.ai/install | bash

Installs the hedos binary on macOS and Linux.

Found where they live. Run however they run best.

Hedos finds every model already on your machine, no matter who installed it, and serves each one on whatever engine runs it best. Discovered, then run.

hedos · models

$ hedos ls

NAMERUNTIMESTORECAPABILITIES
gemma3ollamaollamachat,complete
qwen2.5-coder:7bollamaollamachat,complete
llava:latestollamaollamachat,complete,see
SmolLM2-135M-Instruct-Q8_0llama-serverfilechat,complete
Llama-3.2-3B-Instruct-4bitpython:mlx-lmhuggingface-cachechat,complete
FLUX.1-schnellpython:mfluxhuggingface-cacheimage
Kokoro-82M-bf16python:mlx-audiohuggingface-cachespeak
mystery-modelfolder

A model that resolved a runtime is ready to serve. One that did not says so, instead of failing the moment you use it.

Install a model without leaving the shell.

Search Hugging Face by name or pick from what fits your memory. Hedos plans the install, shows you the size and the destination, and asks before a byte moves.

hedos · pull
$ hedos pull
✔ search models (enter/return for recommendations) · qwen2.5
✔ model · Qwen/Qwen2.5-3B-Instruct ↓1.2M ♥438
Qwen2.5-3B-Instruct → ~/.cache/huggingface/hub, ~1900 MB
✔ Download now? · yes
[████████████████████████] 100% 1900 / 1900 MB
pulled Qwen/Qwen2.5-3B-Instruct

Downloads land in the standard Hugging Face cache or through the Ollama daemon, so every other tool on the machine sees the model too. Hedos owns no weights directory.

One local endpoint for everything you own.

hedos serve speaks the OpenAI and Ollama wire formats on loopback. Point an editor, an agent, or a script at it and reach every model on the shelf.

hedos · serve
$ hedos serve
gateway listening on http://127.0.0.1:43367/v1
auth: open (loopback) — any local client is allowed. Ctrl-C to stop.
 
$ curl -s http://127.0.0.1:43367/v1/chat/completions \
$ -d '{"model":"gemma3","messages":[{"role":"user","content":"hi"}]}'
{"choices":[{"message":{"role":"assistant","content":"Hey there."}}]}

It binds to 127.0.0.1 and stays there. The only server here is the one on your desk.