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, des modèles et des accès aux outils personnalisés.
Tip
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 principaux et les sous-agents.
Agents principaux
Les agents principaux sont les principaux assistants avec lesquels vous interagissez directement. Vous pouvez naviguer entre eux à l'aide de la touche Tab ou de 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.
Tip
Vous pouvez utiliser la touche Tab pour basculer entre les agents principaux au cours d'une session.
Dropstone est livré avec deux agents principaux 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 principaux 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 principaux intégrés et deux sous-agents intégrés.
Utiliser build
Mode : primary
Build est l'agent principal 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 sur les 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: Toutes 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 en plusieurs étapes. Dispose d'un accès complet aux outils (sauf todo), il peut donc apporter des modifications aux 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 devez trouver rapidement des fichiers par motifs, rechercher du code par mots-clés ou répondre à des questions sur la base de code.
Utiliser compaction
Mode : primary
Agent système caché qui compacte les contextes longs en un résumé plus court. Il s'exécute automatiquement lorsque nécessaire et n'est pas sélectionnable dans l'interface.
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.
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.
Utilisation
-
Pour les agents principaux, utilisez la touche Tab pour naviguer entre eux 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 principaux 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 aide-moi à rechercher cette fonction
-
-
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 parente. -
Une fois 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 revenir à la session enfant précédentesession_parent(par défaut : Up) pour revenir à la session parente
Cela vous permet de basculer entre la conversation principale et le travail spécialisé des sous-agents.
Configuration
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 manières :
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": "Examine le code pour les bonnes pratiques et les problèmes potentiels",
"mode": "subagent",
"model": "dropstone/dropstone-pro",
"prompt": "Vous êtes un réviseur de code. Concentrez-vous sur la sécurité, les performances et la maintenabilité.",
"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: Examine le code pour la qualité et les bonnes pratiques
mode: subagent
model: dropstone/dropstone-pro
temperature: 0.1
permission:
edit: deny
bash: deny
---
Vous êtes en mode révision de code. Concentrez-vous sur :
- La qualité du code et les bonnes pratiques
- Les bogues potentiels et les cas limites
- Les implications en termes de performances
- Les considérations de sécurité
Fournissez des commentaires constructifs sans apporter de modifications directes.
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": "Examine le code pour les bonnes pratiques et les problèmes potentiels"
}
}
}
Il s'agit d'une option de configuration obligatoire.
Température
Contrôlez le caractère aléatoire et la créativité des réponses du LLM avec la configuration temperature.
Des valeurs plus faibles rendent les réponses plus ciblées et déterministes, tandis que des 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 vont 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érales
- 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 adaptée à chaque niveau.
Étapes maximales
Contrôlez le nombre maximal d'itérations agentiques qu'un agent peut effectuer avant d'être obligé de répondre uniquement avec du texte. Cela permet aux utilisateurs qui souhaitent contrôler les coûts de définir une limite sur les actions agentiques.
Si cette valeur n'est pas définie, 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": "Raisonnement rapide avec des itérations limitées",
"prompt": "Vous êtes un penseur rapide. Résolvez les problèmes avec un minimum d'étapes.",
"steps": 5
}
}
}
Lorsque la limite est atteinte, l'agent reçoit une invite système spéciale lui demandant de répondre avec un résumé de son travail et les tâches restantes recommandées.
Obsolète
Le champ hérité maxSteps est obsolète. Utilisez steps à la place.
Désactiver
Définissez sur true pour désactiver l'agent.
{
"agent": {
"review": {
"disable": true
}
}
}
Invite
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'emplacement du fichier de configuration. Cela fonctionne donc à la fois pour la configuration globale de Dropstone et pour 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 performant pour l'implémentation.
Tip
Si vous ne spécifiez pas de modèle, les agents principaux utilisent le modèle configuré globalement tandis que les sous-agents héritent du modèle de l'agent principal qui les a invoqués.
{
"agent": {
"plan": {
"model": "dropstone/dropstone-fast"
}
}
}
L'identifiant du modèle utilise le format dropstone/<tier>. Utilisez dropstone/dropstone-fast, dropstone/dropstone-pro ou dropstone/dropstone-heavy.
Outils (obsolète)
tools est obsolète. Privilégiez le champ permission de l'agent pour les nouvelles configurations, les mises à jour et un contrôle plus fin.
Permet de contrôler quels outils sont 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 équivaut à la permission {"*": "allow"} et false équivaut à la permission {"*": "deny"}.
{
"$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 des permissions pour gérer les actions qu'un agent peut effectuer. Chaque clé de permission peut être définie sur :
"ask": Demander une 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 de travail 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 abrégée ("allow" | "ask" | "deny") soit un objet de motif/glob → action pour un contrôle fin. Les clés restantes n'acceptent que l'action abrégée.
Note
Les clés de permission sont mises en correspondance comme motifs génériques avec le nom de l'outil sous-jacent, donc la même syntaxe fonctionne pour les outils intégrés, les outils personnalisés et les outils MCP. Par exemple, "mymcp_*": "deny" refuse tous les outils d'un serveur MCP, et "mymcp_search": "ask" cible un seul outil.
{
"$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 des permissions dans les agents Markdown.
---
description: Révision de code sans modifications
mode: subagent
permission:
edit: deny
bash:
"*": ask
"git diff": allow
"git log*": allow
"grep *": allow
webfetch: deny
---
Analysez uniquement le code et suggérez des modifications.
Vous pouvez définir des 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 accepter 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 de toutes les commandes.
Comme la dernière règle correspondante a priorité, placez 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.
Masqué
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 programmatiquement par d'autres agents via l'outil Task.
{
"agent": {
"internal-helper": {
"mode": "subagent",
"hidden": true
}
}
}
Cela n'affecte que 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 avec mode: subagent.
Permissions de tâche
Contrôlez quels sous-agents 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'elle est définie sur deny, le sous-agent est entièrement supprimé de la description de l'outil Task, donc le modèle ne tentera pas de l'invoquer.
Tip
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 comme orchestrator-* vient après *, le résultat est allow.
Tip
Les utilisateurs peuvent toujours invoquer directement n'importe quel sous-agent 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 avec l'option color. Cela affecte la façon dont l'agent apparaît dans l'interface.
Utilisez une couleur hexadécimale 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 vont de 0,0 à 1,0. Des valeurs plus faibles sont plus ciblées, des valeurs plus élevées plus diverses.
Supplémentaire
Toute autre option que vous spécifiez dans votre configuration d'agent est transmise directement comme options de modèle. Pour les niveaux de Dropstone, les options de transmission prises en charge sont la profondeur de raisonnement et la verbosité du texte :
{
"agent": {
"deep-thinker": {
"description": "Agent qui utilise un effort de raisonnement élevé pour les problèmes complexes",
"model": "dropstone/dropstone-heavy",
"variant": "xhigh",
"textVerbosity": "low"
}
}
}
Tip
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 :
- Demande où enregistrer l'agent ; global ou spécifique au projet.
- La description de ce que l'agent doit faire.
- Génère une invite système et un identifiant appropriés.
- Vous permet de sélectionner les permissions que l'agent doit avoir (tout ce que vous ne sélectionnez pas est refusé).
- Enfin, crée 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 : Révision de code avec accès en lecture seule plus outils de documentation
- Agent Debug : Axé sur l'investigation avec bash et outils de lecture activés
- Agent Docs : Rédaction de documentation avec opérations sur les fichiers mais sans commandes système
Exemples
Voici quelques exemples d'agents que vous pourriez trouver utiles.
Tip
Vous avez un agent à partager ? Contactez-nous et nous le mettrons en avant.
Agent de documentation
---
description: Rédige et maintient la documentation du projet
mode: subagent
permission:
bash: deny
---
Vous êtes un rédacteur technique. Créez une documentation claire et complète.
Concentrez-vous sur :
- Des explications claires
- Une structure appropriée
- Des exemples de code
- Un langage convivial
Auditeur de sécurité
---
description: Effectue des audits de sécurité et identifie les vulnérabilités
mode: subagent
permission:
edit: deny
---
Vous êtes un expert en sécurité. Concentrez-vous sur l'identification des problèmes de sécurité potentiels.
Recherchez :
- Les vulnérabilités de validation des entrées
- Les failles d'authentification et d'autorisation
- Les risques d'exposition des données
- Les vulnérabilités des dépendances
- Les problèmes de sécurité de la configuration