Back to Docs
Technischer Leitfaden

File-Discovery-Workflow

Umfassender technischer Leitfaden zum 5-stufigen KI-Workflow, der relevante Dateien für die Aufgabenausführung identifiziert und filtert.

12 Min. read

PlanToCode identifiziert die richtigen Dateien, bevor Sie planen oder Befehle ausführen. Der 5-stufige Workflow grenzt den Umfang ein und hält den Kontext eng.

Workflow-Architektur

Der Workflow arbeitet als orchestriertes Hintergrundjob-System mit fünf unterschiedlichen Phasen, die sequenziell ausgeführt werden. Jede Phase baut auf der Ausgabe der vorherigen Phase auf und verfeinert progressiv die Dateiauswahl basierend auf Aufgabenanforderungen.

Das System verwendet eine verteilte Job-Architektur, bei der jede Phase als unabhängiger Hintergrundjob läuft und Abbruch, Wiederholungslogik und detaillierte Fortschrittsverfolgung ermöglicht. Echtzeitevents werden während der Ausführung veröffentlicht, um sofortiges Feedback an die Benutzeroberfläche zu geben.

Wichtige Architekturmerkmale:

  • Ereignisgesteuerte Fortschrittsberichterstattung mit WebSocket-ähnlichen Updates
  • Umfassende Fehlerbehandlung mit automatischen Wiederholungsmechanismen
  • Kostenverfolgung und Timeout-Management für KI-Operationen
  • Caching von Zwischenergebnissen für Performance-Optimierung
  • Git-Integration mit Fallback auf Verzeichnis-Traversierung

5-Stufen-Workflow-Prozess

Stufe 1: Root-Ordner-Auswahl

Bestimmt das Projekt-Root-Verzeichnis und validiert den Git-Repository-Status. Diese Stufe etabliert das Basisverzeichnis für alle nachfolgenden Dateioperationen und konfiguriert Ausschlussmuster.

Technische Details: Verwendet Git-Erkennung mit Fallback auf Verzeichnisvalidierung, wendet benutzerdefinierte Ausschlussmuster an und etabliert den Arbeitsverzeichniskontext für den gesamten Workflow.

Stufe 2: Regex-Dateifilter

Generiert intelligente Regex-Muster basierend auf der Aufgabenbeschreibung zur Durchführung der initialen Dateifilterung. Diese Stufe kombiniert git ls-files-Ausgabe mit Binärdateierkennung, um eine vorläufige Dateiliste zu erstellen.

Git-Integration: Führt `git ls-files --cached --others --exclude-standard` aus, um .gitignore-Regeln zu respektieren und gleichzeitig sowohl getrackte als auch ungetrackte Dateien einzubeziehen.
Binärerkennung: Filtert Dateien mit Binärerweiterungen (.jpg, .png, .pdf, .exe usw.) heraus und verwendet Inhaltsanalyse zur Erkennung von Binärdateien anhand von Null-Bytes und Nicht-druckbaren-Zeichen-Verhältnissen.

Stufe 3: KI-Dateirelevanz-Bewertung

Setzt KI-Modelle ein, um Dateiinhalte zu analysieren und die Relevanz für die spezifische Aufgabenbeschreibung zu bewerten. Diese Stufe führt tiefe Inhaltsanalyse durch, um Dateien zu identifizieren, die am wahrscheinlichsten für die gegebene Aufgabe nützlich sind.

KI-Verarbeitung: Verwendet große Sprachmodelle zur Bewertung von Dateiinhalten gegen Aufgabenanforderungen, mit intelligentem Batching zur Verwaltung von Token-Limits und Kostenoptimierung.

Stufe 4: Erweiterte Pfad-Finder

Entdeckt zusätzliche relevante Dateien durch Beziehungsanalyse und Abhängigkeitsverfolgung. Diese Stufe identifiziert Dateien, die möglicherweise nicht mit initialen Mustern übereinstimmen, aber kontextuell wichtig sind.

Beziehungsanalyse: Analysiert Import-Anweisungen, Konfigurationsdateien und Projektstruktur, um verwandte Dateien zu finden, die den Kontext für die spezifische Aufgabe verbessern.

Konfigurationsoptionen

Workflow-Konfiguration

Timeout-Management

Konfigurieren Sie die maximale Ausführungszeit für den gesamten Workflow oder einzelne Phasen, um unbegrenztes Hängen zu verhindern.

timeoutMs: 300000 // 5 minutes default

Ausschlussmuster

Definieren Sie Verzeichnisse und Dateimuster, die vom Discovery-Prozess ausgeschlossen werden sollen.

excludedPaths: ["node_modules", ".git", "dist", "build"]

Wiederholungskonfiguration

Legen Sie maximale Wiederholungsversuche für fehlgeschlagene Phasen mit exponentiellem Backoff fest.

maxRetries: 3 // Per stage retry limit

API-Nutzungsbeispiele

Einen Workflow starten

