Saltearse al contenido

Modos

Diferentes modos para diferentes casos de uso.

Los modos en opencode le permiten personalizar el comportamiento, las herramientas y las indicaciones para diferentes casos de uso.

Viene con dos modos integrados: construir y planificar. Puedes personalizar estos o configure el suyo propio a través de la configuración opencode.

Puede cambiar entre modos durante una sesión o configurarlos en su archivo de configuración.


Integrados

opencode viene con dos modos integrados.


Modo Build

Build es el modo predeterminado con todas las herramientas habilitadas. Este es el modo estándar para el trabajo de desarrollo en el que necesita acceso completo a las operaciones de archivos y a los comandos del sistema.


Modo Plan

Un modo restringido diseñado para la planificación y el análisis. En el modo de plan, las siguientes herramientas están deshabilitadas de forma predeterminada:

  • write - No se pueden crear archivos nuevos
  • edit - No se pueden modificar archivos existentes, excepto los archivos ubicados en .opencode/plans/*.md para detallar el plan en sí.
  • patch - No se pueden aplicar parches
  • bash - No se pueden ejecutar comandos de shell

Este modo es útil cuando desea que la IA analice código, sugiera cambios o cree planes sin realizar modificaciones reales en su base de código.


Cambiar de modo

Puede cambiar entre modos durante una sesión usando la tecla Tab. O su combinación de teclas switch_mode configurada.

Consulte también: Formateadores para obtener información sobre la configuración de formato de código.


Configuración

Puede personalizar los modos integrados o crear los suyos propios mediante la configuración. Los modos se pueden configurar de dos maneras:

Configuración JSON

Configure los modos en su 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 de Markdown

También puede definir modos utilizando archivos de 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 de Markdown se convierte en el nombre del modo (por ejemplo, review.md crea un modo review).

Veamos estas opciones de configuración en detalle.


Modelo

Utilice la configuración model para anular el modelo predeterminado para este modo. Útil para utilizar diferentes modelos optimizados para diferentes tareas. Por ejemplo, un modelo más rápido de planificación, un modelo más capaz de implementación.

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

Temperatura

Controle la aleatoriedad y la creatividad de las respuestas de la IA con la configuración temperature. Los valores más bajos hacen que las respuestas sean más centradas y deterministas, mientras que los valores más altos aumentan la creatividad y la variabilidad.

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

Los valores de temperatura suelen oscilar entre 0,0 y 1,0:

  • 0.0-0.2: Respuestas muy enfocadas y deterministas, ideales para análisis y planificación de código.
  • 0,3-0,5: respuestas equilibradas con algo de creatividad, buenas para tareas de desarrollo general.
  • 0.6-1.0: respuestas más creativas y variadas, útiles para la lluvia de ideas y la 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 ninguna temperatura, opencode utiliza valores predeterminados específicos del modelo (normalmente 0 para la mayoría de los modelos, 0,55 para los modelos Qwen).


Indicación

Especifique un archivo de aviso del sistema personalizado para este modo con la configuración prompt. El archivo de aviso 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. Entonces esto funciona para tanto la configuración global opencode como la configuración específica del proyecto.


Herramientas

Controle qué herramientas están disponibles en este modo con la configuración tools. Puede habilitar o deshabilitar herramientas específicas configurándolas en true o false.

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

Si no se especifica ninguna herramienta, todas las herramientas están habilitadas de forma predeterminada.


Herramientas disponibles

Aquí están todas las herramientas que se pueden controlar a través del modo de configuración.

HerramientaDescripción
bashEjecutar comandos de shell
editModificar archivos existentes
writeCrear nuevos archivos
readLeer el contenido del archivo
grepBuscar contenido del archivo
globBuscar archivos por patrón
listListar el contenido del directorio
patchAplicar parches a archivos
todowriteAdministrar listas de tareas pendientes
todoreadLeer listas de tareas pendientes
webfetchObtener contenido web

Modos personalizados

Puede crear sus propios modos personalizados agregándolos a la configuración. A continuación se muestran ejemplos que utilizan ambos enfoques:

Usando la 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 de Markdown

Cree 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 pass

Casos de uso

A continuación se muestran 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: centrado en la investigación con bash y herramientas de lectura habilitadas
  • Modo Docs: escritura de documentacion con operaciones de archivos pero sin comandos del sistema

También puede encontrar que diferentes modelos son buenos para diferentes casos de uso.