Verdent Docs
Erweiterte Funktionen

Referenz zum Werkzeugsystem

Vollständige Referenz für das Werkzeugsystem von Verdent

Was Sie lernen werden

Umfassende Referenz für das integrierte Werkzeugsystem von Verdent, einschließlich Dateioperationen, Suchfunktionen, Befehlsausführung und Integrationswerkzeugen.


Übersicht der verfügbaren Werkzeuge

Verdent for VS Code bietet ein umfassendes Toolkit für Codebearbeitung, Navigation und externe Interaktion.

WerkzeugZweckWichtige Fähigkeiten
file_readDateiinhalte lesenUnterstützt Zeilenbereiche für große Dateien, funktioniert mit allen Textformaten
file_editGezielte ÄnderungenErsetzt exakte Textübereinstimmungen, mehrere Ersetzungen, erhält die Formatierung
file_writeDateien erstellen oder überschreibenVollständige Dateierstellung/-ersetzung, verarbeitet Textinhalte
WerkzeugZweckWichtige Fähigkeiten
bashAusführung von Shell-BefehlenTimeout-Konfiguration, zusammenfassende Beschreibungen, Befehlsverkettung
spawn_subagentDelegation an SpezialistenStartet allgemeine, Explorer-, Verifier- oder Code-Reviewer-Subagenten
todo_updateAufgabenfortschritt verfolgenVerwaltet Aufgabenlisten, aktualisiert den Status, Fortschrittsverfolgung
WerkzeugZweckWichtige Fähigkeiten
web_searchInternetsucheAusführung von Abfragen, Steuerung der Ergebnisanzahl, Filterung nach Aktualität
web_fetchSeiten abrufen und analysierenRuft Inhalte ab, extrahiert Informationen anhand von Abfragen

Werkzeugfähigkeiten und Anwendungsfälle

file_read

Fähigkeiten:

  • Liest vollständige Dateiinhalte oder bestimmte Zeilenbereiche
  • Unverzichtbar, um Code vor Änderungen zu verstehen
  • Effiziente Verarbeitung großer Dateien durch Bereichsangabe

Anwendungsfälle:

  • Lesen von Konfigurationsdateien vor der Bearbeitung
  • Verstehen bestehender Implementierungsmuster
  • Überprüfen von Testdateien, um die Testabdeckung zu verstehen

Beispiel:

# Read entire file
file_read("src/components/Button.tsx")

# Read specific range for large files
file_read("package-lock.json", start_line=1, max_lines=50)

file_edit

Fähigkeiten:

  • Präzise Textersetzung mittels exakter Zeichenkettenübereinstimmung
  • Mehrere Ersetzungsvorgänge mit dem Flag multiple
  • Erhält die Dateistruktur und Formatierung

Anwendungsfälle:

  • Aktualisieren von Funktionsimplementierungen
  • Ändern von Konfigurationswerten
  • Umbenennen von Variablen über mehrere Dateien hinweg

Best Practice: Für gezielte Änderungen verwenden. Für vollständige Neuschreibungen file_write stattdessen einsetzen.


file_write

Fähigkeiten:

  • Erstellt neue Dateien von Grund auf
  • Ersetzt bestehende Dateiinhalte vollständig
  • Verarbeitet jedes textbasierte Format

Anwendungsfälle:

  • Generieren neuer Komponenten oder Module
  • Erstellen von Konfigurationsdateien
  • Schreiben von Testdateien

Warnung: Überschreibt bestehende Dateien vollständig. Für teilweise Änderungen file_edit verwenden.

bash

Fähigkeiten:

  • Führt Shell-Befehle aus
  • Maximales Timeout: 120 Sekunden (2 Minuten, feste Obergrenze)
  • Verkettung von Befehlen mit && bei Abhängigkeiten
  • Liefert beschreibende Zusammenfassungen zur Klarheit

Anwendungsfälle:

  • Ausführen von Tests
  • Erstellen von Projekten (Build)
  • Installieren von Abhängigkeiten
  • Git-Operationen
  • Datenbankmigrationen

Beispiel:

# Run tests
bash("npm test", timeout=60000, summary="Run Jest test suite")

# Chain dependent commands
bash("npm install && npm run build", timeout=120000)

Sicherheit: Befehle werden mit den Berechtigungen des Nutzers ausgeführt. Überprüfen Sie Befehle in Manual Accept Mode.


