Local Ollama Desktop Client Alpha

Choose a node.
Pick a model.
Start chatting.

An authenticated Electron and browser client backed by a FastAPI router. DaveLLM discovers models from configured Ollama nodes and keeps conversations on the router host.

~/projects/DaveLLM
$ export DAVE_API_KEY='<local-secret>' $ export DAVE_NODES='<configured-node-json>' $ npm start Starting FastAPI router... Router health http://127.0.0.1:8000/health Electron UI http://127.0.0.1:8000/ Model inventory configured Ollama nodes # Browser mode uses the same authenticated router at port 8000 $

Authenticated locally

DAVE_API_KEY protects operational routes. Electron keeps the credential outside renderer state; browser mode stores it for the current tab session.

Configured Ollama nodes

DAVE_NODES defines the available Ollama hosts. The router checks each node's live inventory before allowing a chat request.

Inventory-bound models

Model IDs come from Ollama's /api/tags response. Unknown nodes, unloaded inventories, and unavailable models fail explicitly.

Desktop and browser UI

Use the Electron desktop client or open http://127.0.0.1:8000/ after starting uvicorn for browser mode.

Client
Electron / Browser UI
Router
FastAPI on port 8000
Node
Configured Ollama Host
Model
Discovered Inventory
1

Clone

git clone https://github.com/DaveHomeAssist/DaveLLM && cd DaveLLM
2

Install

python3 -m venv venv && ./venv/bin/python -m pip install -r requirements.txt && npm ci
3

Configure and start

export DAVE_API_KEY='<local-secret>'
export DAVE_NODES='<configured-node-json>'
npm start
Active development. Built for personal use, shared for anyone who finds it useful. Expect rough edges. Contributions welcome — check the repo for open issues.