One binary that turns every machine on your network — Apple Silicon Macs, NVIDIA workstations, spare CPU boxes — into one shared, private LLM cluster. OpenAI- and Ollama-compatible, so the tools you already use just work.
→ Downloads & full docs: lmparley.com ·
Run parley serve
on each machine. That's the whole setup — no config file.
Discovery is automatic. Nodes find each other on the LAN. New machines join the cluster the moment they start; they drop off cleanly when they stop.Routing is automatic. A request goes to the node that already has the model warm; ties break toward the shortest queue. You don't pick the node.Naming is by capability. Address the cluster asparley:code
,parley:fast
,parley:best
,parley:reason
, and Parley resolves to the best concrete model available across all nodes — or just use a model name fromparley list
.Security is built in. Inter-node traffic is TLS-encrypted with per-machine certificates; peers are identity-pinned on first contact. No telemetry, no phone-home.
$ parley serve
parley serve
local: http://localhost
network: http://192.168.1.42
$ parley pull qwen3-coder:30b
$ parley status
Parley speaks three API families on every node, so existing code and tools point straight at it:
| API | Endpoints | Connect by |
|---|---|---|
| OpenAI | ||
POST /v1/chat/completions , GET /v1/models |
||
OPENAI_BASE_URL=http://<node>/v1 |
||
| Ollama | ||
/api/chat , /api/generate , /api/tags , /api/show , /api/ps |
||
OLLAMA_HOST=http://<node> |
||
| Anthropic | ||
POST /v1/messages |
||
base URL http://<node> |
curl http://<node>/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{"model":"parley:code","messages":[{"role":"user","content":"hello"}]}'
Because Parley implements the OpenAI and Ollama APIs, the local-LLM ecosystem's chat front-ends work against it. In the app, set the OpenAI base URL to http://<node>/v1
(or the Ollama host to http://<node>
) and pick a parley:*
alias or any model from parley list
.
The lists below are drawn from Ollama's community integrations and checked against Parley's API surface — only interfaces that actually work are listed.
Open WebUI— extensible, self-hosted web UILibreChat— multi-provider ChatGPT-style UILobe Chat— modern UI with a plugin ecosystemNextChat— cross-platform ChatGPT UIbig-AGI— AI suite for professionalsHollama— minimal web UIChatbox— desktop & web clientChatbot UI— ChatGPT-style Ollama front-endchat— chat web app for teamsollama-gui— minimal Python/Tkinter clientOnyx†— connected AI workspacePerplexica†— open-source Perplexity-style answer engineChatOllama†— chatbot with knowledge basesBionic GPT†— on-premise AI platform
Dify— LLM app development platformMaid— cross-platform desktop & mobile clientWitsy— AI desktop app for Mac, Windows, LinuxCherry Studio— multi-provider desktop clientOllama App— desktop & mobile clientPyGPT— desktop AI assistant for Linux, Windows, MacAlpaca— GTK4 client for Linux and macOSSwiftChat— cross-platform (iOS, Android, macOS)Enchanted— native macOS and iOS clientOllama Grid Search— evaluate and compare modelsmacai— macOS clientAI Studio— multi-provider desktop IDEReins— Ollama client with parameter tuningMindMac— AI chat client for MacMsty— multi-model desktop clientBoltAI— AI chat client for MacAnythingLLM†— all-in-one desktop AI app
† Chat works normally. These also offer built-in document-RAG / search, which needs an embeddings model — point that feature at a dedicated embeddings provider, since Parley serves chat completions only (no /v1/embeddings
). Tools with a built-in local embedder (e.g. AnythingLLM) handle RAG on their own.
Model management: download models with parley pull
rather than an app's in-app "download" button — Parley manages weights across the mesh and doesn't expose Ollama's /api/pull
. A few tools that require in-app pulling to start (LLocal.in, Hillnote, datvodinh's RAG Chatbot) therefore aren't supported. Some closed macOS apps (IntelliBar, Kerlig, Perfect Memory AI) only talk to an Ollama on the default local address — run a node or a localhost proxy on the same machine to use them.
The inference engine is open source (Spindll, Apache-2.0); the mesh is closed-source commercial software, free for up to 3 nodes. See lmparley.com for details and pricing.