> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# 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.

[Bevor Sie beginnen](https://supastack.dev/de/docs/web/before-you-start.md)

[Terminal-Grundlagen](https://supastack.dev/de/docs/web/terminal-basics.md)

[Lokales Desktop-Setup](https://supastack.dev/de/docs/desktop/ship-in-5-minutes.md)

[Agentenaufforderungen und Projektspeicher](https://supastack.dev/de/docs/web/agents.md)

```
# 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 dev
```


## Eine 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.

[Tauri-Desktop in 5 Minuten einrichten](https://supastack.dev/de/docs/desktop/ship-in-5-minutes.md)

[Fenster-, Taskleisten- und Hotkey-Verhalten](https://supastack.dev/de/docs/desktop/run.md)

[Desktop-Builds und -Verteilung](https://supastack.dev/de/docs/desktop/release.md)


## 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](https://supastack.dev/de/docs/desktop/run.md).


## Weiter

[Desktop in 5 Minuten starten](https://supastack.dev/de/docs/desktop/ship-in-5-minutes.md)