spawn_subagent

Fähigkeiten:

  • Startet spezialisierte Subagenten mit isolierten Kontexten
  • Typen: explorer, verifier, code-reviewer
  • Delegiert komplexe Aufgaben, ohne den Hauptkontext zu belasten
  • Parallele Subagenten-Ausführung für mehr Effizienz

Anwendungsfälle:

  • Explorer: Durchsuchen großer Codebasen nach Mustern
  • Verifier: Validierung der Implementierungslogik
  • Code-reviewer: Sicherheits- und Qualitätsbewertung

Best Practice: Delegieren Sie explorative Recherchen an den Explorer-Subagenten, um den Kontext des Hauptgesprächs zu schonen.


todo_update

Fähigkeiten:

  • Erstellt und verwaltet Aufgabenlisten
  • Aktualisiert den Aufgabenstatus (ausstehend, in Bearbeitung, abgeschlossen)
  • Verfolgt den Fortschritt komplexer Implementierungen

Anwendungsfälle:

  • Aufteilen mehrstufiger Funktionen
  • Nachverfolgen des Fortschritts bei Refactorings
  • Verwalten von Migrationsaufgaben

Fähigkeiten:

  • Abfrage von Internetsuchmaschinen
  • Steuerung der Ergebnisanzahl
  • Filterung nach Aktualität (letzte Tage)

Anwendungsfälle:

  • Auffinden von Dokumentation für unbekannte APIs
  • Recherchieren von Fehlermeldungen
  • Prüfen aktueller Best Practices

web_fetch

Fähigkeiten:

  • Ruft Webseiteninhalte ab
  • Analysiert Inhalte anhand bestimmter Abfragen
  • Extrahiert strukturierte Informationen

Anwendungsfälle:

  • Lesen von Dokumentationsseiten
  • Analysieren von API-Dokumentation
  • Extrahieren von Beispielen aus Tutorials

Unterstützung von Dateiformaten

Verdent funktioniert mit allen textbasierten Dateiformaten über seine Dateioperations-Werkzeuge.

KategorieSprachen/Erweiterungen
WebJavaScript, TypeScript, HTML, CSS, SCSS, LESS
BackendPython, Java, Go, Rust, C, C++, C#, Ruby, PHP, Perl
MobileSwift, Kotlin, Dart (Flutter), Objective-C
FunktionalHaskell, Scala, Elixir, Clojure, F#
SkriptingBash, PowerShell, Zsh, Fish
DatenSQL, R, Julia, MATLAB
FormatHäufige Beispiele
JSONpackage.json, tsconfig.json, settings.json
YAMLdocker-compose.yml, GitHub Actions, Kubernetes-Konfigurationen
TOMLCargo.toml, pyproject.toml
XMLpom.xml, web.xml, Konfigurationsdateien
INI.gitconfig, .editorconfig
ENV.env-Dateien, Umgebungskonfiguration
HCLTerraform-Konfiguration
FormatAnwendungsfälle
MarkdownREADME.md, Dokumentationsdateien
HTMLVorlagen, Webseiten
LaTeXWissenschaftliche Dokumente, akademische Arbeiten
reStructuredTextPython-Dokumentation
AsciiDocTechnische Dokumentation

Datenformate

FormatBeschreibung
CSV/TSVTabellarische Datendateien
Textbasierte DatenLogdateien, Datenauszüge
JSON/YAMLStrukturierter Datenaustausch

Build- und Paketdateien

DateiZweck
MakefileBuild-Automatisierung
package.jsonNode.js-Abhängigkeiten
requirements.txtPython-Pakete
GemfileRuby-Gems
Cargo.tomlRust-Pakete
build.gradleGradle-Builds
FormattypBeispieleBearbeitbarkeit
BilderPNG, JPG, GIF, SVG (binär)Nicht direkt bearbeitbar
VideosMP4, AVI, MOVNicht direkt bearbeitbar
Kompilierte BinärdateienEXE, DLL, SONicht direkt bearbeitbar
ArchiveZIP, TAR, GZNicht direkt bearbeitbar
Office-DokumenteDOCX, XLSX, PPTXNicht direkt bearbeitbar
PDFsPDF-DateienNicht direkt bearbeitbar

Binärdateien können im Code referenziert werden, lassen sich aber nicht über die Datei-Werkzeuge ändern.


