Skip to content
Docs menu

install

K3 — the hub's own installer for its clients (lucen, lucen-device, lucen-mcp)

1 operation

GET /install.sh

The installer for this hub's clients

getInstallScript · scope none

K3 — curl -fsSL <hub>/install.sh | sh -s -- cli (also device, mcp; an extra such as cli[rollout] is allowed) installs the named tools from this hub's own package index, rendered for this hub's public URL (PUBLIC_API_URL, else the URL the request reached; never cached). The API image builds lucen-cli, lucen-sdk, lucen-mcp and lucen-device as pure-Python wheels from its own commit and serves them as static files beside this script: a PEP 503 index at /install/simple/ and the wheels under /install/files/ (files, not operations). Dependencies resolve from PyPI. The script uses uv when present (this index first), else python3 -m venv + pip (the hub's wheels by direct URL), else installs uv; then it writes the hub's URL — never a key — into ~/.config/lucen/credentials when that file does not exist, so lucen and lucen-device talk to the hub that served them. 404 on a hub whose image carries no wheels (a checkout).

Responses

getInstallScript responses
StatusDescriptionBody
200

The shell script.

stringtext/plain
404

Resource not found (or hidden from the caller).

Problemapplication/problem+json