Agents
Configurez et utilisez des agents spécialisés.
Les agents sont des assistants IA spécialisés qui peuvent être configurés pour des tâches et des flux de travail spécifiques. Ils vous permettent de créer des outils ciblés avec des invites personnalisées, des modèles et un accès aux outils.
Conseil:
Utilisez l'agent plan pour analyser le code et examiner les suggestions sans apporter de modifications au code.
Vous pouvez basculer entre les agents au cours d'une session ou les invoquer avec la mention @.
Types
Il existe deux types d'agents dans Dropstone : les agents primaires et les sous-agents.
Agents primaires
Les agents primaires sont les assistants principaux avec lesquels vous interagissez directement. Vous pouvez les parcourir en utilisant la touche Tab ou votre raccourci clavier switch_agent configuré. Ces agents gèrent votre conversation principale. L'accès aux outils est configuré via les permissions : par exemple, Build a tous les outils activés tandis que Plan est restreint.
Conseil:
Vous pouvez utiliser la touche Tab pour basculer entre les agents primaires au cours d'une session.
Dropstone est livré avec deux agents primaires intégrés, Build et Plan. Nous les examinerons ci-dessous.
Sous-agents
Les sous-agents sont des assistants spécialisés que les agents primaires peuvent invoquer pour des tâches spécifiques. Vous pouvez également les invoquer manuellement en les mentionnant avec @ dans vos messages.
Dropstone est livré avec deux sous-agents intégrés, General et Explore. Nous les examinerons ci-dessous.
Intégrés
Dropstone est livré avec deux agents primaires intégrés et deux sous-agents intégrés.
Utiliser build
Mode : primary
Build est l'agent primaire par défaut avec tous les outils activés. C'est l'agent standard pour le travail de développement où vous avez besoin d'un accès complet aux opérations de fichiers et aux commandes système.
Utiliser plan
Mode : primary
Un agent restreint conçu pour la planification et l'analyse. Nous utilisons un système de permissions pour vous donner plus de contrôle et éviter les modifications involontaires.
Par défaut, tous les éléments suivants sont définis sur ask :
file edits: Tous les écritures, correctifs et modificationsbash: Toutes les commandes bash
Cet agent est utile lorsque vous souhaitez que le LLM analyse le code, suggère des modifications ou crée des plans sans apporter de modifications réelles à votre base de code.
Utiliser general
Mode : subagent
Un agent polyvalent pour rechercher des questions complexes et exécuter des tâches multi-étapes. Dispose d'un accès complet aux outils (sauf todo), il peut donc apporter des modifications de fichiers si nécessaire. Utilisez-le pour exécuter plusieurs unités de travail en parallèle.
Utiliser explore
Mode : subagent
Un agent rapide en lecture seule pour explorer les bases de code. Ne peut pas modifier les fichiers. Utilisez-le lorsque vous avez besoin de trouver rapidement des fichiers par motifs, de rechercher du code par mots-clés ou de répondre à des questions sur la base de code.
Utiliser compaction
Mode : primary
Agent système caché qui compacte le contexte long en un résumé plus petit. Il s'exécute automatiquement si nécessaire et n'est pas sélectionnable dans l'interface utilisateur.
Utiliser title
Mode : primary
Agent système caché qui génère des titres de session courts. Il s'exécute automatiquement et n'est pas sélectionnable dans l'interface utilisateur.
Utiliser summary
Mode : primary
Agent système caché qui crée des résumés de session. Il s'exécute automatiquement et n'est pas sélectionnable dans l'interface utilisateur.
Utilisation
-
Pour les agents primaires, utilisez la touche Tab pour les parcourir au cours d'une session. Vous pouvez également utiliser votre raccourci clavier
switch_agentconfiguré. -
Les sous-agents peuvent être invoqués :
-
Automatiquement par les agents primaires pour des tâches spécialisées en fonction de leurs descriptions.
-
Manuellement en mentionnant avec @ un sous-agent dans votre message. Par exemple.
@general help me search for this function
-
-
Navigation entre les sessions : Lorsque les sous-agents créent des sessions enfants, utilisez
session_child_first(par défaut : <Leader>+Down) pour entrer dans la première session enfant à partir de la session parent. -
Une fois que vous êtes dans une session enfant, utilisez :
session_child_cycle(par défaut : Right) pour passer à la session enfant suivantesession_child_cycle_reverse(par défaut : Left) pour passer à la session enfant précédentesession_parent(par défaut : Up) pour revenir à la session parent
Cela vous permet de basculer entre la conversation principale et le travail spécialisé des sous-agents.
Configurer
Vous pouvez personnaliser les agents intégrés ou créer les vôtres via la configuration. Les agents peuvent être configurés de deux façons :
JSON
Configurez les agents dans votre fichier de configuration dropstone.json :
{
"$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
Vous pouvez également définir des agents à l'aide de fichiers markdown. Placez-les dans :
- Global :
~/.config/dropstone/agents/ - Par projet :
.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.
Le nom du fichier markdown devient le nom de l'agent. Par exemple, review.md crée un agent review.
Options
Examinons ces options de configuration en détail.
Description
Utilisez l'option description pour fournir une brève description de ce que fait l'agent et quand l'utiliser.
{
"agent": {
"review": {
"description": "Reviews code for best practices and potential issues"
}
}
}
C'est une option de configuration requise.
Température
Contrôlez le caractère aléatoire et la créativité des réponses du LLM avec la configuration temperature.
Les valeurs plus basses rendent les réponses plus ciblées et déterministes, tandis que les valeurs plus élevées augmentent la créativité et la variabilité.
{
"agent": {
"plan": {
"temperature": 0.1
},
"creative": {
"temperature": 0.8
}
}
}
Les valeurs de température varient généralement de 0,0 à 1,0 :
- 0.0-0.2 : Réponses très ciblées et déterministes, idéales pour l'analyse de code et la planification
- 0.3-0.5 : Réponses équilibrées avec une certaine créativité, bonnes pour les tâches de développement général
- 0.6-1.0 : Réponses plus créatives et variées, utiles pour le brainstorming et l'exploration
{
"agent": {
"analyze": {
"temperature": 0.1,
"prompt": "{file:./prompts/analysis.txt}"
},
"build": {
"temperature": 0.3
},
"brainstorm": {
"temperature": 0.7,
"prompt": "{file:./prompts/creative.txt}"
}
}
}
Si aucune température n'est spécifiée, Dropstone utilise une valeur par défaut sensée accordée à chaque niveau.
Max steps
Contrôlez le nombre maximum d'itérations agentic qu'un agent peut effectuer avant d'être forcé de répondre avec du texte uniquement. Cela permet aux utilisateurs qui souhaitent contrôler les coûts de définir une limite sur les actions agentic.
Si cela n'est pas défini, l'agent continuera à itérer jusqu'à ce que le modèle choisisse de s'arrêter ou que l'utilisateur interrompe la session.
{
"agent": {
"quick-thinker": {
"description": "Fast reasoning with limited iterations",
"prompt": "You are a quick thinker. Solve problems with minimal steps.",
"steps": 5
}
}
}
Lorsque la limite est atteinte, l'agent reçoit une invite système spéciale l'instruisant de répondre avec un résumé de son travail et les tâches restantes recommandées.
Déprécié:
Le champ hérité maxSteps est déprécié. Utilisez steps à la place.
Désactiver
Définissez sur true pour désactiver l'agent.
{
"agent": {
"review": {
"disable": true
}
}
}
Prompt
Spécifiez un fichier d'invite système personnalisé pour cet agent avec la configuration prompt. Le fichier d'invite doit contenir des instructions spécifiques à l'objectif de l'agent.
{
"agent": {
"review": {
"prompt": "{file:./prompts/code-review.txt}"
}
}
}
Ce chemin est relatif à l'endroit où se trouve le fichier de configuration. Cela fonctionne donc pour la configuration Dropstone globale et la configuration spécifique au projet.
Modèle
Utilisez la configuration model pour remplacer le modèle de cet agent. Utile pour utiliser différents modèles optimisés pour différentes tâches. Par exemple, un modèle plus rapide pour la planification, un modèle plus capable pour l'implémentation.
Conseil:
Si vous ne spécifiez pas de modèle, les agents primaires utilisent le modèle configuré globalement tandis que les sous-agents héritent du modèle de l'agent primaire qui les a invoqués.
{
"agent": {
"plan": {
"model": "dropstone/dropstone-fast"
}
}
}
L'ID du modèle utilise le format dropstone/<tier>. Utilisez dropstone/dropstone-fast, dropstone/dropstone-pro ou dropstone/dropstone-heavy.
Outils (déprécié)
tools est déprécié. Préférez le champ permission de l'agent pour les nouvelles configurations, les mises à jour et un contrôle plus granulaire.
Vous permet de contrôler les outils disponibles dans cet agent. Vous pouvez activer ou désactiver des outils spécifiques en les définissant sur true ou false. Dans la configuration tools d'un agent, true est équivalent à {"*": "allow"} permission et false est équivalent à {"*": "deny"} permission.
{
"$schema": "https://dropstone.io/schema/config.json",
"tools": {
"write": true,
"bash": true
},
"agent": {
"plan": {
"tools": {
"write": false,
"bash": false
}
}
}
}
Note:
La configuration spécifique à l'agent remplace la configuration globale.
Vous pouvez également utiliser des caractères génériques dans les entrées tools héritées pour contrôler plusieurs outils à la fois. Par exemple, pour désactiver tous les outils d'un serveur MCP :
{
"$schema": "https://dropstone.io/schema/config.json",
"agent": {
"readonly": {
"tools": {
"mymcp_*": false,
"write": false,
"edit": false
}
}
}
}
En savoir plus sur les outils.
Permissions
Vous pouvez configurer les permissions pour gérer les actions qu'un agent peut effectuer. Chaque clé de permission peut être définie sur :
"ask": Demander l'approbation avant d'exécuter l'outil"allow": Autoriser toutes les opérations sans approbation"deny": Désactiver l'outil
Les clés de permission disponibles sont :
| Clé | Outils qu'elle contrôle |
|---|---|
read | read |
edit | write, edit, apply_patch |
glob | glob |
grep | grep |
list | list |
bash | bash |
task | task |
external_directory | Tout outil qui lit ou écrit des fichiers en dehors de l'arborescence du projet |
todowrite | todowrite, todoread |
webfetch | webfetch |
websearch | websearch |
lsp | lsp |
skill | skill |
question | question |
doom_loop | Invites de récupération lorsqu'un agent semble bloqué |
read, edit, glob, grep, list, bash, task, external_directory, lsp et skill acceptent soit une action raccourcie ("allow" | "ask" | "deny") soit un objet glob/pattern → action pour un contrôle granulaire. Les clés restantes acceptent uniquement l'action raccourcie.
Note:
Les clés de permission sont mises en correspondance en tant que motifs génériques avec le nom de l'outil sous-jacent, donc la même syntaxe fonctionne pour les outils intégrés, personnalisés et MCP. Par exemple "mymcp_*": "deny" refuse tous les outils d'un serveur MCP, et "mymcp_search": "ask" cible un seul.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"edit": "deny"
}
}
Vous pouvez remplacer ces permissions par agent.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"edit": "deny"
},
"agent": {
"build": {
"permission": {
"edit": "ask"
}
}
}
}
Vous pouvez également définir les permissions dans les agents Markdown.
---
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.
Vous pouvez définir les permissions pour des commandes bash spécifiques.
{
"$schema": "https://dropstone.io/schema/config.json",
"agent": {
"build": {
"permission": {
"bash": {
"git push": "ask",
"grep *": "allow"
}
}
}
}
}
Cela peut prendre un motif glob.
{
"$schema": "https://dropstone.io/schema/config.json",
"agent": {
"build": {
"permission": {
"bash": {
"git *": "ask"
}
}
}
}
}
Et vous pouvez également utiliser le caractère générique * pour gérer les permissions pour toutes les commandes.
Puisque la dernière règle correspondante a la priorité, mettez le caractère générique * en premier et les règles spécifiques après.
{
"$schema": "https://dropstone.io/schema/config.json",
"agent": {
"build": {
"permission": {
"bash": {
"*": "ask",
"git status *": "allow"
}
}
}
}
}
En savoir plus sur les permissions.
Mode
Contrôlez le mode de l'agent avec la configuration mode. L'option mode est utilisée pour déterminer comment l'agent peut être utilisé.
{
"agent": {
"review": {
"mode": "subagent"
}
}
}
L'option mode peut être définie sur primary, subagent ou all. Si aucun mode n'est spécifié, il est défini par défaut sur all.
Caché
Masquez un sous-agent du menu d'autocomplétion @ avec hidden: true. Utile pour les sous-agents internes qui ne doivent être invoqués que par programmation par d'autres agents via l'outil Task.
{
"agent": {
"internal-helper": {
"mode": "subagent",
"hidden": true
}
}
}
Cela affecte uniquement la visibilité de l'utilisateur dans le menu d'autocomplétion. Les agents masqués peuvent toujours être invoqués par le modèle via l'outil Task si les permissions le permettent.
Note:
S'applique uniquement aux agents mode: subagent.
Permissions de tâche
Contrôlez les sous-agents qu'un agent peut invoquer via l'outil Task avec permission.task. Utilise des motifs glob pour une correspondance flexible.
{
"agent": {
"orchestrator": {
"mode": "primary",
"permission": {
"task": {
"*": "deny",
"orchestrator-*": "allow",
"code-reviewer": "ask"
}
}
}
}
}
Lorsqu'il est défini sur deny, le sous-agent est supprimé de la description de l'outil Task entièrement, donc le modèle ne tentera pas de l'invoquer.
Conseil:
Les règles sont évaluées dans l'ordre, et la dernière règle correspondante gagne. Dans l'exemple ci-dessus, orchestrator-planner correspond à la fois à * (deny) et à orchestrator-* (allow), mais puisque orchestrator-* vient après *, le résultat est allow.
Conseil:
Les utilisateurs peuvent toujours invoquer n'importe quel sous-agent directement via le menu d'autocomplétion @, même si les permissions de tâche de l'agent le refuseraient.
Couleur
Personnalisez l'apparence visuelle de l'agent dans l'interface utilisateur avec l'option color. Cela affecte la façon dont l'agent apparaît dans l'interface.
Utilisez une couleur hex valide (par exemple, #FF5733) ou une couleur de thème : primary, secondary, accent, success, warning, error, info.
{
"agent": {
"creative": {
"color": "#ff6b6b"
},
"code-reviewer": {
"color": "accent"
}
}
}
Top P
Contrôlez la diversité des réponses avec l'option top_p. Alternative à la température pour contrôler le caractère aléatoire.
{
"agent": {
"brainstorm": {
"top_p": 0.9
}
}
}
Les valeurs varient de 0,0 à 1,0. Les valeurs plus basses sont plus ciblées, les valeurs plus élevées plus diversifiées.
Supplémentaire
Toute autre option que vous spécifiez dans la configuration de votre agent est transmise directement en tant qu'option de modèle. Pour les niveaux de Dropstone, les options de transmission prises en charge sont la profondeur du raisonnement et la verbosité du texte :
{
"agent": {
"deep-thinker": {
"description": "Agent that uses high reasoning effort for complex problems",
"model": "dropstone/dropstone-heavy",
"variant": "xhigh",
"textVerbosity": "low"
}
}
}
Conseil:
Exécutez dropstone models pour voir les niveaux disponibles.
Créer des agents
Vous pouvez créer de nouveaux agents à l'aide de la commande suivante :
dropstone agent create
Cette commande interactive va :
- Demander où enregistrer l'agent ; global ou spécifique au projet.
- Description de ce que l'agent doit faire.
- Générer une invite système appropriée et un identifiant.
- Vous permettre de sélectionner les permissions que l'agent doit être autorisé à avoir (tout ce que vous ne sélectionnez pas est refusé).
- Enfin, créer un fichier markdown avec la configuration de l'agent.
Cas d'utilisation
Voici quelques cas d'utilisation courants pour différents agents.
- Agent Build : Travail de développement complet avec tous les outils activés
- Agent Plan : Analyse et planification sans apporter de modifications
- Agent Review : Examen du code avec accès en lecture seule plus outils de documentation
- Agent Debug : Axé sur l'investigation avec les outils bash et read activés
- Agent Docs : Rédaction de documentation avec opérations de fichiers mais pas de commandes système
Exemples
Voici quelques agents d'exemple qui pourraient vous être utiles.
Conseil:
Avez-vous un agent que vous aimeriez partager ? Contactez-nous et nous le mettrons en avant.
Agent de documentation
---
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
Auditeur de sécurité
---
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