Preise

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:

MerkmalBeschreibung
RegistrierungNicht erforderlich
PlattformenMac, Windows
LizenzApache 2.0 (außer src/pro)
Lock-inKein 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

sh
1npm install

Schritt 2: userData-Verzeichnis erstellen

Das userData-Verzeichnis ist für die Datenbank erforderlich und muss vor dem ersten Start manuell angelegt werden:

sh
1# 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:

sh
1# .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:

KategorieVariablenErforderlich
AI-Provider API-KeysOPENAI_API_KEY, ANTHROPIC_API_KEY, GOOGLE_API_KEYOptional
Lokale AI-ModelleOLLAMA_HOSTOptional
GitHub-IntegrationGITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET, GITHUB_TOKENOptional
Apple NotarisierungAPPLE_ID, APPLE_PASSWORD, APPLE_TEAM_IDNur 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).

sh
1# 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:

sh
1npm 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:

sh
1npm run init-precommit

Unit-Tests ausführen:

sh
1npm test

E2E-Tests ausführen:

Für E2E-Tests muss die Anwendung zunächst gebaut werden (CONTRIBUTING.md:64-98):

sh
1# 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:

typescript
1// 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:

  1. Prüfung auf existierende Datenbankdatei
  2. Entfernung korrupter Dateien (Größe < 100 Bytes)
  3. Erstellung erforderlicher Verzeichnisse
  4. Aktivierung von Foreign Keys
  5. 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):

sh
1npm 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:

sh
1# 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:

  1. Architektur verstehen: Die Architecture Guide und Agent Architecture Guide bieten detaillierte Einblicke in die Funktionsweise von Dyad (CONTRIBUTING.md:1-7).

  2. Codebase erkunden: Die DeepWiki-Dokumentation bietet eine umfassende Übersicht über den Dyad-Codebase.

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

  4. Community beitreten: Die Dyad-Community auf Reddit (r/dyadbuilders) bietet Unterstützung und Austauschmöglichkeiten (README.md:21-23).

  5. Lizenzhinweise beachten: Code außerhalb von src/pro ist unter Apache 2.0 lizenziert, Code innerhalb von src/pro unter der Functional Source License 1.1 Apache 2.0 (README.md:31-34).