Dropstone Docs

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 modifications
  • bash : 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

  1. Pour les agents primaires, utilisez la touche Tab pour les parcourir au cours d'une session. Vous pouvez également utiliser votre raccourci clavier switch_agent configuré.

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

  4. Une fois que vous êtes dans une session enfant, utilisez :

    • session_child_cycle (par défaut : Right) pour passer à la session enfant suivante
    • session_child_cycle_reverse (par défaut : Left) pour passer à la session enfant précédente
    • session_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
readread
editwrite, edit, apply_patch
globglob
grepgrep
listlist
bashbash
tasktask
external_directoryTout outil qui lit ou écrit des fichiers en dehors de l'arborescence du projet
todowritetodowrite, todoread
webfetchwebfetch
websearchwebsearch
lsplsp
skillskill
questionquestion
doom_loopInvites 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 :

  1. Demander où enregistrer l'agent ; global ou spécifique au projet.
  2. Description de ce que l'agent doit faire.
  3. Générer une invite système appropriée et un identifiant.
  4. Vous permettre de sélectionner les permissions que l'agent doit être autorisé à avoir (tout ce que vous ne sélectionnez pas est refusé).
  5. 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
Ctrl+I