Schnellstart
Quelldateien
Diese Seite wurde aus den folgenden Quelldateien erstellt:
Dyad ist ein lokaler, Open-Source-KI-App-Builder, der direkt auf dem eigenen Rechner ausgeführt wird. Die Anwendung bietet Geschwindigkeit, Datenschutz und volle Kontrolle – ähnlich wie Lovable, v0 oder Bolt, aber ohne Cloud-Abhängigkeit. Dyad nutzt eine Electron-Architektur und unterstützt verschiedene AI-Provider durch eigene API-Keys.
Dyad herunterladen und installieren
Dyad steht als plattformübergreifende Anwendung für Mac und Windows zur Verfügung. Die Installation erfordert keine Registrierung – der Download kann direkt von der offiziellen Website erfolgen und sofort gestartet werden (README.md:1-14).
Hauptmerkmale der Installation:
| Merkmal | Beschreibung |
|---|---|
| Registrierung | Nicht erforderlich |
| Plattformen | Mac, Windows |
| Lizenz | Apache 2.0 (außer src/pro) |
| Lock-in | Kein Vendor-Lock-in durch eigene API-Keys |
Der Download erfolgt über die offizielle Website unter https://www.dyad.sh/. Nach dem Download kann die Anwendung direkt gestartet werden, ohne dass eine komplexe Einrichtung erforderlich ist (README.md:15-19).
Entwicklungsumgebung einrichten
Für Entwickler, die an Dyad mitwirken möchten, ist die Einrichtung der lokalen Entwicklungsumgebung erforderlich. Dyad basiert technisch auf einer Electron-Applikation, was spezifische Schritte für die Installation der Abhängigkeiten und die Verzeichnisstruktur erfordert (CONTRIBUTING.md:15-36).
Schritt 1: Abhängigkeiten installieren
sh1npm install
Schritt 2: userData-Verzeichnis erstellen
Das userData-Verzeichnis ist für die Datenbank erforderlich und muss vor dem ersten Start manuell angelegt werden:
sh1# Unix/macOS/Linux: 2mkdir -p userData 3 4# Windows PowerShell (nur wenn Ordner nicht existiert): 5mkdir userData 6 7# Windows Command Prompt (nur wenn Ordner nicht existiert): 8md userData
Die Electron-App-Struktur wird durch die Hauptimporte in src/main.ts definiert, einschließlich Electron-Komponenten wie BrowserWindow, dialog, Menu und protocol (src/main.ts:1-20).
Umgebungsvariablen konfigurieren
Dyad unterstützt verschiedene Umgebungsvariablen für die Konfiguration von AI-Providern, lokalen Modellen und Integrationen. Die Konfiguration erfolgt über eine .env-Datei im Projektstammverzeichnis (.env.example:1-20).
Einrichtung der .env-Datei:
sh1# .env.example zu .env kopieren 2cp .env.example .env
Die Anwendung lädt die Umgebungsvariablen beim Start automatisch über dotenv.config() (src/main.ts:51-52).
Verfügbare Konfigurationskategorien:
| Kategorie | Variablen | Erforderlich |
|---|---|---|
| AI-Provider API-Keys | OPENAI_API_KEY, ANTHROPIC_API_KEY, GOOGLE_API_KEY | Optional |
| Lokale AI-Modelle | OLLAMA_HOST | Optional |
| GitHub-Integration | GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET, GITHUB_TOKEN | Optional |
| Apple Notarisierung | APPLE_ID, APPLE_PASSWORD, APPLE_TEAM_ID | Nur für macOS-Builds |
Lokale AI-Modelle konfigurieren:
Für lokale AI-Modelle wie Ollama oder LM Studio kann der Host konfiguriert werden. Der Standardwert für Ollama ist http://127.0.0.1:11434 (.env.example:1-20).
sh1# Beispiel für Ollama-Konfiguration 2OLLAMA_HOST=http://127.0.0.1:11434
Anwendung starten und testen
Nach der Einrichtung der Entwicklungsumgebung kann Dyad lokal gestartet und getestet werden. Die Anwendung bietet verschiedene Testmethoden für Unit-Tests und End-to-End-Tests (CONTRIBUTING.md:48-62).
Anwendung lokal starten:
sh1npm start
Pre-Commit-Hooks einrichten:
Für Code-Qualität wird die Einrichtung von Pre-Commit-Hooks empfohlen. Diese führen Formatter und Linter vor jedem Git-Commit aus:
sh1npm run init-precommit
Unit-Tests ausführen:
sh1npm test
E2E-Tests ausführen:
Für E2E-Tests muss die Anwendung zunächst gebaut werden (CONTRIBUTING.md:64-98):
sh1# Build für E2E-Testing 2npm run build 3 4# Gesamte E2E-Test-Suite ausführen 5npm run e2e 6 7# Spezifische Test-Datei ausführen 8npm run e2e e2e-tests/context_manage.spec.ts 9 10# Snapshots aktualisieren 11npm run e2e e2e-tests/context_manage.spec.ts -- --update-snapshots
Hinweis: Ein Re-Build ist nur bei Änderungen am App-Code erforderlich, nicht bei reinen Test-Updates.
Datenbank initialisieren
Dyad verwendet eine SQLite-Datenbank für die lokale Datenspeicherung. Die Datenbank wird automatisch beim ersten Start initialisiert und befindet sich im userData-Verzeichnis (src/db/index.ts:19-51).
Datenbankpfad:
Der Datenbankpfad wird dynamisch basierend auf der Umgebung ermittelt:
typescript1// Pfad: userData/sqlite.db 2export function getDatabasePath(): string { 3 return path.join(getUserDataPath(), "sqlite.db"); 4}
Initialisierungsprozess:
Die Datenbank-Initialisierung erfolgt automatisch durch die initializeDatabase()-Funktion, die folgende Schritte ausführt:
- Prüfung auf existierende Datenbankdatei
- Entfernung korrupter Dateien (Größe < 100 Bytes)
- Erstellung erforderlicher Verzeichnisse
- Aktivierung von Foreign Keys
- Ausführung der Migrationen aus dem
drizzle-Ordner
Migrationen generieren:
Bei Änderungen am Datenbankschema (src/db/schema.ts) müssen neue Migrationen generiert werden (CONTRIBUTING.md:38-46):
sh1npm run db:generate
Datenbank zurücksetzen:
Um eine Migration zu verwerfen oder die Datenbank zurückzusetzen, kann die Datei userData/sqlite.db gelöscht werden.
Häufige Probleme und Lösungen
Problem 1: userData-Verzeichnis fehlt
Symptom: Die Anwendung startet nicht oder zeigt Datenbankfehler.
Lösung: Das userData-Verzeichnis muss manuell erstellt werden:
sh1# Unix/macOS/Linux 2mkdir -p userData 3 4# Windows 5mkdir userData
Problem 2: Datenbank-Migrationsfehler
Symptom: Fehler beim Starten der Anwendung bezüglich Migrationen.
Lösung:
- Prüfen, ob der
drizzle-Ordner existiert - Bei Bedarf Datenbank zurücksetzen durch Löschen von
userData/sqlite.db - Migrationen neu generieren:
npm run db:generate
Problem 3: API-Keys nicht erkannt
Symptom: AI-Provider-Funktionen arbeiten nicht.
Lösung:
.env-Datei im Projektstammverzeichnis erstellen- Erforderliche API-Keys eintragen (z.B.
OPENAI_API_KEY=sk-...) - Anwendung neu starten
Problem 4: Pre-Commit-Hooks schlagen fehl
Symptom: Git-Commits werden durch Linter/Formatter blockiert.
Lösung:
- Pre-Commit-Hooks initialisieren:
npm run init-precommit - Code-Formatierungsprobleme manuell beheben
- Bei irrelevante AI-Reviewer-Kommentare: Kommentar als resolved markieren
Nächste Schritte
Nach erfolgreicher Einrichtung der Entwicklungsumgebung können folgende Aktivitäten durchgeführt werden:
-
Architektur verstehen: Die Architecture Guide und Agent Architecture Guide bieten detaillierte Einblicke in die Funktionsweise von Dyad (CONTRIBUTING.md:1-7).
-
Codebase erkunden: Die DeepWiki-Dokumentation bietet eine umfassende Übersicht über den Dyad-Codebase.
-
Beitragen leisten: Vor dem Öffnen eines Pull Requests sollte ein Issue erstellt werden, um die Änderung zu diskutieren und die Kohärenz der Benutzererfahrung sicherzustellen.
-
Community beitreten: Die Dyad-Community auf Reddit (r/dyadbuilders) bietet Unterstützung und Austauschmöglichkeiten (README.md:21-23).
-
Lizenzhinweise beachten: Code außerhalb von
src/proist unter Apache 2.0 lizenziert, Code innerhalb vonsrc/prounter der Functional Source License 1.1 Apache 2.0 (README.md:31-34).
