{"slug": "show-hn-parley-self-hosted-llm-mesh-for-the-machines-you-own", "title": "Show HN: Parley – self-hosted LLM mesh for the machines you own", "summary": "Parley is a self-hosted LLM mesh that turns every machine on a user's network into a single private LLM cluster, with automatic discovery, routing, and TLS-encrypted inter-node traffic. The single binary is OpenAI- and Ollama-compatible, requires no configuration, and supports capability-based model addressing via aliases like parley:code or parley:fast. The project is available at lmparley.com.", "body_md": "**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.\n\n→ **Downloads & full docs: lmparley.com** ·\n\n[Releases](https://github.com/Iito/parley/releases)\n\nRun `parley serve`\n\non each machine. That's the whole setup — no config file.\n\n**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 as`parley:code`\n\n,`parley:fast`\n\n,`parley:best`\n\n,`parley:reason`\n\n, and Parley resolves to the best concrete model available across all nodes — or just use a model name from`parley list`\n\n.**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.\n\n``` bash\n$ parley serve\nparley serve\n  local:   http://localhost\n  network: http://192.168.1.42\n\n$ parley pull qwen3-coder:30b\n$ parley status\n```\n\nParley speaks three API families on every node, so existing code and tools point straight at it:\n\n| API | Endpoints | Connect by |\n|---|---|---|\nOpenAI |\n`POST /v1/chat/completions` , `GET /v1/models` |\n`OPENAI_BASE_URL=http://<node>/v1` |\nOllama |\n`/api/chat` , `/api/generate` , `/api/tags` , `/api/show` , `/api/ps` |\n`OLLAMA_HOST=http://<node>` |\nAnthropic |\n`POST /v1/messages` |\nbase URL `http://<node>` |\n\n```\ncurl http://<node>/v1/chat/completions \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"model\":\"parley:code\",\"messages\":[{\"role\":\"user\",\"content\":\"hello\"}]}'\n```\n\nBecause 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`\n\n(or the **Ollama host** to `http://<node>`\n\n) and pick a `parley:*`\n\nalias or any model from `parley list`\n\n.\n\nThe lists below are drawn from Ollama's community integrations and checked against Parley's API surface — only interfaces that actually work are listed.\n\n[Open WebUI](https://github.com/open-webui/open-webui)— extensible, self-hosted web UI[LibreChat](https://github.com/danny-avila/LibreChat)— multi-provider ChatGPT-style UI[Lobe Chat](https://github.com/lobehub/lobe-chat)— modern UI with a plugin ecosystem[NextChat](https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web)— cross-platform ChatGPT UI[big-AGI](https://github.com/enricoros/big-AGI)— AI suite for professionals[Hollama](https://github.com/fmaclen/hollama)— minimal web UI[Chatbox](https://github.com/Bin-Huang/Chatbox)— desktop & web client[Chatbot UI](https://github.com/ivanfioravanti/chatbot-ollama)— ChatGPT-style Ollama front-end[chat](https://github.com/swuecho/chat)— chat web app for teams[ollama-gui](https://github.com/chyok/ollama-gui)— minimal Python/Tkinter client[Onyx](https://github.com/onyx-dot-app/onyx)†— connected AI workspace[Perplexica](https://github.com/ItzCrazyKns/Perplexica)†— open-source Perplexity-style answer engine[ChatOllama](https://github.com/sugarforever/chat-ollama)†— chatbot with knowledge bases[Bionic GPT](https://github.com/bionic-gpt/bionic-gpt)†— on-premise AI platform\n\n[Dify](https://github.com/langgenius/dify)— LLM app development platform[Maid](https://github.com/Mobile-Artificial-Intelligence/maid)— cross-platform desktop & mobile client[Witsy](https://github.com/nbonamy/witsy)— AI desktop app for Mac, Windows, Linux[Cherry Studio](https://github.com/kangfenmao/cherry-studio)— multi-provider desktop client[Ollama App](https://github.com/JHubi1/ollama-app)— desktop & mobile client[PyGPT](https://github.com/szczyglis-dev/py-gpt)— desktop AI assistant for Linux, Windows, Mac[Alpaca](https://github.com/Jeffser/Alpaca)— GTK4 client for Linux and macOS[SwiftChat](https://github.com/aws-samples/swift-chat)— cross-platform (iOS, Android, macOS)[Enchanted](https://github.com/AugustDev/enchanted)— native macOS and iOS client[Ollama Grid Search](https://github.com/dezoito/ollama-grid-search)— evaluate and compare models[macai](https://github.com/Renset/macai)— macOS client[AI Studio](https://github.com/MindWorkAI/AI-Studio)— multi-provider desktop IDE[Reins](https://github.com/ibrahimcetin/reins)— Ollama client with parameter tuning[MindMac](https://mindmac.app)— AI chat client for Mac[Msty](https://msty.app)— multi-model desktop client[BoltAI](https://boltai.com)— AI chat client for Mac[AnythingLLM](https://github.com/Mintplex-Labs/anything-llm)†— all-in-one desktop AI app\n\n† **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`\n\n). Tools with a built-in local embedder (e.g. AnythingLLM) handle RAG on their own.\n\n**Model management:** download models with `parley pull`\n\nrather than an app's in-app \"download\" button — Parley manages weights across the mesh and doesn't expose Ollama's `/api/pull`\n\n. 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.\n\nThe inference engine is open source ([Spindll](https://github.com/Iito/spindll), Apache-2.0); the mesh is closed-source commercial software, free for up to 3 nodes. See [lmparley.com](https://lmparley.com) for details and pricing.", "url": "https://wpnews.pro/news/show-hn-parley-self-hosted-llm-mesh-for-the-machines-you-own", "canonical_source": "https://github.com/Iito/parley", "published_at": "2026-07-27 15:39:22+00:00", "updated_at": "2026-07-27 15:53:17.441693+00:00", "lang": "en", "topics": ["artificial-intelligence", "large-language-models", "ai-infrastructure", "ai-tools", "developer-tools"], "entities": ["Parley", "OpenAI", "Ollama", "Anthropic", "Open WebUI", "LibreChat", "Lobe Chat"], "alternates": {"html": "https://wpnews.pro/news/show-hn-parley-self-hosted-llm-mesh-for-the-machines-you-own", "markdown": "https://wpnews.pro/news/show-hn-parley-self-hosted-llm-mesh-for-the-machines-you-own.md", "text": "https://wpnews.pro/news/show-hn-parley-self-hosted-llm-mesh-for-the-machines-you-own.txt", "jsonld": "https://wpnews.pro/news/show-hn-parley-self-hosted-llm-mesh-for-the-machines-you-own.jsonld"}}