Unterstützung von Programmiersprachen

Verdent bietet umfassende Unterstützung für alle textbasierten Programmiersprachen und Frameworks.

Sprache/FrameworkUnterstützungsniveauHäufige Anwendungsfälle
JavaScriptAusgezeichnetFrontend-Logik, Node.js-Backends, Tooling
TypeScriptAusgezeichnetTypsichere Webanwendungen, große Projekte
ReactAusgezeichnetKomponentenbasierte UIs, Hooks, State-Management
VueAusgezeichnetProgressive Web-Apps, Single-File-Komponenten
AngularAusgezeichnetUnternehmensanwendungen, TypeScript-Integration
SvelteSehr gutKompilierte Komponenten, reaktive Programmierung
HTML/CSSAusgezeichnetMarkup, Styling, responsives Design
SCSS/LESSAusgezeichnetFortgeschrittenes Styling, Variablen, Mixins
Sprache/FrameworkUnterstützungsniveauHäufige Anwendungsfälle
PythonAusgezeichnetAPIs, Datenverarbeitung, Automatisierung
Django/Flask/FastAPIAusgezeichnetWebframeworks, REST-APIs
Node.js/ExpressAusgezeichnetJavaScript-Backends, Microservices
Java/SpringAusgezeichnetUnternehmensanwendungen, Spring Boot
GoAusgezeichnetHochleistungsdienste, CLIs
RustSehr gutSystemprogrammierung, performancekritischer Code
C/C++Sehr gutSysteme, Embedded, Game-Engines
C# / .NETAusgezeichnetWindows-Anwendungen, Webdienste, Unity
Ruby/RailsSehr gutWebanwendungen, schnelle Entwicklung
PHPGutWordPress, Laravel, Legacy-Anwendungen
Sprache/FrameworkUnterstützungsniveauHäufige Anwendungsfälle
SwiftAusgezeichnetNative iOS/macOS-Apps
KotlinAusgezeichnetNative Android-Apps
Dart/FlutterAusgezeichnetPlattformübergreifende mobile Apps
React NativeAusgezeichnetJavaScript-basierte mobile Apps
Objective-CGutLegacy-iOS/macOS-Apps
SpracheUnterstützungsniveauHäufige Anwendungsfälle
PythonAusgezeichnetNumPy, Pandas, scikit-learn, TensorFlow
RSehr gutStatistische Analyse, Datenvisualisierung
SQLAusgezeichnetDatenbankabfragen, Schemadesign
JuliaGutWissenschaftliches Rechnen, numerische Analyse
SpracheUnterstützungsniveauHäufige Anwendungsfälle
CSehr gutSystemprogrammierung, Embedded
C++Sehr gutPerformancekritische Anwendungen
RustSehr gutSpeichersichere Systemprogrammierung
GoAusgezeichnetNebenläufige Systeme, Clouddienste
AssemblerGutLow-Level-Optimierung, Debugging

Qualität der Unterstützung: Gängige Sprachen (JavaScript, Python, TypeScript) verfügen aufgrund umfangreicher Trainingsdaten über eine stärkere Unterstützung. Weniger verbreitete oder domänenspezifische Sprachen können eine geringere Unterstützungsqualität aufweisen, bleiben aber funktionsfähig.


Nutzungsgrenzen und Best Practices

Effizienz von file_read

Best Practices:

  • Verwenden Sie Zeilenbereiche für Dateien mit mehr als 500 Zeilen, um eine Überlastung des Kontexts zu vermeiden
  • Lesen Sie nur die für die Aufgabe relevanten Abschnitte
  • Bei großen Dateien zunächst grep_content verwenden, um relevante Zeilennummern zu identifizieren
# Good: Read specific section
file_read("large-config.json", start_line=100, max_lines=50)

# Less efficient: Read entire large file
file_read("large-config.json")  # May consume excessive context

Präzision von file_edit

Best Practices:

  • Stellen Sie exakte Zeichenkettenübereinstimmungen sicher, um fehlgeschlagene Bearbeitungen zu vermeiden
  • Für mehrere ähnliche Änderungen das Flag multiple=true verwenden
  • Dateipfade vor der Bearbeitung überprüfen

Sicherheit von file_write

Best Practices:

  • Pfade doppelt prüfen, um versehentliches Überschreiben zu verhindern
  • Nur für neue Dateien oder vollständige Neuschreibungen verwenden
  • Für Änderungen aus Sicherheitsgründen file_edit bevorzugen

