The houdry binary is Houdry Fabric. It is what you install on GPU workstations. Houdry Agent is a separate desktop app; it is not this CLI.
After Installation:
export PATH="$HOME/.houdry/bin:$PATH" # Windows: $HOME\.houdry\bin
houdry version
Set HOODRY_SERVER (and optional HOODRY_TOKEN) so you do not pass --server on every command. Config lives in ~/.houdry.
Everyday
These four commands are the whole GPU-host job:
houdry gpu detect
houdry gpu register [--server URL] [--token TOKEN]
houdry serve [--listen ADDR] [--token TOKEN] [--no-lan-discover]
houdry discover
| Command | Meaning |
|---|---|
gpu detect | List GPUs on this machine (--json for scripts). |
gpu register | Join the fabric and stay running. Same as node join. |
serve | Control plane + dashboard. Default listen 0.0.0.0:8080. |
discover | See control planes announced on this Wi‑Fi. |
gpu join | One-shot inventory snapshot. Does not run jobs. Use gpu register. |
version | Print the installed Fabric version. |
Leave gpu register running. Ctrl+C drains, waits for the current job, then leaves.
Cluster
houdry node list
houdry node drain
houdry node leave
houdry gpu list
houdry model list
houdry model catalog
Jobs and routing
houdry job submit gpu.smoke [--wait]
houdry job submit inference --model NAME --prompt TEXT [--wait]
houdry job list
houdry job get JOB_ID
houdry route --prompt TEXT [--execute] [--wait]
houdry route --local "Say hello"
houdry route --interactive
houdry route --local benches Ollama on this machine and does not start a second HTTP server. Chat from Agent always goes through houdry serve.
OpenAI-shaped API
Agent and any OpenAI SDK use:
POST http://HOST:8080/v1/chat/completions
model=auto runs the router. A named model pins that model. GET /.well-known/houdry.json identifies a discovered host.
curl http://127.0.0.1:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d "{\"model\":\"auto\",\"messages\":[{\"role\":\"user\",\"content\":\"Say hello\"}]}"
Pass --token on serve to require X-Houdry-Token or Authorization: Bearer.
Useful paths on the same host:
| Path | Role |
|---|---|
GET / | Cluster dashboard |
GET /healthz | Liveness |
GET /.well-known/houdry.json | LAN identity (no token) |
POST /v1/chat/completions | Chat |
GET /v1/models | Model list |
GET /files/ | Generated artifacts |
Windows notes
irm https://github.com/houdry-genomex/houdry/releases/latest/download/install.ps1 | iex
& "$HOME\.houdry\bin\houdry.exe" gpu detect
& "$HOME\.houdry\bin\houdry.exe" serve --listen 0.0.0.0:8080