const tracker = await WorkflowTracker.startWorkflow(
  sessionId,
  "Add user authentication to the login page",
  "/path/to/project",
  ["node_modules", "dist"],
  { timeoutMs: 300000 }
);

Fortschritt überwachen

tracker.onProgress((state) => {
  console.log(`Stage: ${state.currentStage}`);
  console.log(`Progress: ${state.progressPercentage}%`);
});
tracker.onComplete((results) => {
  console.log(`Selected ${results.selectedFiles.length} files`);
});

Ergebnisse abrufen

const results = await tracker.getResults();
const selectedFiles = results.selectedFiles;
const intermediateData = results.intermediateData;
const totalCost = results.totalActualCost;

Performance-Überlegungen

Speicherverwaltung

Der Workflow implementiert intelligente Speicherverwaltung mit Datei-Caching (30-Sekunden-TTL), Batch-Verarbeitung (100 Dateien pro Batch) und automatischer Bereinigung von Zwischendaten, um Speicherüberlastung zu verhindern.

Kostenoptimierung

KI-Stufen verfolgen tatsächliche Kosten aus API-Antworten, implementieren intelligentes Batching zur Minimierung der Token-Nutzung und liefern Kostenschätzungen vor der Ausführung, um bei der Ausgabenverwaltung zu helfen.

Performance-Überwachung

Eingebaute Performance-Verfolgung überwacht Ausführungszeiten, Speichernutzung, Durchsatz-Metriken und liefert Empfehlungen zur Optimierung basierend auf historischer Datenanalyse.

Integrationsmuster

Desktop-Anwendung

Der Workflow integriert sich nahtlos mit der Desktop-Anwendung über Tauri-Befehle und bietet nativen Dateisystemzugriff und ereignisgesteuerte Updates über die WorkflowTracker-Klasse.

Implementierungspläne-Integration

Ausgewählte Dateien werden automatisch in das Implementierungspläne-Panel eingespeist und stellen sicher, dass die Plangenerierung denselben optimierten Dateikontext verwendet, ohne eine erneute Ausführung des Discovery-Workflows zu erfordern.

Session-Management

Workflow-Ergebnisse werden pro Session gecacht, sodass mehrere Operationen innerhalb derselben Session den entdeckten Dateikontext wiederverwenden können, was die Performance für iterative Entwicklungs-Workflows erheblich verbessert.

Fehlerbehandlung & Fehlerbehebung

Häufige Probleme

  • Git-Repository nicht gefunden: Fällt zurück auf Verzeichnis-Traversierung mit Standardausschlüssen
  • Binärdateierkennung: Verwendet sowohl erweiterungsbasierte als auch inhaltsbasierte Binärerkennung
  • Token-Limit überschritten: Implementiert intelligentes Batching und liefert klare Fehlermeldungen
  • Netzwerk-Timeouts: Automatische Wiederholung mit exponentiellem Backoff für transiente Fehler

Fehlerkategorien

  • Validierungsfehler: Ungültige Session-ID, fehlende Aufgabenbeschreibung oder ungültiges Projektverzeichnis
  • Workflow-Fehler: Phasenspezifische Fehler mit detailliertem Kontext und Wiederholungsvorschlägen
  • Abrechnungsfehler: Unzureichende Credits oder Zahlungsfehler mit umsetzbarer Anleitung
  • Systemfehler: Dateisystemzugriff, Git-Befehlsfehler oder Speichereinschränkungen

Debugging-Tools

Der Workflow bietet umfassende Protokollierung, Performance-Metrik-Export und detaillierten Fehlerkontext einschließlich Phaseninformationen, Wiederholungsversuchen und Zwischendaten zur Fehlerbehebung.

Workflow-Statusverwaltung

Statusübergänge

Der Workflow durchläuft klar definierte Zustände: Erstellt → Läuft → Pausiert (optional) → Abgeschlossen/Fehlgeschlagen/Abgebrochen. Jeder Statusübergang veröffentlicht Ereignisse, die für Echtzeit-Updates überwacht werden können.

Zwischendatenspeicherung

Jede Phase speichert ihre Ausgabe in einem strukturierten Zwischendatenformat, einschließlich Verzeichnisbaum-Inhalt, Regex-Muster, gefilterte Dateilisten und Pfad-Korrekturergebnisse. Diese Daten sind für das Debugging zugänglich und können verwendet werden, um Workflows von bestimmten Phasen aus fortzusetzen.

Ereignisgesteuerte Updates

Das System veröffentlicht Echtzeitevents für Workflow-Statusänderungen, Phasenabschlüsse und Fehlerbedingungen. Diese Ereignisse ermöglichen responsive Benutzeroberflächen und Integration mit externen Überwachungssystemen.

Benötigen Sie die Desktop-App?

Der File-Discovery-Workflow läuft innerhalb des Desktop-Clients zusammen mit Implementierungsplanung und Terminal-Sessions.