Best Practices für bash

Sichere Befehlsausführung:

  • Klare Zusammenfassungen für Befehlsbeschreibungen liefern
  • Angemessene Timeouts für lang laufende Operationen festlegen
  • Abhängige Befehle mit && verketten
  • Destruktive Befehle sorgfältig prüfen (rm, drop, truncate)
# Good: Clear summary, reasonable timeout
bash("npm run build", timeout=120000, summary="Build production bundle")

# Good: Chained dependencies
bash("npm install && npm run test", timeout=180000)

Sicherheitsüberlegungen

Kritische Sicherheitsregeln:

  • Befehle werden mit den Berechtigungen des Nutzers ausgeführt
  • Niemals nicht vertrauenswürdige Befehle ausführen
  • Manual Accept Mode für die Überprüfung in gemeinsam genutzten Codebasen verwenden
  • Befehle vermeiden, die Zugangsdaten oder sensible Daten offenlegen

Überprüfen Sie bash-Befehle in Manual Accept Mode immer, wenn Sie in gemeinsam genutzten Codebasen oder Produktionsumgebungen arbeiten.

Effizienz der Subagenten-Delegation

Wann Subagenten verwendet werden sollten:

  • Explorer: Codebasis-Suchen, Architekturfragen (schont den Hauptkontext)
  • Verifier: Schnelle Validierungsprüfungen (isolierte Verifikation)
  • Code-reviewer: Sicherheits- und Qualitätsprüfungen (detaillierte Analyse)
  • General: Komplexe mehrstufige Aufgaben (parallele Ausführung)

Best Practice: Delegieren Sie explorative und recherchierende Aufgaben an Subagenten, um den Kontext des Hauptgesprächs für die aktive Entwicklungsarbeit zu schonen.


Kontextverwaltung

Strategische Werkzeugnutzung:

  • Dateien strategisch lesen – nur das, was benötigt wird
  • Subagenten für Hintergrundrecherchen verwenden
  • Kontextverbrauch während langer Sitzungen überwachen
  • Komplexe Vorgänge mit todo_update in Schritte aufteilen

Effiziente Arbeitsabläufe:

  1. Planung: glob/grep verwenden, um den Umfang zu bestimmen
  2. Lesen: Nur relevante Dateien/Abschnitte lesen
  3. Ausführung: Bei Bedarf an Subagenten delegieren
  4. Verifikation: Schnelle Prüfungen mit dem Verifier-Subagenten

Dateigrößenbeschränkungen

Umgang mit großen Dateien: Sehr große Dateien (>10.000 Zeilen) sollten abschnittsweise gelesen werden, um Folgendes zu vermeiden:

  • Erschöpfung des Kontextfensters
  • Langsame Antwortzeiten
  • Speicherprobleme

Verwenden Sie für Dateien mit mehr als 500 Zeilen stets Zeilenbereiche mit file_read, um eine optimale Leistung zu erhalten.


Standard-Timeouts der Werkzeuge

Werkzeuggrenzen:

  • Bash-Timeout: maximal 120 Sekunden (2 Minuten)
  • Dateioperationen: keine Größenbeschränkungen (große Dateien werden automatisch in Batches gelesen)
  • Umgang mit großen Dateien: Dateien >256 KB liefern nur die ersten 256 KB des Inhalts zurück
  • Suchergebnisse: keine Begrenzungen bei den Ergebnissen von glob oder grep_content
  • Gleichzeitige Subagenten: keine Begrenzung bei der parallelen Ausführung

Timeout-Konfiguration:

  • Explizite Timeouts für lang laufende Operationen festlegen
  • Auf hängende Prozesse achten
  • Befehle, die das 2-Minuten-Timeout überschreiten, werden beendet

Gleichzeitige Operationen

Parallele Ausführung: Mehrere Subagenten können parallel ausgeführt werden, um komplexe Vorgänge zu beschleunigen. Der Hauptagent übernimmt die Koordination automatisch.

Leistungsvorteile:

  • Verkürzte Gesamtausführungszeit bei mehrstufigen Aufgaben
  • Effiziente Ressourcennutzung
  • Automatische Aufgabenorchestrierung
  • Keine Begrenzung bei der Anzahl gleichzeitiger Subagenten

Siehe auch