Dropstone Docs

Agenten

Konfigurieren und verwenden Sie spezialisierte Agenten.

Agenten sind spezialisierte KI-Assistenten, die für spezifische Aufgaben und Workflows konfiguriert werden können. Sie ermöglichen es Ihnen, fokussierte Tools mit benutzerdefinierten Prompts, Modellen und Tool-Zugriff zu erstellen.

Tipp:

Verwenden Sie den Plan-Agenten, um Code zu analysieren und Vorschläge zu überprüfen, ohne Codeänderungen vorzunehmen.

Sie können während einer Sitzung zwischen Agenten wechseln oder sie mit der @-Erwähnung aufrufen.


Typen

Es gibt zwei Arten von Agenten in Dropstone: primäre Agenten und Subagenten.


Primäre Agenten

Primäre Agenten sind die Hauptassistenten, mit denen Sie direkt interagieren. Sie können zwischen ihnen mit der Tab-Taste oder Ihrer konfigurierten switch_agent-Tastenkombination wechseln. Diese Agenten verwalten Ihre Hauptkonversation. Der Tool-Zugriff wird über Berechtigungen konfiguriert: Beispielsweise hat Build alle Tools aktiviert, während Plan eingeschränkt ist.

Tipp:

Sie können die Tab-Taste verwenden, um während einer Sitzung zwischen primären Agenten zu wechseln.

Dropstone wird mit zwei integrierten primären Agenten geliefert: Build und Plan. Wir schauen uns diese unten an.


Subagenten

Subagenten sind spezialisierte Assistenten, die primäre Agenten für spezifische Aufgaben aufrufen können. Sie können sie auch manuell aufrufen, indem Sie sie in Ihren Nachrichten @ erwähnen.

Dropstone wird mit zwei integrierten Subagenten geliefert: General und Explore. Wir schauen uns diese unten an.


Integriert

Dropstone wird mit zwei integrierten primären Agenten und zwei integrierten Subagenten 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 vollständigen Zugriff auf Dateivorgänge und Systembefehle benötigen.


Plan verwenden

Modus: primary

Ein eingeschränkter Agent, der für Planung und Analyse konzipiert ist. Wir verwenden ein Berechtigungssystem, um Ihnen mehr Kontrolle zu geben und unbeabsichtigte Änderungen zu verhindern. Standardmäßig sind alle folgenden auf ask eingestellt:

  • file edits: Alle Schreibvorgänge, Patches und Bearbeitungen
  • bash: 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 universeller Agent zum Recherchieren komplexer Fragen und Ausführen mehrstufiger Aufgaben. Hat vollständigen Tool-Zugriff (außer todo), sodass er bei Bedarf Dateien ändern kann. Verwenden Sie dies, um mehrere Arbeitseinheiten parallel auszuführen.


Explore verwenden

Modus: subagent

Ein schneller, schreibgeschützter Agent zum Erkunden von Codebases. Kann Dateien nicht ändern. Verwenden Sie dies, wenn Sie schnell Dateien nach Mustern finden, Code nach Schlüsselwörtern durchsuchen oder Fragen zur Codebasis beantworten müssen.


Compaction verwenden

Modus: primary

Versteckter System-Agent, der langen Kontext in eine kleinere Zusammenfassung komprimiert. Er wird automatisch ausgeführt, wenn nötig, und ist in der Benutzeroberfläche nicht auswählbar.


Title verwenden

Modus: primary

Versteckter System-Agent, der kurze Sitzungstitel generiert. Er wird automatisch ausgeführt und ist in der Benutzeroberfläche nicht auswählbar.


Summary verwenden

Modus: primary

Versteckter System-Agent, der Sitzungszusammenfassungen erstellt. Er wird automatisch ausgeführt und ist in der Benutzeroberfläche nicht auswählbar.


