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

# Shell starten und konfigurieren

Starte die Tauri-Entwicklungs-Shell und verbinde sie mit deiner Web-App.

## 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. Öffnen Sie `apps/desktop/src-tauri/src/lib.rs`; Bitten Sie Ihren Agenten, nur das benannte Fenster-/Tray-/Hotkey-Verhalten zu ändern und die Produkt-Benutzeroberfläche in der Web-App beizubehalten.

2. Führen Sie die Shell aus und testen Sie „Close-to-Tray“, „Beenden“ und „`CmdOrCtrl+Shift+Space`“. Testen Sie `supastack:///settings/appearance?preview=1#main`.

3. Es sollte das vorhandene Fenster fokussieren und Pfad/Abfrage/Fragment beibehalten. Wenn die falsche Seite geöffnet wird, vergleichen Sie den konfigurierten Ursprung und die genaue Route.

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


## Shell-Verhalten in Rust beibehalten

`src-tauri/src/lib.rs` erstellt das Haupt-Webview-Fenster mit 1200 × 800 Pixeln. Schließen blendet es ins Tray aus; Beenden schließt die Anwendung. Native Menüs bieten Home/Zurück/Vorwärts/Neu laden, Zoom/Vollbild und Fensteraktionen. Die Wiederherstellung des Fensterzustands bewahrt Größe und Position.


## Links und Aufruf behandeln

Die Shell akzeptiert `supastack://`-Routen und löst sie zur exakt konfigurierten HTTP(S)-App-Origin auf. Zum Beispiel wird `supastack:///settings/appearance?preview=1#main` zu `/workspace/settings?tab=billing#plans`; `supastack:///auth/callback?code=...` wird auf `/auth/callback?code=...` abgebildet. Abfrageparameter und Fragmente bleiben erhalten.

Links beim Start werden verarbeitet, bevor das erste Fenster angezeigt wird. macOS-Runtime-Links verwenden Tauri's `on_open_url`; Argumente einer zweiten Instanz unter Windows und Linux laufen über den Single-Instance-Callback mit aktivierter Funktion `deep-link`. Gültige Links fokussieren das vorhandene Fenster und navigieren darin.

Nur HTTP(S)-Links ohne Zugangsdaten, deren Schema, Host und effektiver Port exakt der Konfiguration entsprechen, bleiben in der Shell. HTTP(S)-Links ohne Zugangsdaten sowie `mailto:` und `tel:` dürfen extern geöffnet werden; fehlerhafte Links, Zugangsdaten, nicht unterstützte Schemas, Ports in benutzerdefinierten Links und Traversal-Versuche werden abgewiesen. Auch die konfigurierte Backend-URL lehnt Zugangsdaten ab und fällt auf den nächsten gültigen Standardwert zurück.

```
SUPASTACK_APP_URL=https://your-app.example
SUPASTACK_DESKTOP_HOTKEY=CmdOrCtrl+Shift+Space

supastack:///settings/appearance?preview=1#main
# Opens https://your-app.example/workspace/settings?tab=billing#plans
```


## Plattformspezifisches Verhalten prüfen

Die eingeblendete Offline-Überlagerung bietet Wiederholen, verschwindet bei bestehender Verbindung und lädt die Web-App neu. Prüfe Fokus, Tastenkürzel, Menü-Zoom, Tray und Deep-Link-Aufruf auf jedem Zielbetriebssystem. Reine URL-Unit-Tests belegen diese nativen Interaktionen nicht.

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


## Einrichtung und Konfiguration

Installieren Sie die Arbeitsbereichsabhängigkeiten und die Rust-Toolchain sowie die betriebssystemspezifischen Voraussetzungen von Tauri (WebView2 wird mit Windows geliefert; macOS und Linux benötigen ihre dokumentierten Pakete). corepack pnpm --filter @supastack/desktop dev führt tauri dev aus: Es erstellt den Rust-Kern, zeigt die Platzhalter-Benutzeroberfläche an und lädt die aufgelöste App URL.

SUPASTACK_APP_URL wird zuerst zur Laufzeit und danach als beim Build hinterlegter Wert gelesen. Akzeptiert werden nur HTTP(S)-Adressen ohne Zugangsdaten; andernfalls wird der nächste Kandidat verwendet. SUPASTACK_DESKTOP_HOTKEY überschreibt CmdOrCtrl+Shift+Space. Ein ungültiger Wert fällt auf die Standardkombination zurück, statt den Start zu verhindern.

```
corepack pnpm --filter @supastack/desktop dev
corepack pnpm --filter @supastack/desktop typecheck

SUPASTACK_APP_URL=https://app.example.com \
SUPASTACK_DESKTOP_HOTKEY=CmdOrCtrl+Shift+Space \
corepack pnpm --filter @supastack/desktop dev
```


## Implementierungsablauf

Das Hauptfenster bleibt auf der exakt konfigurierten Herkunft, einschließlich Protokoll und Port. HTTP(S)-Adressen ohne Zugangsdaten sowie mailto- und tel-Links dürfen sich im Systembrowser öffnen; nicht erlaubte Protokolle werden abgebrochen.

Registrierte supastack://-Links übertragen Route, Query und Fragment auf die konfigurierte App-Adresse. Start, Plattformereignisse für geöffnete URLs und Rückrufe einer zweiten Instanz verwenden dieselbe Prüfung. Ein Deep Link kann die Shell daher nicht zu einem anderen Host umleiten.

Tray-Symbol und globale Tastenkombination zeigen das einzige Hauptfenster an und fokussieren es. Reagiert die Tastenkombination nicht, verwendet wahrscheinlich eine andere Anwendung dieselbe Kombination. Wähle dann ein anderes SUPASTACK_DESKTOP_HOTKEY.


## Überprüfung und Fehlerbehebung

Führe nach Änderungen an src-tauri cargo check und cargo test über die Paket-Skripte aus. Prüfe anschließend die Navigation zur exakten Herkunft, erlaubte externe Links, eine supastack://-Route auf der konfigurierten App-Adresse, Tray und Tastenkürzel sowie die Anmeldung nach einem Neustart.


Wenn du die Einrichtung fortsetzen möchtest, lies [Desktop-Release-Konten einrichten](https://supastack.dev/de/docs/desktop/external-accounts.md).


## Weiter

[Desktop-Release-Konten einrichten](https://supastack.dev/de/docs/desktop/external-accounts.md)
