Skip to content

Architecture Overview

Alpaka Desktop is engineered as a modern, local-first Tauri v2 application. It strictly enforces a separation of concerns between a high-performance Rust backend and a reactive Vue 3 SPA frontend, communicating exclusively via strongly-typed Tauri IPC.

High-Level Topology

IPC Communication Patterns

To maintain a responsive 60 FPS UI even under heavy inference load, communication is highly structured:

DirectionMechanismPurpose
Frontend → Backendinvoke('command', payload)Stateful requests (CRUD ops, Settings, Model management).
Backend → Frontendapp.emit('event', payload)High-frequency telemetry (Streaming tokens, pull progress, health pings).

Architectural Decisions

Why Tauri v2?

Minimal footprint. The final binary is ~8MB and idles at ~60MB RAM, allowing your machine's resources to be fully dedicated to LLM inference instead of an Electron wrapper.

Local-First Storage

All conversational data is persisted strictly to a local SQLite database (`~/.local/share/alpaka-desktop/`). No data leaves your machine unless you explicitly route it to an external host.

OS Keyring Integration

API keys are never written to SQLite. They are securely injected into the Secret Service API (KWallet / GNOME Keyring) to prevent unauthorized extraction.

Detailed Reference

For an exhaustive technical breakdown of the command registry, exact database schema, ADRs, and our performance budget, refer to the full ARCHITECTURE.md in the project root.

Released under the MIT License.