Verwendung

  1. Verwenden Sie für primäre Agenten die Tab-Taste, um während einer Sitzung zwischen ihnen zu wechseln. Sie können auch Ihre konfigurierte switch_agent-Tastenkombination verwenden.

  2. Subagenten können aufgerufen werden:

    • Automatisch von primären Agenten für spezialisierte Aufgaben basierend auf ihren Beschreibungen.

    • Manuell durch @ Erwähnung eines Subagenten in Ihrer Nachricht. Zum Beispiel:

      @general help me search for this function
      
  3. Navigation zwischen Sitzungen: Wenn Subagenten untergeordnete Sitzungen erstellen, verwenden Sie session_child_first (Standard: <Leader>+Down), um die erste untergeordnete Sitzung von der übergeordneten Sitzung aus zu öffnen.

  4. Sobald Sie sich in einer untergeordneten Sitzung befinden, verwenden Sie:

    • session_child_cycle (Standard: Right), um zur nächsten untergeordneten Sitzung zu wechseln
    • session_child_cycle_reverse (Standard: Left), um zur vorherigen untergeordneten Sitzung zu wechseln
    • session_parent (Standard: Up), um zur übergeordneten Sitzung zurückzukehren

    Dies ermöglicht es Ihnen, zwischen der Hauptkonversation und spezialisierter Subagenten-Arbeit zu wechseln.


Konfigurieren

Sie können die integrierten Agenten anpassen oder Ihre eigenen durch Konfiguration erstellen. Agenten können auf zwei Arten konfiguriert werden:


JSON

Konfigurieren Sie Agenten 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": "Reviews code for best practices and potential issues",
      "mode": "subagent",
      "model": "dropstone/dropstone-pro",
      "prompt": "You are a code reviewer. Focus on security, performance, and maintainability.",
      "permission": {
        "edit": "deny"
      }
    }
  }
}

Markdown

Sie können Agenten auch mit Markdown-Dateien definieren. Platzieren Sie sie in:

  • Global: ~/.config/dropstone/agents/
  • Pro-Projekt: .dropstone/agents/
---
description: Reviews code for quality and best practices
mode: subagent
model: dropstone/dropstone-pro
temperature: 0.1
permission:
  edit: deny
  bash: deny
---

You are in code review mode. Focus on:

- Code quality and best practices
- Potential bugs and edge cases
- Performance implications
- Security considerations

Provide constructive feedback without making direct changes.

Der Name der Markdown-Datei wird zum Agentennamen. Beispielsweise erstellt review.md einen review-Agenten.


Optionen

Schauen wir uns diese Konfigurationsoptionen im Detail an.


Beschreibung

Verwenden Sie die description-Option, um eine kurze Beschreibung dessen zu geben, was der Agent tut und wann er verwendet werden sollte.

{
  "agent": {
    "review": {
      "description": "Reviews code for best practices and potential issues"
    }
  }
}

Dies ist eine erforderliche Konfigurationsoption.


Temperatur

Kontrollieren Sie die Zufälligkeit und Kreativität der LLM-Antworten mit der temperature-Konfiguration.

Niedrigere Werte führen zu fokussierteren und deterministischeren Antworten, während höhere Werte Kreativität und Variabilität erhöhen.

{
  "agent": {
    "plan": {
      "temperature": 0.1
    },
    "creative": {
      "temperature": 0.8
    }
  }
}

Temperaturwerte liegen typischerweise zwischen 0,0 und 1,0:

  • 0,0-0,2: Sehr fokussierte und deterministische Antworten, ideal für Code-Analyse 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 Standard, der für jede Stufe optimiert ist.


Max steps

Kontrollieren Sie die maximale Anzahl von agentengesteuerten Iterationen, die ein Agent durchführen kann, bevor er gezwungen wird, nur mit Text zu antworten. Dies ermöglicht es Benutzern, die Kosten kontrollieren möchten, ein Limit für agentengesteuerte Aktionen festzulegen.

Wenn dies nicht festgelegt ist, wird der Agent weiterhin iterieren, bis das Modell sich entscheidet zu stoppen oder der Benutzer die Sitzung unterbricht.

