For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /de/docs/desktop.md (or send Accept: text/markdown).
Desktop-Überblick
Eine Tauri-Webview-Shell um dieselbe Web-App — Präsenz, kein zweites Produkt.
Schritt-für-Schritt für Einsteiger
Voraussetzungen: Lesen Sie die beiden folgenden Einsteigerhandbücher und schließen Sie die lokale Desktop-Einrichtung ab, einschließlich Rust und Betriebssystemvoraussetzungen. Der Codeblock startet sowohl die Web-App als auch Tauri im Monorepo; Verwenden Sie in einem reinen Desktop-Checkout den gefilterten Befehl erst, nachdem Sie ein erreichbares Web-Backend separat gestartet haben. Tauri lädt dieses Backend.
Kurze Begriffe: Ein Arbeitsbereich umfasst die einzelnen Benutzer, Daten und Einstellungen eines Teams. Der Server ist das vertrauenswürdige Backend; Halten Sie Anbieterschlüssel aus Browser- und Telefoncodes fern. Eine Migration ist eine versionierte Datenbankänderung, die Tabellen erstellt oder aktualisiert. Ein KI-Modell ist der Motor, der antwortet; Der Modellkatalog ist die Liste der verfügbaren Modell-IDs und Preise des Servers. Ein Anbieter ist ein externer Dienst wie ein KI-, E-Mail- oder Abrechnungsdienst. Eine Berechtigung ist eine Bewilligung, die einem Arbeitsbereich die Nutzung einer Funktion ermöglicht. Ein Webhook ist eine Nachricht, die ein Dienst an den URL eines anderen Dienstes sendet.
1. Befolgen Sie die lokale Desktop-Einrichtung, öffnen Sie dann die App im Tauri-Fenster und melden Sie sich bei demselben Webkonto an, das Sie in einem Browser verwenden.
2. Besuchen Sie eine Arbeitsbereichsseite, blenden Sie das Fenster in der Taskleiste ein/aus und probieren Sie die Beschwörungsverknüpfung aus.
3. Der Bildschirm sollte mit der Web-App übereinstimmen, da Tauri das konfigurierte Backend lädt. Wenn es leer ist, bestätigen Sie, dass SUPASTACK_APP_URL auf eine erreichbare laufende Web-App verweist.
Beginnen Sie für benutzerdefinierten Code mit dem bereitgestellten prompts/README.md und kopieren Sie die nächstgelegene Eingabeaufforderung: prompts/new-app-screen.md für einen App-Bildschirm oder prompts/new-landing-page.md für eine öffentliche Seite. Geben Sie Ihrem Programmieragenten für Server-, Datenbank- oder Anbieterarbeiten die Aufgabe dieses Handbuchs und bitten Sie ihn, AGENTS.md, .ai/PROJECT_CONTEXT.md und passende .ai/-Spiegel zu lesen; Überprüfen Sie die hier genannten genauen Quelldateien. Listen Sie Dateien auf und prüfen Sie sie vor der Bearbeitung. Bewahren Sie den Arbeitsbereichseigentum und die Nur-Server-Geheimnisse. und zeige dir den Unterschied. Teilen Sie ihm das gewünschte Verhalten, Eingabe- und Ausgabefelder, zulässige Rollen, erwartete Erfolge und Fehler sowie das Testkonto, den Anbieter oder das Gerät mit. Beispielwerte verwenden; Fügen Sie niemals ein echtes Geheimnis ein.
# Monorepo: start the web app and desktop shell together
corepack pnpm dev:desktop
# Desktop-only checkout: start Tauri after a web backend is already reachable
corepack pnpm --filter @supastack/desktop devEine Produktoberfläche, eine native Shell
apps/desktop ist eine Tauri-Webview über deiner Web-App. Sie teilt Produktoberfläche, Authentifizierung und Chat mit dem Web; das Verhalten nativer Fenster und des Trays liegt in src-tauri/src/lib.rs. Die Shell benötigt ein erreichbares Web-Backend und bündelt keine eigenständige Produktoberfläche.
Funktionen der nativen Shell nutzen
Die Shell enthält ein Tray-Menü, Schließen-ins-Tray, Fokus bei Einzelinstanz, einen globalen Aufruf-Hotkey, native Navigations- und Ansichtsmenüs, externe Links im Systembrowser, den Deep-Link-Aufruf supastack://, gespeicherten Fensterzustand und eine Offline-Wiederholen-Überlagerung.
SUPASTACK_APP_URL wählt das Backend: gültiger Laufzeitwert, dann Build-Zeit-Wert, dann localhost. SUPASTACK_DESKTOP_HOTKEY überschreibt CmdOrCtrl+Shift+Space. Signierte Release-Builds injizieren SUPASTACK_UPDATER_ENDPOINT und SUPASTACK_UPDATER_PUBKEY; enthält der Endpunktpfad {{channel}}, aktiviert das App-Menü Beta Updates (stable vs. beta, zur Laufzeit mit SUPASTACK_UPDATE_CHANNEL überschreibbar).
Desktop-Ablauf auswählen
Führe für lokale Arbeit Web und Desktop zusammen aus und baue und prüfe anschließend das native Ziel mit den plattformspezifischen Voraussetzungen. Store-Signierung, Installer und das Verhalten auf physischen Desktop-Geräten erfordern eine separate Abnahme.
Eine Webview-Shell, keine zweite App
apps/desktop ist eine Tauri-2.x-Shell. Der Rust-Kern in src-tauri besitzt Fenster, System-Tray und globale Tastenkombination, während eine Webview die Web-App lädt. Interface, Authentifizierung, Billing und AI kommen aus derselben Next.js-Codebase — die Desktop-Oberfläche fügt Präsenz hinzu, kein Parallelprodukt.
Die Shell bringt eine Platzhalterseite in apps/desktop/ui mit, die während des Ladens der Web-App angezeigt wird — ein Kaltstart rendert nie ein leeres Fenster.
Die Shell auf ein Deployment richten
Das Fensterziel wird in dieser Reihenfolge aufgelöst: die Laufzeit-Umgebungsvariable SUPASTACK_APP_URL, dann der zur Compile-Zeit gesetzte SUPASTACK_APP_URL, dann http://localhost:3000. Nur http- und https-URLs werden akzeptiert — leere oder nicht-webbasierte Werte fallen auf den nächsten Kandidaten zurück.
Für die Entwicklung bedeutet dies, dass die Shell an alles angeschlossen wird, wozu corepack pnpm dev dient. Legen Sie für die Produktion die Variable zur Erstellungszeit fest, um sie in Ihre bereitgestellte Web-App einzubinden.
Secrets serverseitig halten
Die Shell trägt keine Provider-Credentials. Die Webview spricht mit derselben authentifizierten API-Oberfläche wie ein Browser — Provider-Keys, Session-Secrets und Billing-Konfiguration bleiben auf dem Server.
Die Bundle-Kennung com.supastack.desktop und der Standard-Capability-Satz (core:default) halten die Webview sandkastenartig; erweitere die Permissions in src-tauri/capabilities nur, wenn ein natives Feature sie braucht.
Wenn du die Einrichtung fortsetzen möchtest, lies Shell starten und konfigurieren.
