Tools
Verwalten Sie die Tools, die ein LLM verwenden kann.
Tools ermöglichen es dem LLM, Aktionen in Ihrer Codebasis auszuführen. Dropstone wird mit einer Reihe integrierter Tools geliefert, aber Sie können es mit benutzerdefinierten Tools oder MCP-Servern erweitern.
Standardmäßig sind alle Tools aktiviert und benötigen keine Berechtigung zum Ausführen. Sie können das Tool-Verhalten über Berechtigungen steuern.
Konfigurieren
Verwenden Sie das Feld permission, um das Tool-Verhalten zu steuern. Sie können jedes Tool erlauben, verbieten oder eine Genehmigung anfordern.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"edit": "deny",
"bash": "ask",
"webfetch": "allow"
}
}
Sie können auch Platzhalter verwenden, um mehrere Tools gleichzeitig zu steuern. Um beispielsweise für alle Tools eines MCP-Servers eine Genehmigung anzufordern:
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"mymcp_*": "ask"
}
}
Erfahren Sie mehr über die Konfiguration von Berechtigungen.
Integrierte Tools
Hier sind alle integrierten Tools, die in Dropstone verfügbar sind.
bash
Führen Sie Shell-Befehle in Ihrer Projektumgebung aus.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"bash": "allow"
}
}
Dieses Tool ermöglicht es dem LLM, Terminalbefehle wie npm install, git status oder jeden anderen Shell-Befehl auszuführen.
edit
Ändern Sie vorhandene Dateien mithilfe exakter Zeichenfolgenersetzungen.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"edit": "allow"
}
}
Dieses Tool führt präzise Änderungen an Dateien durch, indem es exakte Textübereinstimmungen ersetzt. Es ist der primäre Weg, über den das LLM Code ändert.
write
Erstellen Sie neue Dateien oder überschreiben Sie vorhandene.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"edit": "allow"
}
}
Verwenden Sie dies, um dem LLM zu erlauben, neue Dateien zu erstellen. Es überschreibt vorhandene Dateien, falls diese bereits existieren.
Note
Das write-Tool wird durch die edit-Berechtigung gesteuert, die alle Dateiänderungen abdeckt (edit, write, apply_patch).
read
Lesen Sie Dateiinhalte aus Ihrer Codebasis.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"read": "allow"
}
}
Dieses Tool liest Dateien und gibt deren Inhalt zurück. Es unterstützt das Lesen bestimmter Zeilenbereiche für große Dateien.
grep
Durchsuchen Sie Dateiinhalte mithilfe regulärer Ausdrücke.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"grep": "allow"
}
}
Schnelle Inhaltssuche in Ihrer gesamten Codebasis. Unterstützt vollständige Regex-Syntax und Dateimuster-Filterung.
glob
Finden Sie Dateien durch Musterabgleich.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"glob": "allow"
}
}
Suchen Sie nach Dateien mit Glob-Mustern wie **/*.js oder src/**/*.ts. Gibt übereinstimmende Dateipfade sortiert nach Änderungszeit zurück.
lsp (experimentell)
Interagieren Sie mit Ihren konfigurierten LSP-Servern, um Code-Intelligenz-Funktionen wie Definitionen, Referenzen, Hover-Informationen und Aufrufhierarchien zu erhalten.
Experimentell
Das LSP-Tool ist experimentell und standardmäßig deaktiviert. Das Verhalten kann sich zwischen Versionen ändern.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"lsp": "allow"
}
}
Unterstützte Operationen umfassen goToDefinition, findReferences, hover, documentSymbol, workspaceSymbol, goToImplementation, prepareCallHierarchy, incomingCalls und outgoingCalls.
Informationen zur Konfiguration, welche LSP-Server für Ihr Projekt verfügbar sind, finden Sie unter LSP-Server.
apply_patch
Wenden Sie Patches auf Dateien an.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"edit": "allow"
}
}
Dieses Tool wendet Patch-Dateien auf Ihre Codebasis an. Nützlich zum Anwenden von Diffs und Patches aus verschiedenen Quellen.
Überprüfen Sie bei der Behandlung von tool.execute.before- oder tool.execute.after-Hooks, ob input.tool === "apply_patch" (nicht "patch") gilt.
apply_patch verwendet output.args.patchText anstelle von output.args.filePath. Pfade sind in Markierungszeilen innerhalb von patchText eingebettet und relativ zum Projektstammverzeichnis (zum Beispiel: *** Add File: src/new-file.ts, *** Update File: src/existing.ts, *** Move to: src/renamed.ts, *** Delete File: src/obsolete.ts).
Note
Das apply_patch-Tool wird durch die edit-Berechtigung gesteuert, die alle Dateiänderungen abdeckt (edit, write, apply_patch).
skill
Laden Sie eine Skill (eine SKILL.md-Datei) und geben Sie deren Inhalt in der Konversation zurück.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"skill": "allow"
}
}
todowrite
Verwalten Sie Aufgabenlisten während Codierungssitzungen.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"todowrite": "allow"
}
}
Erstellt und aktualisiert Aufgabenlisten, um den Fortschritt bei komplexen Operationen zu verfolgen. Das LLM verwendet dies, um mehrstufige Aufgaben zu organisieren.
Note
Dieses Tool ist für Unteragenten standardmäßig deaktiviert, Sie können es jedoch manuell aktivieren. Erfahren Sie mehr.
webfetch
Rufen Sie Webinhalte ab.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"webfetch": "allow"
}
}
Ermöglicht dem LLM, Webseiten abzurufen und zu lesen. Nützlich zum Nachschlagen von Dokumentationen oder zum Recherchieren von Online-Ressourcen.
websearch
Durchsuchen Sie das Web nach Informationen. Standardmäßig verfügbar, wenn Sie bei Dropstone angemeldet sind.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"websearch": "allow"
}
}
Führt Websuchen durch, um relevante Informationen online zu finden. Nützlich zum Recherchieren von Themen, zum Finden aktueller Ereignisse oder zum Sammeln von Informationen, die über den Trainingsdaten-Stand hinausgehen. Wenn Sie bei Dropstone angemeldet sind, ist kein API-Schlüssel oder zusätzliche Einrichtung erforderlich.
Tip
Verwenden Sie websearch, wenn Sie Informationen finden müssen (Entdeckung), und webfetch, wenn Sie Inhalte von einer bestimmten URL abrufen müssen (Abruf).
question
Stellen Sie dem Benutzer während der Ausführung Fragen.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"question": "allow"
}
}
Dieses Tool ermöglicht es dem LLM, dem Benutzer während einer Aufgabe Fragen zu stellen. Es ist nützlich für:
- Erfassen von Benutzerpräferenzen oder -anforderungen
- Klären mehrdeutiger Anweisungen
- Einholen von Entscheidungen zu Implementierungsoptionen
- Anbieten von Optionen, in welche Richtung es weitergehen soll
Jede Frage enthält eine Überschrift, den Fragetext und eine Liste von Optionen. Benutzer können aus den bereitgestellten Optionen wählen oder eine eigene Antwort eingeben. Bei mehreren Fragen können Benutzer zwischen ihnen navigieren, bevor sie alle Antworten übermitteln.
Benutzerdefinierte Tools
Mit benutzerdefinierten Tools können Sie Ihre eigenen Funktionen definieren, die das LLM aufrufen kann. Diese werden in Ihrer Konfigurationsdatei definiert und können beliebigen Code ausführen.
Erfahren Sie mehr über das Erstellen benutzerdefinierter Tools.
MCP-Server
MCP-Server (Model Context Protocol) ermöglichen Ihnen die Integration externer Tools und Dienste. Dies umfasst Datenbankzugriff, API-Integrationen und Drittanbieterdienste.
Erfahren Sie mehr über die Konfiguration von MCP-Servern.
Ignorier-Muster
Standardmäßig respektieren grep und glob Ihre .gitignore: Dateien und Verzeichnisse, die dort aufgeführt sind, werden von Suchen und Auflistungen ausgeschlossen.
Um Dateien einzuschließen, die normalerweise ignoriert würden, erstellen Sie eine .ignore-Datei im Stammverzeichnis Ihres Projekts. Diese Datei kann bestimmte Pfade explizit erlauben.
!node_modules/
!dist/
!build/
Diese .ignore-Datei ermöglicht beispielsweise die Suche in den Verzeichnissen node_modules/, dist/ und build/, selbst wenn diese in .gitignore aufgeführt sind.