{
  "agent": {
    "quick-thinker": {
      "description": "Fast reasoning with limited iterations",
      "prompt": "You are a quick thinker. Solve problems with minimal steps.",
      "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 veraltet. Verwenden Sie stattdessen steps.


Deaktivieren

Setzen Sie auf true, um den Agenten zu deaktivieren.

{
  "agent": {
    "review": {
      "disable": true
    }
  }
}

Prompt

Geben Sie eine benutzerdefinierte System-Prompt-Datei für diesen Agenten mit der prompt-Konfiguration an. Die Prompt-Datei sollte Anweisungen enthalten, die für den Zweck des Agenten spezifisch sind.

{
  "agent": {
    "review": {
      "prompt": "{file:./prompts/code-review.txt}"
    }
  }
}

Dieser Pfad ist relativ zu dem Ort, an dem sich die Konfigurationsdatei befindet. Dies funktioniert also sowohl für die globale Dropstone-Konfiguration als auch für die projektspezifische Konfiguration.


Modell

Verwenden Sie die model-Konfiguration, um das Modell für diesen Agenten zu überschreiben. Nützlich, um verschiedene Modelle zu verwenden, die für verschiedene Aufgaben optimiert sind. Beispielsweise ein schnelleres Modell für die Planung, ein leistungsfähigeres Modell für die Implementierung.

Tipp:

Wenn Sie kein Modell angeben, verwenden primäre Agenten das global konfigurierte Modell, während Subagenten das Modell des primären Agenten 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 Agenten für neue Konfigurationen, Updates und präzisere Kontrolle.

Ermöglicht es Ihnen, zu kontrollieren, welche Tools in diesem Agenten verfügbar sind. Sie können spezifische Tools aktivieren oder deaktivieren, indem Sie sie auf true oder false setzen. In der tools-Konfiguration eines Agenten ist true gleichbedeutend mit {"*": "allow"}-Berechtigung und false ist gleichbedeutend mit {"*": "deny"}-Berechtigung.

{
  "$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 auf einmal zu kontrollieren. Beispielsweise, um alle Tools von einem MCP-Server zu deaktivieren:

{
  "$schema": "https://dropstone.io/schema/config.json",
  "agent": {
    "readonly": {
      "tools": {
        "mymcp_*": false,
        "write": false,
        "edit": false
      }
    }
  }
}

Erfahren Sie mehr über Tools.


Berechtigungen

Sie können Berechtigungen konfigurieren, um zu verwalten, welche Aktionen ein Agent ausführen kann. Jeder Berechtigungsschlüssel kann auf folgende Werte gesetzt werden:

  • "ask": Genehmigung anfordern, bevor das Tool ausgeführt wird
  • "allow": Alle Vorgänge ohne Genehmigung zulassen
  • "deny": Tool deaktivieren

Die verfügbaren Berechtigungsschlüssel sind:

SchlüsselTools, die es kontrolliert
readread
editwrite, edit, apply_patch
globglob
grepgrep
listlist
bashbash
tasktask
external_directoryJedes Tool, das Dateien außerhalb des Projekt-Worktree liest oder schreibt
todowritetodowrite, todoread
webfetchwebfetch
websearchwebsearch
lsplsp
skillskill
questionquestion
doom_loopWiederherstellungs-Prompts, wenn ein Agent stecken zu bleiben scheint

read, edit, glob, grep, list, bash, task, external_directory, lsp und skill akzeptieren entweder eine Kurzform-Aktion ("allow" | "ask" | "deny") oder ein Objekt von Glob/Muster → Aktion für präzisere Kontrolle. Die verbleibenden Schlüssel akzeptieren nur die Kurzform-Aktion.

Note:

Berechtigungsschlüssel werden als Platzhalter-Muster gegen den zugrunde liegenden Tool-Namen abgeglichen, sodass die gleiche Syntax für integrierte, benutzerdefinierte und MCP-Tools funktioniert. Beispielsweise "mymcp_*": "deny" verweigert jedes Tool von einem MCP-Server, 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 auch Berechtigungen in Markdown-Agenten festlegen.

---
description: Code review without edits
mode: subagent
permission:
  edit: deny
  bash:
    "*": ask
    "git diff": allow
    "git log*": allow
    "grep *": allow
  webfetch: deny
---

Only analyze code and suggest changes.

Sie können Berechtigungen für spezifische 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

Kontrollieren Sie den Modus des Agenten mit der mode-Konfiguration. Die mode-Option wird verwendet, um zu bestimmen, wie der Agent verwendet werden kann.

{
  "agent": {
    "review": {
      "mode": "subagent"
    }
  }
}

Die mode-Option kann auf primary, subagent oder all gesetzt werden. Wenn kein mode angegeben ist, wird standardmäßig all verwendet.


Versteckt

Verstecken Sie einen Subagenten aus dem @-Autocomplete-Menü mit hidden: true. Nützlich für interne Subagenten, die nur programmgesteuert von anderen Agenten über das Task-Tool aufgerufen werden sollten.

{
  "agent": {
    "internal-helper": {
      "mode": "subagent",
      "hidden": true
    }
  }
}

Dies betrifft nur die Benutzersichtbarkeit im Autocomplete-Menü. Versteckte Agenten können immer noch vom Modell über das Task-Tool aufgerufen werden, wenn Berechtigungen dies zulassen.

Note:

Gilt nur für mode: subagent-Agenten.


Task-Berechtigungen

Kontrollieren Sie, welche Subagenten ein Agent über das Task-Tool aufrufen kann, mit permission.task. 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, es aufzurufen.

Tipp:

Regeln werden der Reihe nach ausgewertet, und die letzte übereinstimmende Regel gewinnt. Im obigen Beispiel passt orchestrator-planner sowohl zu * (deny) als auch zu orchestrator-* (allow), aber da orchestrator-* nach * kommt, ist das Ergebnis allow.

Tipp:

Benutzer können jeden Subagenten immer direkt über das @-Autocomplete-Menü aufrufen, auch wenn die Task-Berechtigungen des Agenten dies verweigern würden.


Farbe

Passen Sie das visuelle Erscheinungsbild des Agenten in der Benutzeroberfläche mit der color-Option an. Dies beeinflusst, wie der Agent in der Schnittstelle angezeigt wird.

Verwenden Sie eine gültige Hex-Farbe (z. B. #FF5733) oder Designfarbe: primary, secondary, accent, success, warning, error, info.

{
  "agent": {
    "creative": {
      "color": "#ff6b6b"
    },
    "code-reviewer": {
      "color": "accent"
    }
  }
}

Top P

Kontrollieren Sie die Antwortvielfalt mit der top_p-Option. Alternative zur Temperatur zur Kontrolle der Zufälligkeit.

{
  "agent": {
    "brainstorm": {
      "top_p": 0.9
    }
  }
}

Werte liegen zwischen 0,0 und 1,0. Niedrigere Werte sind fokussierter, höhere Werte vielfältiger.


Zusätzlich

Alle anderen Optionen, die Sie in Ihrer Agentenkonfiguration angeben, werden direkt als Modelloptionen weitergeleitet. Für Dropstones Stufen sind die unterstützten Durchleitungsoptionen Reasoning-Tiefe und Text-Ausführlichkeit:

{
  "agent": {
    "deep-thinker": {
      "description": "Agent that uses high reasoning effort for complex problems",
      "model": "dropstone/dropstone-heavy",
      "variant": "xhigh",
      "textVerbosity": "low"
    }
  }
}

Tipp:

Führen Sie dropstone models aus, um die verfügbaren Stufen zu sehen.


Agenten erstellen

Sie können neue Agenten mit dem folgenden Befehl erstellen:

dropstone agent create

Dieser interaktive Befehl wird:

  1. Fragen, wo der Agent gespeichert werden soll; global oder projektspezifisch.
  2. Beschreibung dessen, was der Agent tun sollte.
  3. Einen geeigneten System-Prompt und Bezeichner generieren.
  4. Sie die Berechtigungen auswählen lassen, die der Agent haben sollte (alles, was Sie nicht auswählen, wird verweigert).
  5. Schließlich eine Markdown-Datei mit der Agentenkonfiguration erstellen.

Anwendungsfälle

Hier sind einige häufige Anwendungsfälle für verschiedene Agenten.

  • 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 Read-Tools
  • Docs-Agent: Dokumentation schreiben mit Dateivorgängen, aber ohne Systembefehle

Beispiele

Hier sind einige Beispiel-Agenten, die Sie möglicherweise nützlich finden.

Tipp:

Haben Sie einen Agenten, den Sie gerne teilen möchten? Kontaktieren Sie uns und wir werden ihn präsentieren.


Dokumentations-Agent

---
description: Writes and maintains project documentation
mode: subagent
permission:
  bash: deny
---

You are a technical writer. Create clear, comprehensive documentation.

Focus on:

- Clear explanations
- Proper structure
- Code examples
- User-friendly language

Sicherheits-Auditor

---
description: Performs security audits and identifies vulnerabilities
mode: subagent
permission:
  edit: deny
---

You are a security expert. Focus on identifying potential security issues.

Look for:

- Input validation vulnerabilities
- Authentication and authorization flaws
- Data exposure risks
- Dependency vulnerabilities
- Configuration security issues
Strg+I