---
title: Режимы
description: Различные режимы для разных случаев использования.
---

:::caution
Режимы теперь настраиваются с помощью опции `agent` в конфигурации opencode.
Опция `mode` устарела. [Подробнее ](/docs/agents).
:::

Режимы в opencode позволяют настраивать поведение, инструменты и подсказки для различных вариантов использования.

Он имеет два встроенных режима: **сборка** и **планирование**. Вы можете настроить
эти или настройте свои собственные через конфигурацию opencode.

Вы можете переключаться между режимами во время сеанса или настраивать их в своем файле конфигурации.

---

## Встроенный

opencode имеет два встроенных режима.

---

### Build

Build — это режим **по умолчанию** со всеми включенными инструментами. Это стандартный режим разработки, в котором вам необходим полный доступ к файловым операциям и системным командам.

---

### Plan

Ограниченный режим, предназначенный для планирования и анализа. В режиме Plan по умолчанию отключены следующие инструменты:

- `write` – невозможно создавать новые файлы.
- `edit` – невозможно изменить существующие файлы, за исключением файлов, расположенных по адресу `.opencode/plans/*.md`, для детализации самого плана.
- `patch` – невозможно применить исправления.
- `bash` — невозможно выполнить shell-команды.

Этот режим полезен, если вы хотите, чтобы ИИ анализировал код, предлагал изменения или создавал планы без внесения каких-либо фактических изменений в вашу кодовую базу.

---

## Переключение

Переключаться между режимами можно во время сеанса с помощью клавиши _Tab_. Или настроенную вами привязку клавиш `switch_mode`.

См. также: [Formatters](/docs/formatters) для получения информации о конфигурации форматирования кода.

---

## Настроить

Вы можете настроить встроенные режимы или создать свои собственные посредством настройки. Режимы можно настроить двумя способами:

### Конфигурация JSON

Настройте режимы в файле конфигурации `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
      }
    }
  }
}
```

### Конфигурация Markdown

Вы также можете определить режимы, используя файлы Markdown. Поместите их в:

- Глобальный: `~/.config/opencode/modes/`
- Проект: `.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.
```

Имя Markdown файла становится именем режима (например, `review.md` создает режим `review`).

Давайте рассмотрим эти параметры конфигурации подробно.

---

### Модель

Используйте конфигурацию `model`, чтобы переопределить модель по умолчанию для этого режима. Полезно для использования разных моделей, оптимизированных под разные задачи. Например, более быстрая модель планирования и более эффективная модель реализации.

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

---

### Температура

Управляйте случайностью и креативностью ответов ИИ с помощью конфигурации `temperature`. Более низкие значения делают ответы более целенаправленными и детерминированными, а более высокие значения повышают креативность и вариативность.

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

Значения температуры обычно находятся в диапазоне от 0,0 до 1,0:

- **0,0–0,2**: очень целенаправленные и детерминированные ответы, идеальные для анализа кода и планирования.
- **0,3–0,5**: сбалансированные ответы с некоторой креативностью, подходят для общих задач развития.
- **0,6–1,0**: более творческие и разнообразные ответы, полезные для мозгового штурма и исследования.

```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}"
    }
  }
}
```

Если температура не указана, opencode использует значения по умолчанию для конкретной модели (обычно 0 для большинства моделей, 0,55 для моделей Qwen).

---

### Промпт

Укажите собственный файл системных подсказок для этого режима с помощью конфигурации `prompt`. Файл подсказки должен содержать инструкции, специфичные для целей режима.

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

Этот путь указан относительно того, где находится файл конфигурации. Так что это работает для
как глобальная конфигурация opencode, так и конфигурация конкретного проекта.

---

### Инструменты

Контролируйте, какие инструменты доступны в этом режиме, с помощью конфигурации `tools`. Вы можете включить или отключить определенные инструменты, установив для них значение `true` или `false`.

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

Если инструменты не указаны, все инструменты включены по умолчанию.

---

#### Доступные инструменты

Вот всеми инструментами можно управлять через конфигурацию режима.

| Инструмент  | Описание                |
| ----------- | ----------------------- |
| `bash`      | Execute shell commands  |
| `edit`      | Modify existing files   |
| `write`     | Create new files        |
| `read`      | Read file contents      |
| `grep`      | Search file contents    |
| `glob`      | Find files by pattern   |
| `list`      | List directory contents |
| `patch`     | Apply patches to files  |
| `todowrite` | Manage todo lists       |
| `todoread`  | Read todo lists         |
| `webfetch`  | Fetch web content       |

---

## Пользовательские режимы

Вы можете создавать свои собственные режимы, добавляя их в конфигурацию. Вот примеры использования обоих подходов:

### Использование конфигурации 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
      }
    }
  }
}
```

### Использование файлов Markdown

Создайте файлы режимов в `.opencode/modes/` для режимов, специфичных для проекта, или в `~/.config/opencode/modes/` для глобальных режимов:

```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
```

---

### Варианты использования

Вот несколько распространенных случаев использования различных режимов.

- **Режим сборки**: полная работа по разработке со всеми включенными инструментами.
- **Режим планирования**: анализ и планирование без внесения изменений.
- **Режим проверки**: проверка кода с доступом только для чтения и инструментами документирования.
- **Режим отладки**: сосредоточен на исследовании с включенными инструментами bash и чтения.
- **Режим документации**: запись документации с использованием файловых операций, но без системных команд.

Вы также можете обнаружить, что разные модели подходят для разных случаев использования.
