|
|
@@ -1,329 +0,0 @@
|
|
|
----
|
|
|
-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 |
|
|
|
-| `patch` | Apply patches to files |
|
|
|
-| `todowrite` | Manage 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 и чтения.
|
|
|
-- **Режим документации**: запись документации с использованием файловых операций, но без системных команд.
|
|
|
-
|
|
|
-Вы также можете обнаружить, что разные модели подходят для разных случаев использования.
|