macOS · iOS
Halter
Local LLM frontend on Tauri 2 and Svelte 5. Ollama and OpenAI-compatible. Branching SQLite tree, thinking blocks, 6 WCAG-AA theme families.
Platform
macOS · iOS
Language
Rust + Tauri 2 + Svelte 5
Stack
Rust Tauri Svelte Ollama SQLite iOS
Status
Beta
─────────────────────────────────────────────────────────────────────────
Overview

Halter is a local LLM frontend that respects the fact that your conversations are yours. No account required, no cloud sync, no telemetry. It connects directly to Ollama or any OpenAI-compatible backend. Conversation history lives in a SQLite file on your device. Streaming runs through Tauri IPC channels — no polling, no latency budget spent on round-trips to a server you don't own.

Architecture
>
halter-core
Rust backend: Tauri 2 app, Ollama and OpenAI-compatible client, streaming IPC, SQLite conversation store.
>
halter-ui
Svelte 5 frontend. Branching conversation tree, thinking block rendering, 6 WCAG-AA theme families.
>
halter-mobile
iOS port via Tauri Mobile. Full feature parity. API keys stored in iOS Keychain, never in plaintext.
>
halter-agent
Agent mode: Ratatui TUI terminal interface. Streams model output inline. Tool call loop for file and shell operations.
halter-operator
$ halter connect --backend ollama --host localhost:11434 ✓ backend: ollama @ localhost:11434 models: llama3.2, qwen2.5-coder, phi4 $ halter chat --model qwen2.5-coder streaming via IPC — no round-trips history: ~/.halter/conversations.db ✓ ready — your keys never leave this device