---
title: Modos
description: Diferentes modos para diferentes casos de uso.
---

:::caution
Los modos ahora se configuran a través de la opción `agent` en la configuración opencode. El
La opción `mode` ahora está en desuso. [Más información](/docs/agents).
:::

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](/docs/formatters) 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`:

```json title="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/`

```markdown title="~/.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.

```json title="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.

```json title="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.

```json title="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.

```json title="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`.

```json
{
  "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.

| Herramienta | Descripción                             |
| ----------- | --------------------------------------- |
| `bash`      | Ejecutar comandos de shell              |
| `edit`      | Modificar archivos existentes           |
| `write`     | Crear nuevos archivos                   |
| `read`      | Leer el contenido del archivo           |
| `grep`      | Buscar contenido del archivo            |
| `glob`      | Buscar archivos por patrón              |
| `patch`     | Aplicar parches a archivos              |
| `todowrite` | Administrar listas de tareas pendientes |
| `webfetch`  | Obtener 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

```json title="opencode.json" {4-14}
{
  "$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:

```markdown title=".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.
```

```markdown title="~/.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.
