Dropstone Docs

Tools

Verwalten Sie die Tools, die ein LLM verwenden kann.

Tools ermöglichen es dem LLM, Aktionen in Ihrer Codebasis durchzuführen. Dropstone wird mit einer Reihe von integrierten 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 zur Ausführung. Sie können das Tool-Verhalten durch Berechtigungen steuern.


Konfigurieren

Verwenden Sie das Feld permission, um das Tool-Verhalten zu steuern. Sie können jedes Tool zulassen, ablehnen oder eine Genehmigung erfordern.

{
  "$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 eine Genehmigung für alle Tools von einem MCP-Server zu erfordern:

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "mymcp_*": "ask"
  }
}

Erfahren Sie mehr über die Konfiguration von Berechtigungen.


Integriert

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, Terminal-Befehle wie npm install, git status oder jeden anderen Shell-Befehl auszuführen.


edit

Ändern Sie vorhandene Dateien mit exakten String-Ersetzungen.

{
  "$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 die primäre Methode, mit der 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 ermöglichen, neue Dateien zu erstellen. Es überschreibt vorhandene Dateien, falls diese bereits vorhanden sind.

Note:

Das Tool write wird durch die Berechtigung edit 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 Inhalte zurück. Es unterstützt das Lesen bestimmter Zeilenbereiche für große Dateien.


grep

Durchsuchen Sie Dateiinhalte mit regulären Ausdrücken.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "grep": "allow"
  }
}

Schnelle Inhaltssuche in Ihrer 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-Intelligence-Funktionen wie Definitionen, Referenzen, Hover-Informationen und Call-Hierarchie 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 sind goToDefinition, findReferences, hover, documentSymbol, workspaceSymbol, goToImplementation, prepareCallHierarchy, incomingCalls und outgoingCalls.

Um zu konfigurieren, welche LSP-Server für Ihr Projekt verfügbar sind, siehe 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 beim Umgang mit tool.execute.before- oder tool.execute.after-Hooks input.tool === "apply_patch" (nicht "patch").

apply_patch verwendet output.args.patchText statt output.args.filePath. Pfade sind in Markierungszeilen innerhalb von patchText eingebettet und relativ zum Projektstamm (z. B.: *** Add File: src/new-file.ts, *** Update File: src/existing.ts, *** Move to: src/renamed.ts, *** Delete File: src/obsolete.ts).

Note:

Das Tool apply_patch wird durch die Berechtigung edit gesteuert, die alle Dateiänderungen abdeckt (edit, write, apply_patch).


skill

Laden Sie einen Skill (eine SKILL.md-Datei) und geben Sie seinen Inhalt in der Konversation zurück.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "skill": "allow"
  }
}

todowrite

Verwalten Sie Todo-Listen während Coding-Sitzungen.

{
  "$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 Subagenten standardmäßig deaktiviert, aber Sie können es manuell aktivieren. Erfahren Sie mehr.


webfetch

Rufen Sie Web-Inhalte ab.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "webfetch": "allow"
  }
}

Ermöglicht es dem LLM, Webseiten abzurufen und zu lesen. Nützlich zum Nachschlagen von Dokumentation oder Recherche von Online-Ressourcen.


websearch

Durchsuchen Sie das Web nach Informationen. Verfügbar standardmäßig, wenn Sie bei Dropstone angemeldet sind.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "websearch": "allow"
  }
}

Führt Web-Suchen durch, um relevante Informationen online zu finden. Nützlich zum Recherchieren von Themen, Finden aktueller Ereignisse oder Sammeln von Informationen über das Trainingsdaten-Cutoff hinaus. Es ist kein API-Schlüssel oder zusätzliche Einrichtung erforderlich, wenn Sie bei Dropstone angemeldet sind.

Tipp:

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:

  • Sammeln von Benutzervorlieben oder Anforderungen
  • Klärung mehrdeutiger Anweisungen
  • Treffen von Entscheidungen bei Implementierungswahlmöglichkeiten
  • Angebot von Wahlmöglichkeiten über die Richtung

Jede Frage enthält eine Kopfzeile, den Fragetext und eine Liste von Optionen. Benutzer können aus den bereitgestellten Optionen auswählen oder eine benutzerdefinierte Antwort eingeben. Wenn es mehrere Fragen gibt, können Benutzer zwischen ihnen navigieren, bevor sie alle Antworten einreichen.


Benutzerdefinierte Tools

Benutzerdefinierte Tools ermöglichen es Ihnen, Ihre eigenen Funktionen zu definieren, die das LLM aufrufen kann. Diese werden in Ihrer Konfigurationsdatei definiert und können beliebigen Code ausführen.

Erfahren Sie mehr über die Erstellung benutzerdefinierter Tools.


MCP-Server

MCP (Model Context Protocol)-Server ermöglichen es Ihnen, externe Tools und Dienste zu integrieren. Dies umfasst Datenbankzugriff, API-Integrationen und Dienste von Drittanbietern.

Erfahren Sie mehr über die Konfiguration von MCP-Servern.


Ignorieren von Mustern

Standardmäßig respektieren grep und glob Ihre .gitignore: Dateien und Verzeichnisse, die dort aufgelistet sind, werden von Suchen und Auflistungen ausgeschlossen.

Um Dateien einzubeziehen, die normalerweise ignoriert würden, erstellen Sie eine .ignore-Datei im Projektstamm. Diese Datei kann bestimmte Pfade explizit zulassen.

!node_modules/
!dist/
!build/

Beispielsweise erlaubt diese .ignore-Datei die Suche in den Verzeichnissen node_modules/, dist/ und build/, auch wenn diese in .gitignore aufgelistet sind.

Ctrl+I