Modes
Différents modes pour différents cas d'utilisation.
Les modes dans opencode vous permettent de personnaliser le comportement, les outils et les prompts pour différents cas d’utilisation.
Il est livré avec deux modes intégrés : build et plan. Vous pouvez personnaliser ceux-ci ou configurez les vôtres via la configuration opencode.
Vous pouvez basculer entre les modes au cours d’une session ou les configurer dans votre fichier de configuration.
Modes intégrés
opencode est livré avec deux modes intégrés.
Build
Build est le mode par défaut avec tous les outils activés. Il s’agit du mode standard pour le travail de développement dans lequel vous avez besoin d’un accès complet aux opérations sur les fichiers et aux commandes système.
Plan
Un mode restreint conçu pour la planification et l’analyse. En mode plan, les outils suivants sont désactivés par défaut :
write- Impossible de créer de nouveaux fichiersedit- Impossible de modifier les fichiers existants, à l’exception des fichiers situés à.opencode/plans/*.mdpour détailler le plan lui-mêmepatch- Impossible d’appliquer les correctifsbash- Impossible d’exécuter les commandes shell
Ce mode est utile lorsque vous souhaitez que l’IA analyse le code, suggère des modifications ou crée des plans sans apporter de modifications réelles à votre base de code.
Changement de mode
Vous pouvez basculer entre les modes au cours d’une session à l’aide de la touche Tab. Ou votre raccourci clavier switch_mode configuré.
Voir également : Formatters pour plus d’informations sur la configuration du formatage du code.
Configuration
Vous pouvez personnaliser les modes intégrés ou créer les vôtres via la configuration. Les modes peuvent être configurés de deux manières :
Configuration JSON
Configurez les modes dans votre fichier de configuration opencode.json :
{ "$schema": "https://opencode.ai/config.json", "mode": { "build": { "model": "anthropic/claude-sonnet-4-20250514", "prompt": "{file:./prompts/build.txt}", "tools": { "write": true, "edit": true, "bash": true } }, "plan": { "model": "anthropic/claude-haiku-4-20250514", "tools": { "write": false, "edit": false, "bash": false } } }}Configuration Markdown
Vous pouvez également définir des modes à l’aide de fichiers markdown. Placez-les dans :
- Global :
~/.config/opencode/modes/ - Projet :
.opencode/modes/
---model: anthropic/claude-sonnet-4-20250514temperature: 0.1tools: write: false edit: false bash: false---
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 du mode (par exemple, review.md crée un mode review).
Examinons ces options de configuration en détail.
Modèle
Utilisez la configuration model pour remplacer le modèle par défaut pour ce mode. Utile pour utiliser différents modèles optimisés pour différentes tâches. Par exemple, un modèle de planification plus rapide, un modèle de mise en œuvre plus performant.
{ "mode": { "plan": { "model": "anthropic/claude-haiku-4-20250514" } }}Température
Contrôlez le caractère aléatoire et la créativité des réponses de l’IA avec la configuration temperature. Des valeurs 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é.
{ "mode": { "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 et la planification du code
- 0,3-0,5 : réponses équilibrées avec une certaine créativité, idéales 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
{ "mode": { "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, opencode utilise les valeurs par défaut spécifiques au modèle (généralement 0 pour la plupart des modèles, 0,55 pour les modèles Qwen).
Invite
Spécifiez un fichier de prompt système personnalisé pour ce mode avec la configuration prompt. Le fichier de prompt doit contenir des instructions spécifiques à l’objectif du mode.
{ "mode": { "review": { "prompt": "{file:./prompts/code-review.txt}" } }}Ce chemin est relatif à l’emplacement du fichier de configuration. Donc ça marche pour à la fois la configuration globale opencode et la configuration spécifique au projet.
Outils
Contrôlez quels outils sont disponibles dans ce mode avec la configuration tools. Vous pouvez activer ou désactiver des outils spécifiques en les définissant sur true ou false.
{ "mode": { "readonly": { "tools": { "write": false, "edit": false, "bash": false, "read": true, "grep": true, "glob": true } } }}Si aucun outil n’est spécifié, tous les outils sont activés par défaut.
Outils disponibles
Voici tous les outils pouvant être contrôlés via le mode config.
| Outil | Description |
|---|---|
bash | Exécuter des commandes shell |
edit | Modifier des fichiers existants |
write | Créer de nouveaux fichiers |
read | Lire le contenu du fichier |
grep | Rechercher le contenu du fichier |
glob | Rechercher des fichiers par modèle |
list | Liste du contenu du répertoire |
patch | Appliquer des correctifs aux fichiers |
todowrite | Gérer les listes de tâches |
todoread | Lire les listes de tâches |
webfetch | Récupérer du contenu Web |
Modes personnalisés
Vous pouvez créer vos propres modes personnalisés en les ajoutant à la configuration. Voici des exemples utilisant les deux approches :
Utilisation de la configuration JSON
{ "$schema": "https://opencode.ai/config.json", "mode": { "docs": { "prompt": "{file:./prompts/documentation.txt}", "tools": { "write": true, "edit": true, "bash": false, "read": true, "grep": true, "glob": true } } }}Utiliser des fichiers Markdown
Créez des fichiers de mode dans .opencode/modes/ pour les modes spécifiques au projet ou ~/.config/opencode/modes/ pour les modes globaux :
---temperature: 0.1tools: bash: true read: true grep: true write: false edit: false---
You are in debug mode. Your primary goal is to help investigate and diagnose issues.
Focus on:
- Understanding the problem through careful analysis- Using bash commands to inspect system state- Reading relevant files and logs- Searching for patterns and anomalies- Providing clear explanations of findings
Do not make any changes to files. Only investigate and report.---model: anthropic/claude-sonnet-4-20250514temperature: 0.2tools: edit: true read: true grep: true glob: true---
You are in refactoring mode. Focus on improving code quality without changing functionality.
Priorities:
- Improve code readability and maintainability- Apply consistent naming conventions- Reduce code duplication- Optimize performance where appropriate- Ensure all tests continue to passCas d’utilisation
Voici quelques cas d’utilisation courants pour différents modes.
- Mode Build : travail de développement complet avec tous les outils activés
- Mode Plan : Analyse et planification sans apporter de modifications
- Mode Review : révision du code avec accès en lecture seule et outils de documentation
- Mode Debug : axé sur l’investigation avec les outils bash et read activés
- Mode Docs : écriture de documentation avec des opérations sur les fichiers mais pas de commandes système
Vous constaterez peut-être également que différents modèles conviennent à différents cas d’utilisation.