Initial commit
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
---
|
||||
name: project-08-07-tech-stack
|
||||
description: Tech-Stack der Würth-KI-Demo — Tauri-Desktop-App (Rust-Backend + Vue-Frontend) auf SQLite
|
||||
metadata:
|
||||
type: project
|
||||
---
|
||||
|
||||
Entscheidung: **Tauri-Desktop-App** statt separatem Web-Backend. Der Rust-Kern ist das Backend.
|
||||
|
||||
**Why:** Die LLM-Aufrufe brauchen den Claude-API-Key, der nicht in den Browser darf. Ohne Backend ginge nur SQLite-per-WASM (sql.js) + Vorberechnung — dann fällt der überzeugende Live-LLM-Teil weg oder der Key liegt offen. Tauri hält Key, SQLite und LLM-Calls im Rust-Kern, liefert eine Binary ohne Deploy — ideal für eine Vorführung.
|
||||
|
||||
**How to apply:**
|
||||
- Frontend: Vue im Tauri-Webview (Vite + Vue, `create-tauri-app`).
|
||||
- Rust-Backend als Tauri-Commands (über `invoke()` vom Frontend):
|
||||
- `chat(frage)` → Kontext aus SQLite bauen, Claude-API via `reqwest` rufen, Antwort zurück; Key bleibt in Rust (.env/Tauri-Config).
|
||||
- `query_orders`, `cross_sell(modul_id)`, `customer_segments` → feste SQL-Abfragen via `rusqlite`.
|
||||
- Rust-Deps: `rusqlite`, `reqwest`, `serde`, `tokio`.
|
||||
- Daten: veredelte SQLite-Datei als Tauri-Resource gebündelt.
|
||||
- Veredelungs-Pipeline bleibt getrennt (Python), erzeugt nur die `.db`.
|
||||
- Voraussetzung lokal: Rust-Toolchain + Node.
|
||||
- App-Code soll in eigenes Projekt unter `~/projects/08-07` (analog Limbach: `~/claude-projects/08-07` = Memory/Steuerung, `~/projects/08-07` = Code).
|
||||
|
||||
Claude-Modelle (Stand 2026): Opus 4.8 `claude-opus-4-8`, Sonnet 4.6 `claude-sonnet-4-6`, Haiku 4.5 `claude-haiku-4-5-20251001`, Fable 5 `claude-fable-5`.
|
||||
Reference in New Issue
Block a user