Files
opencode/packages/web/src/content/docs/ru/modes.mdx
T
2026-02-10 22:12:32 +00:00

332 lines
12 KiB
Plaintext

---
title: Режимы
description: Различные режимы для разных случаев использования.
---
:::caution
Режимы теперь настраиваются с помощью опции `agent` в конфигурации opencode.
Опция `mode` устарела. [Подробнее ](/docs/agents).
:::
Режимы в opencode позволяют настраивать поведение, инструменты и подсказки для различных вариантов использования.
Он имеет два встроенных режима: **сборка** и **планирование**. Вы можете настроить
эти или настройте свои собственные через конфигурацию opencode.
Вы можете переключаться между режимами во время сеанса или настраивать их в своем файле конфигурации.
---
## Встроенный
opencode имеет два встроенных режима.
---
### Строить
Сборка — это режим **по умолчанию** со всеми включенными инструментами. Это стандартный режим разработки, в котором вам необходим полный доступ к файловым операциям и системным командам.
---
### План
Ограниченный режим, предназначенный для планирования и анализа. В режиме плана по умолчанию отключены следующие инструменты:
- `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 и чтения.
- **Режим «Документы»**: запись документации с использованием файловых операций, но без системных команд.
Вы также можете обнаружить, что разные модели подходят для разных случаев использования.