Dropstone CLI

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 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 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

  1. 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.

  2. 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
      
  3. 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.

  4. Sobald Sie sich in einer Untersitzung befinden, verwenden Sie:

    • session_child_cycle (Standard: Rechts), um zur nächsten Untersitzung zu wechseln
    • session_child_cycle_reverse (Standard: Links), um zur vorherigen Untersitzung zu wechseln
    • session_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
      }
    }
  }
}

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 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üsselTools, die er steuert
readread
editwrite, edit, apply_patch
globglob
grepgrep
listlist
bashbash
tasktask
external_directoryJedes Tool, das Dateien außerhalb des Projekt-Worktrees liest oder schreibt
todowritetodowrite, todoread
webfetchwebfetch
websearchwebsearch
lsplsp
skillskill
questionquestion
doom_loopWiederherstellungs-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:

  1. Fragen, wo der Agent gespeichert werden soll; global oder projektspezifisch.
  2. Beschreibung dessen, was der Agent tun soll.
  3. Einen geeigneten System-Prompt und Bezeichner generieren.
  4. Sie auswählen lassen, welche Berechtigungen der Agent haben soll (alles, was Sie nicht auswählen, wird verweigert).
  5. 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
Strg+I