Режимы
Различные режимы для разных сценариев использования.
Внимание: Режимы теперь настраиваются через параметр agent в конфигурации
opencode. Параметрmodeустарел. Подробнее.
Режимы в opencode позволяют настраивать поведение, инструменты и промпты для различных сценариев использования.
Он поставляется с двумя встроенными режимами: build и plan. Вы можете настроить их или создать собственные через конфигурацию opencode.
Вы можете переключаться между режимами во время сессии или настроить их в файле конфигурации.
Встроенные
opencode поставляется с двумя встроенными режимами.
Build
Build — это режим по умолчанию со всеми включёнными инструментами. Это стандартный режим для разработки, где вам нужен полный доступ к файловым операциям и системным командам.
Plan
Ограниченный режим, предназначенный для планирования и анализа. В режиме Plan следующие инструменты отключены по умолчанию:
write— нельзя создавать новые файлыedit— нельзя изменять существующие файлы, за исключением файлов в.opencode/plans/*.mdдля описания самого планаpatch— нельзя применять патчиbash— нельзя выполнять команды оболочки
Этот режим полезен, когда вы хотите, чтобы ИИ анализировал код, предлагал изменения или создавал планы без внесения фактических изменений в вашу кодовую базу.
Переключение
Вы можете переключаться между режимами во время сессии с помощью клавиши Tab. Или используйте настроенную привязку клавиш switch_mode.
Смотрите также: Форматтеры для информации о настройке форматирования кода.
Настройка
Вы можете настроить встроенные режимы или создать собственные через конфигурацию. Режимы можно настроить двумя способами:
Конфигурация JSON
Настройте режимы в файле конфигурации 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
}
}
}
}Конфигурация Markdown
Вы также можете определять режимы с помощью файлов markdown. Разместите их в:
- Глобально:
~/.config/opencode/modes/ - В проекте:
.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.Имя файла markdown становится именем режима (например, review.md создаёт режим review).
Рассмотрим эти параметры конфигурации подробнее.
Модель
Используйте параметр model для переопределения модели по умолчанию для этого режима. Полезно для использования различных моделей, оптимизированных для разных задач. Например, более быстрая модель для планирования, более мощная модель для реализации.
opencode.json
{
"mode": {
"plan": {
"model": "anthropic/claude-haiku-4-20250514"
}
}
}Температура
Управляйте случайностью и креативностью ответов ИИ с помощью параметра temperature. Низкие значения делают ответы более сфокусированными и детерминированными, а высокие значения увеличивают креативность и вариативность.
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: Более креативные и разнообразные ответы, полезно для мозгового штурма и исследования
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. Файл промпта должен содержать инструкции, специфичные для назначения режима.
opencode.json
{
"mode": {
"review": {
"prompt": "{file:./prompts/code-review.txt}"
}
}
}Этот путь указывается относительно расположения файла конфигурации. Поэтому это работает как для глобальной конфигурации opencode, так и для конфигурации конкретного проекта.
Инструменты
Управляйте доступными инструментами в этом режиме с помощью параметра tools. Вы можете включать или отключать конкретные инструменты, устанавливая их в true или false.
{
"mode": {
"readonly": {
"tools": {
"write": false,
"edit": false,
"bash": false,
"read": true,
"grep": true,
"glob": true
}
}
}
}Если инструменты не указаны, все инструменты включены по умолчанию.
Доступные инструменты
Вот все инструменты, которыми можно управлять через конфигурацию режима.
| Инструмент | Описание |
|---|---|
bash | Выполнение команд оболочки |
edit | Изменение существующих файлов |
write | Создание новых файлов |
read | Чтение содержимого файлов |
grep | Поиск по содержимому файлов |
glob | Поиск файлов по шаблону |
list | Список содержимого каталога |
patch | Применение патчей к файлам |
todowrite | Управление списками задач |
todoread | Чтение списков задач |
webfetch | Получение веб-контента |
Пользовательские режимы
Вы можете создавать собственные режимы, добавляя их в конфигурацию. Вот примеры с использованием обоих подходов:
Использование конфигурации 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
}
}
}
}Использование файлов markdown
Создайте файлы режимов в .opencode/modes/ для режимов проекта или ~/.config/opencode/modes/ для глобальных режимов:
.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Сценарии использования
Вот некоторые типичные сценарии использования различных режимов.
- Режим Build: Полноценная разработка со всеми включёнными инструментами
- Режим Plan: Анализ и планирование без внесения изменений
- Режим Review: Обзор кода с доступом только для чтения и инструментами документации
- Режим Debug: Фокус на исследовании с включёнными инструментами bash и read
- Режим Docs: Написание документации с файловыми операциями, но без системных команд
Вы также можете обнаружить, что разные модели хорошо подходят для разных сценариев использования.