Heierchat
heierchat is the standalone desktop shell and web frontend for ht-llama.cpp. Extracted from that repo's tools/server/webui-tauri and tools/server/webui. Origin commit: 5be5481f9 (pre-rebase ht tip). Private under heiervang-technologies/heierchat.
What it is
A Tauri 2 desktop app wrapping a SvelteKit frontend (Svelte 5, adapter-static, hash routing) that speaks OpenAI-compatible endpoints. Ships as a native binary at target/release/heierchat, symlinked to ~/.local/bin/heierchat. Omarchy launcher bind: SUPER+A.
Layout
webui/ SvelteKit frontend (Svelte 5) webui-tauri/ src-tauri/ Tauri 2 Rust shell — embedded tiny-http on :5173 *.desktop Linux launcher entries install-desktop.sh Installs .desktop files + heierchat symlinks public/ Build sink populated by 'bun run build' (gitignored)
Build
# Frontend
cd webui
bun install
bun run build # writes /public/ — that's what the Tauri shell embeds
# Desktop binary
cd ../webui-tauri/src-tauri
cargo build --release
install-desktop.sh in webui-tauri/ installs the heierchat.desktop and heierchat-dev.desktop entries plus icons under XDG dirs so Hyprland / GNOME launchers pick them up.
Backend
The shell expects one or more OpenAI-compatible endpoints. The first is the global backendBaseUrl, set via the in-app Settings panel (persists in WebKit localStorage).
Also manages a local llama-server process directly from Tauri — auto-registers in nodesStore, so a single instance can drive both hosted and local backends.
Multi-node backend selection: NodeSwitch with per-conversation pin, picker filter, multi-host loaded indicators, and a sticky "any" model.
CI
.github/workflows/build.yml covers both halves: type-check, lint, unit tests, frontend bundle build, Tauri release binary build.
Standing rules
- Every commit on
mainMUST be single-authormarksverdhei. - No
Co-Authored-By: Claudetrailers anywhere. - Squash-only merges.
- Keep dependencies updated but verify they don't break SvelteKit type checks —
bun updateforwebui,cargo updateforwebui-tauri/src-tauri.
Sources
~/ht/heierchat/README.md— layout + build.~/ht/heierchat/CLAUDE.md— commands + guidelines.
See also
- ht-llama.cpp — the fork this was extracted from.
- Am-i-openai-compatible
- Ht cloud
- Lile