Aller au contenu

Modes

Diffrents modes pour diffrents cas d'utilisation.

Les modes dans opencode vous permettent de personnaliser le comportement, les outils et les invites pour diffrents cas d’utilisation.

Il est fourni avec deux modes intgrs : build et plan. Vous pouvez personnaliser ceux-ci ou configurer les vtres via la configuration opencode.

Vous pouvez basculer entre les modes pendant une session ou les configurer dans votre fichier de configuration.


Intgr

opencode est fourni avec deux modes intgrs.


Build

Build est le mode par dfaut avec tous les outils activs. C’est le mode standard pour le travail de dveloppement o vous avez besoin d’un accs complet aux oprations de fichiers et aux commandes systme.


Plan

Un mode restreint conu pour la planification et l’analyse. En mode plan, les outils suivants sont dsactivs par dfaut :

  • write - Ne peut pas crer de nouveaux fichiers
  • edit - Ne peut pas modifier les fichiers existants
  • patch - Ne peut pas appliquer des correctifs
  • bash - Ne peut pas excuter de commandes shell

Ce mode est utile lorsque vous voulez que l’IA analyse le code, suggre des modifications ou cre des plans sans apporter de modifications relles votre base de code.


Basculement

Vous pouvez basculer entre les modes pendant une session en utilisant la touche Tab. Ou votre raccourci clavier switch_mode.

Voir aussi : Formatters pour des informations sur la configuration du formatage du code.


Configuration

Vous pouvez personnaliser les modes intgrs ou crer les vtres via la configuration. Les modes peuvent tre configurs de deux manires :

Configuration JSON

Configurez les modes dans votre fichier de configuration opencode.json :

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 dfinir des modes en utilisant des fichiers Markdown. Placez-les dans :

  • Global : ~/.config/opencode/mode/
  • Projet : .opencode/mode/
~/.config/opencode/mode/review.md
---
model: anthropic/claude-sonnet-4-20250514
temperature: 0.1
tools:
write: false
edit: false
bash: false
---
Vous tes en mode de rvision de code. Concentrez-vous sur :
- Qualit du code et bonnes pratiques
- Bugs potentiels et cas limites
- Implications de performance
- Considrations de scurit
Fournissez des feedbacks constructifs sans apporter de modifications directes.

Le nom du fichier Markdown devient le nom du mode (par exemple, review.md cre un mode review).

Examinons ces options de configuration en dtail.


Modle

Utilisez la configuration model pour remplacer le modle par dfaut pour ce mode. Utile pour utiliser diffrents modles optimiss pour diffrentes tches. Par exemple, un modle plus rapide pour la planification, un modle plus capable pour la mise en uvre.

opencode.json
{
"mode": {
"plan": {
"model": "anthropic/claude-haiku-4-20250514"
}
}
}

Temprature

Contrlez l’alatoire et la crativit des rponses de l’IA avec la configuration temperature. Les valeurs plus faibles rendent les rponses plus concentres et dterministes, tandis que les valeurs plus leves augmentent la crativit et la variabilit.

opencode.json
{
"mode": {
"plan": {
"temperature": 0.1
},
"creative": {
"temperature": 0.8
}
}
}

Les valeurs de temprature vont gnralement de 0,0 1,0 :

  • 0,0-0,2 : Rponses trs concentres et dterministes, idales pour l’analyse de code et la planification
  • 0,3-0,5 : Rponses quilibres avec une certaine crativit, bonnes pour les tches de dveloppement gnral
  • 0,6-1,0 : Rponses plus cratives et varies, utiles pour le brainstorming et l’exploration
opencode.json
{
"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 temprature n’est spcifie, opencode utilise les valeurs par dfaut spcifiques au modle (gnralement 0 pour la plupart des modles, 0,55 pour les modles Qwen).


Invite

Spcifiez un fichier d’invite systme personnalis pour ce mode avec la configuration prompt. Le fichier d’invitation doit contenir des instructions spcifiques l’objectif du mode.

opencode.json
{
"mode": {
"review": {
"prompt": "{file:./prompts/code-review.txt}"
}
}
}

Ce chemin est relatif l’emplacement du fichier de configuration. Cela fonctionne donc pour la configuration globale opencode et la configuration spcifique au projet.


Outils

Contrlez quels outils sont disponibles dans ce mode avec la configuration tools. Vous pouvez activer ou dsactiver des outils spcifiques en les dfinissant sur true ou false.

{
"mode": {
"readonly": {
"tools": {
"write": false,
"edit": false,
"bash": false,
"read": true,
"grep": true,
"glob": true
}
}
}
}

Si aucun outil n’est spcifi, tous les outils sont activs par dfaut.


Outils disponibles

Voici tous les outils qui peuvent tre contrls via la configuration du mode.

ToolDescription
bashExcuter des commandes shell
editModifier les fichiers existants
writeCrer de nouveaux fichiers
readLire le contenu des fichiers
grepRechercher le contenu des fichiers
globTrouver des fichiers par motif
listLister le contenu du rpertoire
patchAppliquer des correctifs aux fichiers
todowriteGrer les listes de tches
todoreadLire les listes de tches
webfetchRcuprer le contenu web

Modes personnaliss

Vous pouvez crer vos propres modes personnaliss en les ajoutant la configuration. Voici des exemples utilisant les deux approches :

Utilisation de la configuration JSON

opencode.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
}
}
}
}

Utilisation de fichiers Markdown

Crez des fichiers de mode dans .opencode/mode/ pour les modes spcifiques au projet ou ~/.config/opencode/mode/ pour les modes globaux :

.opencode/mode/debug.md
---
temperature: 0.1
tools:
bash: true
read: true
grep: true
write: false
edit: false
---
Vous tes en mode de dbogage. Votre objectif principal est d'aider enquter et diagnostiquer les problmes.
Concentrez-vous sur :
- Comprendre le problme par une analyse soigne
- Utiliser les commandes bash pour inspecter l'tat du systme
- Lire les fichiers et journaux pertinents
- Rechercher des motifs et des anomalies
- Fournir des explications claires des rsultats
Ne faites aucune modification aux fichiers. Enqutez et signalez uniquement.
~/.config/opencode/mode/refactor.md
---
model: anthropic/claude-sonnet-4-20250514
temperature: 0.2
tools:
edit: true
read: true
grep: true
glob: true
---
Vous tes en mode de refactoring. Concentrez-vous sur l'amlioration de la qualit du code sans changer la fonctionnalit.
Priorits :
- Amliorer la lisibilit et la maintenabilit du code
- Appliquer des conventions de dnomination cohrentes
- Rduire la duplication de code
- Optimiser les performances lorsque cela est appropri
- Assurer que tous les tests continuent passer

Cas d’utilisation

Voici quelques cas d’utilisation courants pour diffrents modes.

  • Mode Build : Travail de dveloppement complet avec tous les outils activs
  • Mode Plan : Analyse et planification sans apport de modifications
  • Mode Review : Rvision de code avec un accs en lecture seule plus les outils de documentation
  • Mode Debug : Concentr sur l’enqute avec les outils bash et read activs
  • Mode Docs : Rdaction de documentation avec des oprations de fichiers mais sans commandes systme

Vous pouvez galement trouver que diffrents modles sont bons pour diffrents cas d’utilisation.