KAi als Desktop-App: rundes Always-on-top-Fenster mit dem kompletten
KAiOSS-Chat (Memory, Voice, Modell-Dropdown) — Tauri-2-Shell (Rust) um die
Svelte-5-Frontend-Route /desktop-bubble des laufenden KAiOSS-Stacks.
100 % lokal. Details: ARCHITEKTUR.md.
| App-Fenster (standalone, Modell-Dropdown) | Desktop-Icon |
|---|---|
![]() |
Status: Phase 0 (Companion-Shell) läuft. Die App lädt
http://localhost:5174/desktop-bubble und braucht daher den KAiOSS-Stack
(wird von den Start-Skripten automatisch mitgestartet). Phase 1 =
Standalone-Build ohne Webserver (siehe ARCHITEKTUR.md §2.2).
KAiOSSChat braucht die beiden Geschwister-Repos — erst klonen, dann bauen:
mkdir -p ~/Projekte/aktiv && cd ~/Projekte/aktiv
git clone https://github.com/diebugger-tech/KAiOSS.git
git clone https://github.com/diebugger-tech/kai-voice.git # optional: Voice
git clone https://github.com/diebugger-tech/KAiOSSChat.gitKAiOSS einmal nach dessen README aufsetzen (Quickstart, ein Befehl) —
run.sh/start-app.sh starten den Stack danach automatisch mit.
Liegt KAiOSS woanders: KAIOSS_DIR=/pfad/zu/KAiOSS ./run.sh.
./setup-imperativ.sh # einmalig: rustup + apt-Pakete (Plan D, kein Nix)
./run.sh # Dev-Modus (cargo tauri dev)
./install-desktop.sh # Release bauen + "KAi" ins Menü & auf den DesktopNach install-desktop.sh startet das KAi-Icon die App ohne Terminal;
start-app.sh (vom Icon aufgerufen) prüft/startet den Stack.
- Fenster-Platzierung unten rechts (über Dock + Uhr)
- Mikrofon-Freigabe für kai-voice: WebKitGTK-
permission-request-Handler (ohne ihn scheitertgetUserMediastill — Default ist DENY) - Tray-Icon mit Blinzel-Animation (2 Frames, alle ~4 s); Menü: anzeigen/verstecken, Beenden (AppIndicator liefert keine Klick-Events)
- Icons:
src-tauri/icons/— Quelleicon.svg(KAi-Avatar aus AlienAvatar.svelte), gerendert mit cairosvg
KAiOSSChat ist ein Baustein von dreien — die Apps gehören zusammen und teilen sich Gehirn (SurrealDB) und Ohr/Mund (kai-voice):
| Projekt | Rolle | Repo |
|---|---|---|
| KAiOSS | AI-native Project-Hub (Web): Kanban, Wiki, Multi-Model-KAi, Gedächtnis-Verwaltung. Liefert das Svelte-Frontend, das diese Shell lädt. | diebugger-tech/KAiOSS |
| KAiOSSChat (dieses Repo) | KAi als Desktop-App: Tauri-Shell um den KAiOSS-Chat, Tray, später Tool-Executor mit Permission-Gate (Phase 3). | diebugger-tech/KAiOSSChat |
| kai-voice | Zustandsloses lokales Voice-Backend (STT via faster-whisper, TTS via Piper) über WebSocket :8770 — Ohr/Mund, nie Hirn (ADR-002). |
diebugger-tech/kai-voice |
Gemeinsame Dienste: SurrealDB :8000 (ein Gehirn für alle),
Ollama :11434 (lokale Modelle), kai-voice :8770.
- Nix-Dev-Shell (flake.nix) ist DEPRECATED — Nix-rustc + System-GTK = ABI-Konflikt („stack smashing"). Hauptweg ist Plan D (rustup + apt).
WEBKIT_DISABLE_COMPOSITING_MODE=1nicht setzen: bekannter WebKitGTK-Bug, Webview zeichnet beim Fenster-Resize nicht neu. StattdessenLIBGL_ALWAYS_SOFTWARE=1+WEBKIT_DISABLE_DMABUF_RENDERER=1(llvmpipe, Compositing bleibt an) — siehe run.sh.- Kein
window.confirm()/alert()im Frontend-Code: in der Tauri-Webview nicht implementiert, gibt stillfalsezurück. Inline-Bestätigungen im UI verwenden (siehe deleteChat in KAiPanel).
