Modos
Modos diferentes para distintos casos de uso.
Los modos en OpenCode permiten personalizar el comportamiento, las herramientas y los prompts para distintos flujos de trabajo.
Vienen dos modos integrados: build y plan. Puedes personalizarlos o definir los tuyos en la configuración.
Puedes cambiar de modo durante una sesión o fijarlo en el archivo de configuración.
Modos integrados
OpenCode incluye dos modos básicos.
Build
build es el modo por defecto con todas las herramientas habilitadas. Es el modo estándar para desarrollo cuando necesitas acceso completo a operaciones sobre archivos y comandos del sistema.
Plan
plan es un modo restringido pensado para planificación y análisis. En este modo, por defecto se deshabilitan las herramientas siguientes:
write– no se pueden crear archivos nuevosedit– no se pueden modificar archivos existentespatch– no se pueden aplicar parchesbash– no se pueden ejecutar comandos de shell
Es útil cuando quieres que el modelo analice código, sugiera cambios o genere planes sin tocar tu repositorio.
Cambio de modo
Puedes cambiar de modo durante una sesión usando la tecla Tab o el atajo configurado como switch_mode.
Consulta también Formatters para la configuración del formateo de código.
Configuración
Históricamente los modos se configuraban con la clave mode en opencode.json. Hoy en día se recomienda usar agent, pero esta sección sigue siendo válida para proyectos que aún dependen de mode.
Configuración 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 mediante Markdown
También puedes definir modos usando archivos Markdown:
- Global:
~/.config/opencode/mode/ - Proyecto:
.opencode/mode/
---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.El nombre del archivo se convierte en el nombre del modo (por ejemplo, review.md define el modo review).
Modelo
model permite sobrescribir el modelo por defecto para un modo concreto. Es útil para usar modelos distintos optimizados para tareas diferentes (uno rápido para planificar, otro más potente para implementar).
{ "mode": { "plan": { "model": "anthropic/claude-haiku-4-20250514" } }}Temperatura
temperature controla el grado de creatividad y aleatoriedad de las respuestas. Valores bajos producen salidas más deterministas; valores altos, respuestas más creativas.
{ "mode": { "plan": { "temperature": 0.1 }, "creative": { "temperature": 0.8 } }}Rangos típicos:
- 0.0–0.2: respuestas muy enfocadas y deterministas; ideal para análisis de código y planificación.
- 0.3–0.5: equilibrio entre precisión y creatividad; bueno para desarrollo general.
- 0.6–1.0: respuestas más creativas y variadas; útil para brainstorming.
{ "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 temperatura, OpenCode usa los valores por defecto del modelo (suele ser 0 para la mayoría, 0.55 para modelos Qwen).
Prompt
Puedes indicar un prompt de sistema específico para un modo con la opción prompt:
{ "mode": { "review": { "prompt": "{file:./prompts/code-review.txt}" } }}La ruta es relativa al archivo de configuración (tanto para la config global como para la del proyecto).
Herramientas
Con la clave tools puedes habilitar o deshabilitar herramientas por modo:
{ "mode": { "readonly": { "tools": { "write": false, "edit": false, "bash": false, "read": true, "grep": true, "glob": true } } }}Si no se especifica tools, todas las herramientas se consideran habilitadas.
Herramientas disponibles
Estas son las herramientas que se pueden controlar desde mode:
| Tool | Descripción |
|---|---|
bash | Ejecutar comandos de shell |
edit | Modificar archivos existentes |
write | Crear archivos nuevos |
read | Leer contenido de archivos |
grep | Buscar texto en archivos |
glob | Encontrar archivos por patrón |
list | Listar contenido de directorio |
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 añadiéndolos en la configuración.
Usar configuración 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 } } }}Usar archivos Markdown
Crea archivos de modo en .opencode/mode/ (proyecto) o ~/.config/opencode/mode/ (global):
---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 passCasos de uso
Algunos patrones habituales de uso de modos:
- Build: desarrollo completo con todas las herramientas activas.
- Plan: análisis y planificación sin cambios en disco.
- Review: revisión de código con acceso de solo lectura y foco en documentación.
- Debug: investigación de problemas con
bashy herramientas de lectura. - Docs: escritura de documentación con operaciones sobre archivos pero sin comandos del sistema.
En muchos equipos también se usan modelos distintos según el modo (p. ej. un modelo rápido para plan y uno más avanzado para build).