Agents
Konfigurieren und verwenden Sie spezialisierte Agents.
Agents sind spezialisierte KI-Assistenten, die für bestimmte Aufgaben und Arbeitsabläufe konfiguriert werden können. Sie ermöglichen es Ihnen, fokussierte Werkzeuge mit benutzerdefinierten Prompts, Modellen und Tool-Zugriff zu erstellen.
Tip
Verwenden Sie den Plan-Agent, um Code zu analysieren und Vorschläge zu überprüfen, ohne Codeänderungen vorzunehmen.
Sie können während einer Sitzung zwischen Agents wechseln oder sie mit der @-Erwähnung aufrufen.
Typen
Es gibt zwei Arten von Agents in Dropstone: primäre Agents und Subagents.
Primäre Agents
Primäre Agents sind die Hauptassistenten, mit denen Sie direkt interagieren. Sie können mit der Tab-Taste oder Ihrem konfigurierten switch_agent-Tastenbindung zwischen ihnen wechseln. Diese Agents verwalten Ihre Hauptkonversation. Der Tool-Zugriff wird über Berechtigungen konfiguriert: Beispielsweise hat Build alle Tools aktiviert, während Plan eingeschränkt ist.
Tip
Sie können die Tab-Taste verwenden, um während einer Sitzung zwischen primären Agents zu wechseln.
Dropstone wird mit zwei integrierten primären Agents geliefert, Build und Plan. Wir werden uns diese unten ansehen.
Subagents
Subagents sind spezialisierte Assistenten, die primäre Agents für bestimmte Aufgaben aufrufen können. Sie können sie auch manuell aufrufen, indem Sie sie in Ihren Nachrichten @ erwähnen.
Dropstone wird mit zwei integrierten Subagents geliefert, General und Explore. Wir werden uns diese unten ansehen.
Integriert
Dropstone wird mit zwei integrierten primären Agents und zwei integrierten Subagents geliefert.
Build verwenden
Modus: primary
Build ist der Standard-Primäragent mit allen aktivierten Tools. Dies ist der Standard-Agent für Entwicklungsarbeiten, bei denen Sie vollen Zugriff auf Dateioperationen und Systembefehle benötigen.
Plan verwenden
Modus: primary
Ein eingeschränkter Agent, der für Planung und Analyse entwickelt wurde. Wir verwenden ein Berechtigungssystem, um Ihnen mehr Kontrolle zu geben und unbeabsichtigte Änderungen zu verhindern.
Standardmäßig sind alle folgenden auf ask gesetzt:
file edits: Alle Schreibvorgänge, Patches und Bearbeitungenbash: Alle Bash-Befehle
Dieser Agent ist nützlich, wenn Sie möchten, dass das LLM Code analysiert, Änderungen vorschlägt oder Pläne erstellt, ohne tatsächliche Änderungen an Ihrer Codebasis vorzunehmen.
General verwenden
Modus: subagent
Ein Allzweck-Agent zur Recherche komplexer Fragen und zur Ausführung mehrstufiger Aufgaben. Hat vollen Tool-Zugriff (außer todo), sodass er bei Bedarf Dateiänderungen vornehmen kann. Verwenden Sie dies, um mehrere Arbeitseinheiten parallel auszuführen.
Explore verwenden
Modus: subagent
Ein schneller, schreibgeschützter Agent zum Erkunden von Codebasen. Kann keine Dateien ändern. Verwenden Sie dies, wenn Sie schnell Dateien nach Mustern finden, Code nach Schlüsselwörtern durchsuchen oder Fragen zur Codebasis beantworten müssen.
Kompaktierung verwenden
Modus: primary
Versteckter System-Agent, der langen Kontext in eine kleinere Zusammenfassung komprimiert. Er wird bei Bedarf automatisch ausgeführt und ist in der Benutzeroberfläche nicht auswählbar.
Titel verwenden
Modus: primary
Versteckter System-Agent, der kurze Sitzungstitel generiert. Er wird automatisch ausgeführt und ist in der Benutzeroberfläche nicht auswählbar.
Zusammenfassung verwenden
Modus: primary
Versteckter System-Agent, der Sitzungszusammenfassungen erstellt. Er wird automatisch ausgeführt und ist in der Benutzeroberfläche nicht auswählbar.
Verwendung
-
Verwenden Sie für primäre Agents die Tab-Taste, um während einer Sitzung durch sie zu wechseln. Sie können auch Ihr konfiguriertes
switch_agent-Tastenbindung verwenden. -
Subagents können aufgerufen werden:
-
Automatisch von primären Agents für spezialisierte Aufgaben basierend auf ihren Beschreibungen.
-
Manuell durch @ Erwähnen eines Subagents in Ihrer Nachricht. Zum Beispiel.
@general hilf mir, nach dieser Funktion zu suchen
-
-
Navigation zwischen Sitzungen: Wenn Subagents Untersitzungen erstellen, verwenden Sie
session_child_first(Standard: <Leader>+Nach unten), um vom übergeordneten Element in die erste Untersitzung zu wechseln. -
Sobald Sie sich in einer Untersitzung befinden, verwenden Sie:
session_child_cycle(Standard: Rechts), um zur nächsten Untersitzung zu wechselnsession_child_cycle_reverse(Standard: Links), um zur vorherigen Untersitzung zu wechselnsession_parent(Standard: Nach oben), um zur übergeordneten Sitzung zurückzukehren
Dies ermöglicht es Ihnen, zwischen der Hauptkonversation und spezialisierter Subagent-Arbeit zu wechseln.
Konfigurieren
Sie können die integrierten Agents anpassen oder eigene über die Konfiguration erstellen. Agents können auf zwei Arten konfiguriert werden:
JSON
Konfigurieren Sie Agents in Ihrer dropstone.json-Konfigurationsdatei:
{
"$schema": "https://dropstone.io/schema/config.json",
"agent": {
"build": {
"mode": "primary",
"model": "dropstone/dropstone-pro",
"prompt": "{file:./prompts/build.txt}",
"permission": {
"edit": "allow",
"bash": "allow"
}
},
"plan": {
"mode": "primary",
"model": "dropstone/dropstone-fast",
"permission": {
"edit": "deny",
"bash": "deny"
}
},
"code-reviewer": {
"description": "Überprüft Code auf Best Practices und potenzielle Probleme",
"mode": "subagent",
"model": "dropstone/dropstone-pro",
"prompt": "Sie sind ein Code-Reviewer. Konzentrieren Sie sich auf Sicherheit, Leistung und Wartbarkeit.",
"permission": {
"edit": "deny"
}
}
}
}
Markdown
Sie können Agents auch mit Markdown-Dateien definieren. Platzieren Sie sie in:
- Global:
~/.config/dropstone/agents/ - Pro Projekt:
.dropstone/agents/
---
description: Überprüft Code auf Qualität und Best Practices
mode: subagent
model: dropstone/dropstone-pro
temperature: 0.1
permission:
edit: deny
bash: deny
---
Sie befinden sich im Code-Review-Modus. Konzentrieren Sie sich auf:
- Codequalität und Best Practices
- Potenzielle Fehler und Randfälle
- Leistungsauswirkungen
- Sicherheitsaspekte
Geben Sie konstruktives Feedback, ohne direkte Änderungen vorzunehmen.
Der Markdown-Dateiname wird zum Agent-Namen. Beispielsweise erstellt review.md einen review-Agent.
Optionen
Schauen wir uns diese Konfigurationsoptionen im Detail an.
Beschreibung
Verwenden Sie die Option description, um eine kurze Beschreibung dessen bereitzustellen, was der Agent tut und wann er verwendet werden soll.
{
"agent": {
"review": {
"description": "Überprüft Code auf Best Practices und potenzielle Probleme"
}
}
}
Dies ist eine erforderliche Konfigurationsoption.
Temperatur
Steuern Sie die Zufälligkeit und Kreativität der LLM-Antworten mit der Konfiguration temperature.
Niedrigere Werte machen Antworten fokussierter und deterministischer, während höhere Werte Kreativität und Variabilität erhöhen.
{
"agent": {
"plan": {
"temperature": 0.1
},
"creative": {
"temperature": 0.8
}
}
}
Temperaturwerte reichen typischerweise von 0.0 bis 1.0:
- 0.0-0.2: Sehr fokussierte und deterministische Antworten, ideal für Codeanalyse und Planung
- 0.3-0.5: Ausgewogene Antworten mit etwas Kreativität, gut für allgemeine Entwicklungsaufgaben
- 0.6-1.0: Kreativere und vielfältigere Antworten, nützlich für Brainstorming und Erkundung
{
"agent": {
"analyze": {
"temperature": 0.1,
"prompt": "{file:./prompts/analysis.txt}"
},
"build": {
"temperature": 0.3
},
"brainstorm": {
"temperature": 0.7,
"prompt": "{file:./prompts/creative.txt}"
}
}
}
Wenn keine Temperatur angegeben ist, verwendet Dropstone einen sinnvollen Standardwert, der für jede Stufe optimiert ist.
Maximale Schritte
Steuern Sie die maximale Anzahl agentischer Iterationen, die ein Agent ausführen kann, bevor er gezwungen ist, nur mit Text zu antworten. Dies ermöglicht Benutzern, die Kosten kontrollieren möchten, ein Limit für agentische Aktionen festzulegen.
Wenn dies nicht festgelegt ist, iteriert der Agent weiter, bis das Modell sich entscheidet zu stoppen oder der Benutzer die Sitzung unterbricht.
{
"agent": {
"quick-thinker": {
"description": "Schnelles Denken mit begrenzten Iterationen",
"prompt": "Sie sind ein schneller Denker. Lösen Sie Probleme mit minimalen Schritten.",
"steps": 5
}
}
}
Wenn das Limit erreicht ist, erhält der Agent einen speziellen System-Prompt, der ihn anweist, mit einer Zusammenfassung seiner Arbeit und empfohlenen verbleibenden Aufgaben zu antworten.
Veraltet
Das veraltete Feld maxSteps ist nicht mehr empfohlen. Verwenden Sie stattdessen steps.
Deaktivieren
Setzen Sie auf true, um den Agent zu deaktivieren.
{
"agent": {
"review": {
"disable": true
}
}
}
Prompt
Geben Sie mit der Konfiguration prompt eine benutzerdefinierte System-Prompt-Datei für diesen Agent an. Die Prompt-Datei sollte Anweisungen enthalten, die für den Zweck des Agents spezifisch sind.
{
"agent": {
"review": {
"prompt": "{file:./prompts/code-review.txt}"
}
}
}
Dieser Pfad ist relativ zum Speicherort der Konfigurationsdatei. Dies funktioniert also sowohl für die globale Dropstone-Konfiguration als auch für die projektspezifische Konfiguration.
Modell
Verwenden Sie die Konfiguration model, um das Modell für diesen Agent zu überschreiben. Nützlich, um verschiedene Modelle zu verwenden, die für verschiedene Aufgaben optimiert sind. Zum Beispiel ein schnelleres Modell für die Planung, ein leistungsfähigeres Modell für die Implementierung.
Tip
Wenn Sie kein Modell angeben, verwenden primäre Agents das global konfigurierte Modell, während Subagents das Modell des primären Agents erben, der sie aufgerufen hat.
{
"agent": {
"plan": {
"model": "dropstone/dropstone-fast"
}
}
}
Die Modell-ID verwendet das Format dropstone/<tier>. Verwenden Sie dropstone/dropstone-fast, dropstone/dropstone-pro oder dropstone/dropstone-heavy.
Tools (veraltet)
tools ist veraltet. Bevorzugen Sie das Feld permission des Agents für neue Konfigurationen, Updates und feinere Kontrolle.
Ermöglicht Ihnen zu steuern, welche Tools in diesem Agent verfügbar sind. Sie können bestimmte Tools aktivieren oder deaktivieren, indem Sie sie auf true oder false setzen. In der tools-Konfiguration eines Agents entspricht true der Berechtigung {"*": "allow"} und false der Berechtigung {"*": "deny"}.
{
"$schema": "https://dropstone.io/schema/config.json",
"tools": {
"write": true,
"bash": true
},
"agent": {
"plan": {
"tools": {
"write": false,
"bash": false
}
}
}
}
Note
Die agentspezifische Konfiguration überschreibt die globale Konfiguration.
Sie können auch Platzhalter in veralteten tools-Einträgen verwenden, um mehrere Tools gleichzeitig zu steuern. Zum Beispiel, um alle Tools eines MCP-Servers zu deaktivieren:
{
"$schema": "https://dropstone.io/schema/config.json",
"agent": {
"readonly": {
"tools": {
"mymcp_*": false,
"write": false,
"edit": false
}
}
}
}
Berechtigungen
Sie können Berechtigungen konfigurieren, um zu verwalten, welche Aktionen ein Agent ausführen kann. Jeder Berechtigungsschlüssel kann auf Folgendes gesetzt werden:
"ask": Vor der Ausführung des Tools um Genehmigung bitten"allow": Alle Operationen ohne Genehmigung zulassen"deny": Das Tool deaktivieren
Die verfügbaren Berechtigungsschlüssel sind:
| Schlüssel | Tools, die er steuert |
|---|---|
read | read |
edit | write, edit, apply_patch |
glob | glob |
grep | grep |
list | list |
bash | bash |
task | task |
external_directory | Jedes Tool, das Dateien außerhalb des Projekt-Worktrees liest oder schreibt |
todowrite | todowrite, todoread |
webfetch | webfetch |
websearch | websearch |
lsp | lsp |
skill | skill |
question | question |
doom_loop | Wiederherstellungs-Prompts, wenn ein Agent festzustecken scheint |
read, edit, glob, grep, list, bash, task, external_directory, lsp und skill akzeptieren entweder eine Kurzaktion ("allow" | "ask" | "deny") oder ein Objekt von Glob/Muster → Aktion für feinere Kontrolle. Die übrigen Schlüssel akzeptieren nur die Kurzaktion.
Note
Berechtigungsschlüssel werden als Platzhaltermuster gegen den zugrunde liegenden Tool-Namen abgeglichen, sodass dieselbe Syntax für integrierte, benutzerdefinierte und MCP-Tools funktioniert. Zum Beispiel verweigert "mymcp_*": "deny" jedes Tool eines MCP-Servers, und "mymcp_search": "ask" zielt auf ein einzelnes ab.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"edit": "deny"
}
}
Sie können diese Berechtigungen pro Agent überschreiben.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"edit": "deny"
},
"agent": {
"build": {
"permission": {
"edit": "ask"
}
}
}
}
Sie können Berechtigungen auch in Markdown-Agents festlegen.
---
description: Code-Review ohne Bearbeitungen
mode: subagent
permission:
edit: deny
bash:
"*": ask
"git diff": allow
"git log*": allow
"grep *": allow
webfetch: deny
---
Analysieren Sie nur Code und schlagen Sie Änderungen vor.
Sie können Berechtigungen für bestimmte Bash-Befehle festlegen.
{
"$schema": "https://dropstone.io/schema/config.json",
"agent": {
"build": {
"permission": {
"bash": {
"git push": "ask",
"grep *": "allow"
}
}
}
}
}
Dies kann ein Glob-Muster annehmen.
{
"$schema": "https://dropstone.io/schema/config.json",
"agent": {
"build": {
"permission": {
"bash": {
"git *": "ask"
}
}
}
}
}
Und Sie können auch den Platzhalter * verwenden, um Berechtigungen für alle Befehle zu verwalten.
Da die letzte übereinstimmende Regel Vorrang hat, setzen Sie den Platzhalter * zuerst und spezifische Regeln danach.
{
"$schema": "https://dropstone.io/schema/config.json",
"agent": {
"build": {
"permission": {
"bash": {
"*": "ask",
"git status *": "allow"
}
}
}
}
}
Erfahren Sie mehr über Berechtigungen.
Modus
Steuern Sie den Modus des Agents mit der Konfiguration mode. Die Option mode wird verwendet, um zu bestimmen, wie der Agent verwendet werden kann.
{
"agent": {
"review": {
"mode": "subagent"
}
}
}
Die Option mode kann auf primary, subagent oder all gesetzt werden. Wenn kein mode angegeben ist, wird standardmäßig all verwendet.
Versteckt
Blenden Sie einen Subagent aus dem @-Autovervollständigungsmenü mit hidden: true aus. Nützlich für interne Subagents, die nur programmatisch von anderen Agents über das Task-Tool aufgerufen werden sollen.
{
"agent": {
"internal-helper": {
"mode": "subagent",
"hidden": true
}
}
}
Dies betrifft nur die Sichtbarkeit für Benutzer im Autovervollständigungsmenü. Versteckte Agents können weiterhin vom Modell über das Task-Tool aufgerufen werden, wenn die Berechtigungen dies zulassen.
Note
Gilt nur für Agents mit mode: subagent.
Task-Berechtigungen
Steuern Sie, welche Subagents ein Agent über das Task-Tool mit permission.task aufrufen kann. Verwendet Glob-Muster für flexible Übereinstimmung.
{
"agent": {
"orchestrator": {
"mode": "primary",
"permission": {
"task": {
"*": "deny",
"orchestrator-*": "allow",
"code-reviewer": "ask"
}
}
}
}
}
Wenn auf deny gesetzt, wird der Subagent vollständig aus der Task-Tool-Beschreibung entfernt, sodass das Modell nicht versucht, ihn aufzurufen.
Tip
Regeln werden in der Reihenfolge ausgewertet, und die letzte übereinstimmende Regel gewinnt. Im obigen Beispiel stimmt orchestrator-planner sowohl mit * (deny) als auch mit orchestrator-* (allow) überein, aber da orchestrator-* nach * kommt, ist das Ergebnis allow.
Tip
Benutzer können jeden Subagent jederzeit direkt über das @-Autovervollständigungsmenü aufrufen, selbst wenn die Task-Berechtigungen des Agents dies verweigern würden.
Farbe
Passen Sie das visuelle Erscheinungsbild des Agents in der Benutzeroberfläche mit der Option color an. Dies beeinflusst, wie der Agent in der Oberfläche erscheint.
Verwenden Sie eine gültige Hex-Farbe (z. B. #FF5733) oder eine Designfarbe: primary, secondary, accent, success, warning, error, info.
{
"agent": {
"creative": {
"color": "#ff6b6b"
},
"code-reviewer": {
"color": "accent"
}
}
}
Top P
Steuern Sie die Antwortvielfalt mit der Option top_p. Alternative zur Temperatur zur Steuerung der Zufälligkeit.
{
"agent": {
"brainstorm": {
"top_p": 0.9
}
}
}
Werte reichen von 0.0 bis 1.0. Niedrigere Werte sind fokussierter, höhere Werte vielfältiger.
Zusätzlich
Alle anderen Optionen, die Sie in Ihrer Agent-Konfiguration angeben, werden direkt als Modelloptionen durchgereicht. Für die Dropstone-Stufen sind die unterstützten Durchreichungsoptionen Reasoning-Tiefe und Textausführlichkeit:
{
"agent": {
"deep-thinker": {
"description": "Agent, der hohen Reasoning-Aufwand für komplexe Probleme verwendet",
"model": "dropstone/dropstone-heavy",
"variant": "xhigh",
"textVerbosity": "low"
}
}
}
Tip
Führen Sie dropstone models aus, um die verfügbaren Stufen zu sehen.
Agents erstellen
Sie können neue Agents mit dem folgenden Befehl erstellen:
dropstone agent create
Dieser interaktive Befehl wird:
- Fragen, wo der Agent gespeichert werden soll; global oder projektspezifisch.
- Beschreibung dessen, was der Agent tun soll.
- Einen geeigneten System-Prompt und Bezeichner generieren.
- Sie auswählen lassen, welche Berechtigungen der Agent haben soll (alles, was Sie nicht auswählen, wird verweigert).
- Schließlich eine Markdown-Datei mit der Agent-Konfiguration erstellen.
Anwendungsfälle
Hier sind einige häufige Anwendungsfälle für verschiedene Agents.
- Build-Agent: Vollständige Entwicklungsarbeit mit allen aktivierten Tools
- Plan-Agent: Analyse und Planung ohne Änderungen vorzunehmen
- Review-Agent: Code-Review mit schreibgeschütztem Zugriff plus Dokumentations-Tools
- Debug-Agent: Fokussiert auf Untersuchung mit aktivierten Bash- und Lese-Tools
- Dokumentations-Agent: Dokumentationserstellung mit Dateioperationen, aber ohne Systembefehle
Beispiele
Hier sind einige Beispiel-Agents, die Sie nützlich finden könnten.
Tip
Haben Sie einen Agent, den Sie teilen möchten? Kontaktieren Sie uns und wir werden ihn vorstellen.
Dokumentations-Agent
---
description: Schreibt und pflegt Projektdokumentation
mode: subagent
permission:
bash: deny
---
Sie sind ein technischer Redakteur. Erstellen Sie klare, umfassende Dokumentation.
Konzentrieren Sie sich auf:
- Klare Erklärungen
- Richtige Struktur
- Codebeispiele
- Benutzerfreundliche Sprache
Sicherheitsauditor
---
description: Führt Sicherheitsaudits durch und identifiziert Schwachstellen
mode: subagent
permission:
edit: deny
---
Sie sind ein Sicherheitsexperte. Konzentrieren Sie sich auf die Identifizierung potenzieller Sicherheitsprobleme.
Suchen Sie nach:
- Schwachstellen bei der Eingabevalidierung
- Fehler bei Authentifizierung und Autorisierung
- Risiken der Datenoffenlegung
- Abhängigkeitsschwachstellen
- Sicherheitsprobleme in der Konfiguration