Modos
Diferentes modos para diferentes casos de uso.
Precaución: Los modos ahora se configuran a través de la opción agent en la configuración de
opencode. La opciónmodeestá obsoleta. Más información.
Los modos en opencode te permiten personalizar el comportamiento, las herramientas y los prompts para diferentes casos de uso.
Viene con dos modos integrados: build y plan. Puedes personalizarlos o configurar los tuyos propios a través de la configuración de opencode.
Puedes cambiar entre modos durante una sesión o configurarlos en tu archivo de configuración.
Integrados
opencode viene con dos modos integrados.
Build
Build es el modo predeterminado con todas las herramientas habilitadas. Este es el modo estándar para trabajo de desarrollo donde necesitas acceso completo a operaciones de archivos y comandos del sistema.
Plan
Un modo restringido diseñado para planificación y análisis. En el modo plan, las siguientes herramientas están deshabilitadas por defecto:
write– No puede crear archivos nuevosedit– No puede modificar archivos existentes, excepto archivos ubicados en.opencode/plans/*.mdpara detallar el plan en sípatch– No puede aplicar parchesbash– No puede ejecutar comandos de shell
Este modo es útil cuando quieres que la IA analice código, sugiera cambios o cree planes sin realizar modificaciones reales en tu base de código.
Cambiar
Puedes cambiar entre modos durante una sesión usando la tecla Tab. O tu atajo de teclado configurado switch_mode.
Ver también: Formateadores para información sobre la configuración de formateo de código.
Configurar
Puedes personalizar los modos integrados o crear los tuyos propios a través de la configuración. Los modos se pueden configurar de dos maneras:
Configuración JSON
Configura los modos en tu archivo de configuración 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
}
}
}
}Configuración Markdown
También puedes definir modos usando archivos markdown. Colócalos en:
- Global:
~/.config/opencode/modes/ - Proyecto:
.opencode/modes/
~/.config/opencode/modes/review.md
---
model: anthropic/claude-sonnet-4-20250514
temperature: 0.1
tools:
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.El nombre del archivo markdown se convierte en el nombre del modo (por ejemplo, review.md crea un modo review).
Veamos estas opciones de configuración en detalle.
Model
Usa la configuración model para anular el modelo predeterminado para este modo. Útil para usar diferentes modelos optimizados para diferentes tareas. Por ejemplo, un modelo más rápido para planificación, un modelo más capaz para implementación.
opencode.json
{
"mode": {
"plan": {
"model": "anthropic/claude-haiku-4-20250514"
}
}
}Temperature
Controla la aleatoriedad y creatividad de las respuestas de la IA con la configuración temperature. Valores más bajos hacen las respuestas más enfocadas y deterministas, mientras que valores más altos aumentan la creatividad y variabilidad.
opencode.json
{
"mode": {
"plan": {
"temperature": 0.1
},
"creative": {
"temperature": 0.8
}
}
}Los valores de temperature típicamente van de 0.0 a 1.0:
0.0-0.2: Respuestas muy enfocadas y deterministas, ideales para análisis de código y planificación0.3-0.5: Respuestas equilibradas con algo de creatividad, buenas para tareas de desarrollo general0.6-1.0: Respuestas más creativas y variadas, útiles para lluvia de ideas y exploración
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 no se especifica temperature, opencode usa valores predeterminados específicos del modelo (típicamente 0 para la mayoría de los modelos, 0.55 para modelos Qwen).
Prompt
Especifica un archivo de prompt del sistema personalizado para este modo con la configuración prompt. El archivo de prompt debe contener instrucciones específicas para el propósito del modo.
opencode.json
{
"mode": {
"review": {
"prompt": "{file:./prompts/code-review.txt}"
}
}
}Esta ruta es relativa a donde se encuentra el archivo de configuración. Así que esto funciona tanto para la configuración global de opencode como para la configuración específica del proyecto.
Tools
Controla qué herramientas están disponibles en este modo con la configuración tools. Puedes habilitar o deshabilitar herramientas específicas estableciéndolas en true o false.
{
"mode": {
"readonly": {
"tools": {
"write": false,
"edit": false,
"bash": false,
"read": true,
"grep": true,
"glob": true
}
}
}
}Si no se especifican herramientas, todas las herramientas están habilitadas por defecto.
Herramientas disponibles
Aquí están todas las herramientas que se pueden controlar a través de la configuración de modo.
| Herramienta | Descripción |
|---|---|
bash | Ejecutar comandos de shell |
edit | Modificar archivos existentes |
write | Crear archivos nuevos |
read | Leer contenido de archivos |
grep | Buscar en contenido de archivos |
glob | Encontrar archivos por patrón |
list | Listar contenido de directorios |
patch | Aplicar parches a archivos |
todowrite | Gestionar listas de tareas |
todoread | Leer listas de tareas |
webfetch | Obtener contenido web |
Modos personalizados
Puedes crear tus propios modos personalizados agregándolos a la configuración. Aquí hay ejemplos usando ambos enfoques:
Usando configuración 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
}
}
}
}Usando archivos markdown
Crea archivos de modo en .opencode/modes/ para modos específicos del proyecto o ~/.config/opencode/modes/ para modos globales:
.opencode/modes/debug.md
---
temperature: 0.1
tools:
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.~/.config/opencode/modes/refactor.md
---
model: anthropic/claude-sonnet-4-20250514
temperature: 0.2
tools:
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 passCasos de uso
Aquí hay algunos casos de uso comunes para diferentes modos.
- Modo Build: Trabajo de desarrollo completo con todas las herramientas habilitadas
- Modo Plan: Análisis y planificación sin realizar cambios
- Modo Review: Revisión de código con acceso de solo lectura más herramientas de documentación
- Modo Debug: Enfocado en investigación con herramientas bash y lectura habilitadas
- Modo Docs: Escritura de documentación con operaciones de archivos pero sin comandos del sistema
También puedes encontrar que diferentes modelos son mejores para diferentes casos de uso.