8 февраля 2026
Агент в OpenCode представляет собой полную конфигурацию AI-ассистента, включающую несколько ключевых компонентов. Каждый агент имеет описание роли, которое помогает другим членам команды понять его назначение. Системная подсказка определяет поведение агента, его стиль общения и ограничения. Выбор модели позволяет оптимизировать производительность и стоимость для конкретных задач. Настройка инструментов контролирует, какие операции агент может выполнять самостоятельно.
Возможности системы агентов охватывают широкий спектр задач разработки. Можно создать агента для автоматического код-ревью, который будет проверять качество кода без вмешательства человека. Агент для написания документации способен генерировать технические описания API на основе исходного кода. Агент для тестирования создаёт unit-тесты с покрытием граничных случаев. Система позволяет стандартизировать подходы в команде и автоматизировать повторяющиеся задачи, экономя время разработчиков.
Преимущества использования агентов проявляются в повседневной работе команды. Каждый агент специализируется на конкретной области, что повышает качество результатов. Стандартизированные агенты обеспечивают единообразие подходов к проверке кода и написанию документации. Автоматизация рутинных задач освобождает время для творческой работы. Возможность быстро переключаться между разными типами проверок ускоряет цикл разработки.
Для создания нового агента используется команда opencode agent create, которая запускает пошаговый интерактивный процесс. Команда задаёт серию вопросов о желаемом поведении агента и сохраняет конфигурацию в файл. В процессе создания необходимо указать уникальное имя агента на английском языке без пробелов, описание его назначения на русском языке, системную подсказку, определяющую поведение и ограничения, выбор модели для обработки запросов, а также настройку инструментов.
Интерактивный процесс начинается с запуска команды без параметров в терминале. После выполнения команды OpenCode последовательно запрашивает необходимую информацию. Сначала нужно ввести уникальное имя агента, например code-reviewer или documentation-writer. Затем описывается назначение агента в свободной форме на русском языке. После этого задаётся системная подсказка, которая определяет поведение агента. При нажатии Enter открывается текстовый редактор для ввода развёрнутой подсказки.
$ opencode agent create
? Введите имя агента: code-reviewer
? Введите описание агента: Проверяет код на безопасность и производительность
? Введите системную подсказку (нажмите Enter для редактора):
После сохранения системной подсказки процесс продолжается выбором модели и настройкой инструментов. OpenCode отображает список доступных моделей с указанием их характеристик и стоимости. Затем предлагается выбрать, какие инструменты агент может использовать: чтение файлов, запись, выполнение команд, поиск по коду и другие. После завершения всех шагов агент создаётся и сохраняется в конфигурации.
Альтернативный способ создания агента — прямой редактор конфигурационного файла. Этот метод удобен для точной настройки и возможности контроля версий конфигурации. Файл конфигурации агента создаётся в формате JSON и содержит все необходимые параметры. Такой подход позволяет легко делиться конфигурацией с командой и отслеживать изменения.
Прямое создание агента начинается с определения его структуры в файле opencode.json или agents.json. Нужно указать уникальный идентификатор агента, описание, модель, системную подсказку и настройки инструментов. После сохранения файла агент автоматически доступен для использования. Этот метод обеспечивает полный контроль над всеми параметрами агента.
$ mkdir -p ~/.config/opencode/
$ cat > ~/.config/opencode/agents.json << 'EOF'
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"security-auditor": {
"description": "Комплексный аудит безопасности кода",
"model": "anthropic/claude-sonnet-4-5",
"prompt": "Вы — эксперт по безопасности с 15-летним опытом. Ваша задача — провести всесторонний анализ безопасности кода.",
"tools": {
"read": true,
"write": false,
"edit": false,
"bash": true,
"grep": true,
"glob": true,
"webFetch": true
}
}
}
}
EOF
Конфигурация агента содержит несколько ключевых полей, каждое из которых влияет на поведение и возможности агента. Поле description содержит человекочитаемое описание назначения агента на русском языке. Это описание используется для документации, справки и при выборе агента в интерфейсе. Качественное описание помогает команде быстро находить подходящего агента для конкретной задачи.
Поле model указывает конкретную модель, которая используется для обработки запросов к этому агенту. Выбор модели влияет на качество ответов, скорость работы и стоимость использования. Для сложных задач, таких как анализ безопасности, рекомендуется использовать более мощные модели. Для простых задач, таких как форматирование документации, можно использовать более быстрые и дешёвые модели.
{
"description": "Автоматический анализ кода на наличие уязвимостей и проблем безопасности",
"model": "anthropic/claude-sonnet-4-5",
"prompt": "Вы — эксперт по кибербезопасности. Ваша задача — выявить все потенциальные уязвимости в коде.",
"tools": {
"read": true,
"grep": true,
"glob": true,
"bash": true,
"write": false,
"edit": false,
"webFetch": true
}
}
Поле prompt содержит системную подсказку — это инструкции, которые модель получает перед каждым запросом. Системная подсказка определяет поведение агента, его стиль общения, ограничения и приоритеты. Качественная системная подсказка делает агента предсказуемым и надёжным. Она должна быть достаточно детальной, чтобы направлять агента, но не настолько ограничивающей, чтобы лишать его гибкости.
Поле tools контролирует, какие инструменты агент может использовать. Это критически важный параметр безопасности и функциональности. Для агентов, которые должны только анализировать код и предоставлять рекомендации, следует отключить инструменты записи и редактирования. Для агентов, которые генерируют документацию или тесты, нужно включить соответствующие инструменты.
Каждый инструмент имеет булево значение, определяющее доступность. Инструмент read разрешает чтение файлов для анализа. Инструмент write позволяет создавать новые файлы. Инструмент edit разрешает изменение существующих файлов. Инструмент bash позволяет выполнять команды в терминале. Инструменты grep и glob обеспечивают поиск по коду. Инструмент webFetch позволяет загружать данные из интернета.
{
"tools": {
"read": true,
"write": true,
"edit": true,
"bash": false,
"grep": true,
"glob": true,
"webFetch": false
}
}
После создания агента его можно использовать несколькими способами в терминальном интерфейсе TUI. Агент выбирается через командную палитру или указывается при запуске с параметром --agent. При запуске с указанием агента OpenCode автоматически загружает его конфигурацию и использует определённую модель, системную подсказку и настройки инструментов.
Простой запуск агента выполняется с указанием его имени через параметр командной строки. OpenCode загружает конфигурацию агента и использует её для обработки запроса. Это позволяет быстро переключаться между разными типами анализа без изменения основных настроек.
# Запуск TUI с конкретным агентом
opencode --agent code-reviewer
# Выполнение запроса с использованием агента
opencode run --agent security-auditor "Проверь @src/auth.ts на уязвимости"
# Продолжение сессии с агентом
opencode --continue --session abc123 --agent documentation-writer
В файле конфигурации проекта opencode.json можно указать агента по умолчанию для определённых типов задач. Также можно настроить кастомные команды, которые автоматически используют конкретных агентов. Это позволяет стандартизировать рабочие процессы в команде и обеспечить консистентность результатов.
Кастомные команды определяют типовые задачи с заданным шаблоном запроса и выбранным агентом. Такие команды позволяют быстро запускать стандартные проверки без необходимости каждый раз формулировать запрос. Команды проекта сохраняются в конфигурационном файле и доступны всем членам команды.
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"default": "general",
"code-reviewer": {
"description": "Проверка кода на качество и лучшие практики",
"model": "anthropic/claude-sonnet-4-5",
"prompt": "Вы — senior-разработчик. Проверяйте код на качество, читаемость и соответствие лучшим практикам.",
"tools": {
"read": true,
"write": false,
"edit": false,
"bash": true
}
}
},
"command": {
"review": {
"description": "Запустить код-ревью",
"agent": "code-reviewer",
"template": "Проверь ${ARGUMENTS} на качество кода и лучшие практики.\nОбрати внимание на:\n- Читаемость и понятность кода\n- Соблюдение стандартов проекта\n- Потенциальные баги и edge cases"
}
}
}
Интеграция OpenCode с GitHub автоматизирует процессы ревью кода и управления задачами через GitHub Actions и GitHub Copilot. После установки интеграции командой opencode github install OpenCode настраивает рабочие процессы, которые автоматически проверяют pull requests, оставляют комментарии и управляют issues. Эта интеграция превращает OpenCode в полноценного участника команды разработки.
Процесс установки начинается с выполнения команды opencode github install, которая инициализирует настройку и задаёт необходимые вопросы. Команда проверяет наличие Git-репозитория, запрашивает токен доступа к GitHub, выбирает workflow для установки и настраивает параметры автоматизации. После завершения установки в репозитории появляются файлы конфигурации.
$ opencode github install
? Введите репозиторий GitHub (owner/repo): mycompany/myproject
? Введите токен GitHub: ghp_xxxxxxxxxxxxxxxxxxxx
? Выберите workflow для установки:
✓ Автоматический код-ревью PR
✓ Управление issues
✓ Автоматическое присвоение тегов
✓ Проверка безопасности
? Включить интеграцию с Copilot? Да
✓ Установка завершена!
Созданный workflow для код-ревью автоматически запускается при открытии pull request и вызывает OpenCode для анализа изменённых файлов. Workflow проверяет изменения, анализирует их с помощью выбранного агента, оставляет комментарии с рекомендациями и обновляет статус проверки. Результаты отображаются в интерфейсе GitHub как статус checks.
name: OpenCode Code Review
on:
pull_request:
branches: [main, develop]
push:
branches: [main, develop]
permissions:
contents: read
pull-requests: write
checks: write
jobs:
review:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup OpenCode
uses: opencode-ai/action/setup@v1
- name: Run code review
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
run: |
opencode run \
--agent code-reviewer \
--context "PR: ${{ github.event.pull_request.number }}" \
--output-format github-comments \
"Проверь изменения в pull request:\n1. Качество кода\n2. Безопасность\n3. Производительность\n4. Тестовое покрытие"
- name: Update check status
if: always()
uses: opencode-ai/action/check-status@v1
with:
conclusion: ${{ job.status }}
Интеграция автоматизирует управление issues, включая классификацию, присвоение тегов и генерацию ответов. Workflow для issues запускается при создании или изменении issue и выполняет классификацию по типу, присвоение приоритета, добавление релевантных тегов и предложение шаблонов для заполнения.
name: OpenCode Issue Manager
on:
issues:
types: [opened, edited]
issue_comment:
types: [created]
permissions:
issues: write
contents: read
jobs:
manage:
runs-on: ubuntu-latest
steps:
- name: Analyze issue
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
opencode run \
--agent issue-manager \
--output-format github-issue \
"Проанализируй issue:\nЗаголовок: ${{ github.event.issue.title }}\nСодержание: ${{ github.event.issue.body }}\n\nПредложи:\n1. Рекомендуемые теги\n2. Приоритет\n3. Возможного исполнителя"
Агент для проверки безопасности должен быть настроен на выявление типичных уязвимостей: SQL-инъекций, XSS-атак, проблем аутентификации и авторизации, утечек чувствительных данных. Агент не должен изменять код, а только предоставлять подробные отчёты с рекомендациями по исправлению с указанием степени серьёзности каждой проблемы.
{
"agent": {
"security-auditor": {
"description": "Всесторонний аудит безопасности кода",
"model": "anthropic/claude-sonnet-4-5",
"prompt": "Вы — эксперт по безопасности с 15-летним опытом в области информационной безопасности. Ваша задача — провести всесторонний анализ безопасности кода.\n\nФокусируйтесь на следующих категориях уязвимостей:\n\n1. ИНЪЕКЦИОННЫЕ АТАКИ\n - SQL-инъекции (неочищенные запросы, конкатенация строк)\n - Командные инъекции\n - LDAP-инъекции\n - XPath-инъекции\n\n2. АУТЕНТИФИКАЦИЯ И АВТОРИЗАЦИЯ\n - Слабая аутентификация\n - Небезопасное управление сессиями\n - Эскалация привилегий\n - Отсутствие проверки авторизации\n\n3. УТЕЧКА ДАННЫХ\n - Чувствительные данные в логах\n - Отсутствие шифрования\n - Хардкод учётных данных\n - Небезопасная передача данных\n\n4. МЕЖСАЙТОВЫЙ СКРИПТИНГ (XSS)\n - Отражающий XSS\n - Сохраняющийся XSS\n - DOM-based XSS\n\nДля каждой находки укажите:\n- Название уязвимости и CWE ID\n- Степень серьёзности (Критическая/Высокая/Средняя/Низкая)\n- Описание с примером кода\n- Оценку влияния\n- Рекомендации по исправлению с безопасным кодом",
"tools": {
"read": true,
"glob": true,
"grep": true,
"bash": true,
"write": false,
"edit": false,
"webFetch": true
}
}
}
}
Использование агента для проверки безопасности обеспечивает дополнительный уровень защиты перед мерджем pull request. Автоматический запуск агента в CI/CD pipeline позволяет выявлять проблемы на ранних этапах и предотвращает попадание уязвимого кода в основную ветку.
# Ручной запуск проверки безопасности
opencode run --agent security-auditor "Проанализируй @src/api/users.cfc на SQL-инъекции"
# Проверка всех изменённых файлов в PR
opencode run --agent security-auditor \
--context "Изменённые файлы: $(git diff --name-only HEAD~1)" \
"Проведи аудит безопасности всех изменённых файлов"
Агент для генерации тестов анализирует структуру кода, определяет публичные API и генерирует тесты для всех функций, включая граничные случаи и сценарии ошибок. Агент использует существующий в проекте тестовый фреймворк и следует принятым соглашениям по написанию тестов.
{
"agent": {
"test-generator": {
"description": "Генерация unit-тестов для кода",
"model": "anthropic/claude-sonnet-4-5",
"prompt": "Вы — эксперт по автоматизации тестирования. Ваша задача — создать комплексные unit-тесты для предоставленного кода.\n\nТребования:\n\n1. Используй существующий тестовый фреймворк проекта\n2. Следуй соглашениям проекта по тестированию\n3. Покрывай:\n - Основные сценарии использования\n - Граничные случаи (null, undefined, пустые значения)\n - Условия ошибок и исключения\n - Граничные значения\n - Проверки валидации ввода\n\n4. Используй описательные названия тестов\n5. Применяй паттерн AAA (Arrange, Act, Assert)\n6. Включай комментарии с объяснением намерения теста\n\nВыводи только код тестов без объяснений.",
"tools": {
"read": true,
"glob": true,
"grep": true,
"write": true,
"edit": true,
"bash": true,
"webFetch": false
}
}
}
}
# Генерация тестов для конкретного файла
opencode run --agent test-generator "Напиши тесты для @src/utils/date-helper.ts"
# Генерация тестов с покрытием граничных случаев
opencode run --agent test-generator \
"Создай тесты для @src/validation/schemas/user.schema.ts\nОсобое внимание — валидация ввода и обработка ошибок"
Агент для генерации документации анализирует исходный код и создаёт подробные технические описания API, компонентов и модулей. Агент поддерживает различные форматы документации и следует стандартам проекта.
{
"agent": {
"documentation-writer": {
"description": "Генерация документации API из исходного кода",
"model": "anthropic/claude-sonnet-4-5",
"prompt": "Вы — технический писатель, специализирующийся на документации API. Ваша задача — создать подробную, хорошо структурированную документацию на русском языке.\n\nДокументация должна включать:\n\n1. Общее описание компонента/модуля\n2. Инструкции по установке и настройке\n3. Справку по API с параметрами, типами возврата и примерами\n4. Сценарии использования с примерами кода\n5. Раздел по устранению неполадок\n\nПишите на чистом русском языке с правильной технической терминологией. Используйте Markdown-формат с заголовками, блоками кода и таблицами.",
"tools": {
"read": true,
"glob": true,
"grep": true,
"write": true,
"edit": true,
"bash": false,
"webFetch": false
}
}
}
}
Для команды разработки можно создать набор связанных агентов и команд, которые покрывают различные аспекты рабочего процесса. Каждый агент специализируется на своей области и использует оптимальную конфигурацию. Кастомные команды позволяют быстро запускать типовые проверки без необходимости помнить точные формулировки запросов.
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"frontend-reviewer": {
"description": "Проверка frontend-компонентов",
"model": "anthropic/claude-sonnet-4-5",
"prompt": "Вы — frontend-эксперт. Проверяйте код на:\n- Паттерны React/Vue компонентов\n- Доступность (соответствие WCAG)\n- Оптимизацию производительности\n- Адаптивный дизайн\n- Согласованность CSS-методологии",
"tools": {
"read": true,
"write": false,
"edit": false,
"bash": true
}
},
"backend-reviewer": {
"description": "Проверка backend-сервисов",
"model": "anthropic/claude-sonnet-4-5",
"prompt": "Вы — backend-эксперт. Проверяйте код на:\n- API-дизайн и принципы RESTful\n- Оптимизацию SQL-запросов\n- Обработку ошибок и логирование\n- Лучшие практики безопасности\n- Соображения по масштабированию",
"tools": {
"read": true,
"write": false,
"edit": false,
"bash": true
}
},
"docs-generator": {
"description": "Генерация документации API",
"model": "anthropic/claude-sonnet-4-5",
"prompt": "Вы — технический писатель. Генерируйте документацию API на русском языке:\n- Общее описание и назначение\n- Установка и настройка\n- API endpoints с параметрами и примерами\n- Методы аутентификации\n- Ответы об ошибках\n- Примеры кода",
"tools": {
"read": true,
"write": true,
"glob": true
}
}
},
"command": {
"review-frontend": {
"description": "Проверить frontend-изменения",
"agent": "frontend-reviewer",
"template": "Проверь изменённые frontend-файлы:\n${FILES}\n\nОбрати внимание на:\n- Структуру и переиспользуемость компонентов\n- Паттерны управления состоянием\n- Оптимизации производительности\n- Соответствие стандартам доступности"
},
"review-backend": {
"description": "Проверить backend-изменения",
"agent": "backend-reviewer",
"template": "Проверь изменённые backend-файлы:\n${FILES}\n\nОбрати внимание на:\n- Согласованность API-дизайна\n- Уязвимости безопасности\n- Проблемы производительности\n- Обработку ошибок"
},
"api-docs": {
"description": "Сгенерировать документацию API",
"agent": "docs-generator",
"template": "Создай подробную документацию API для:\n${FILES}\n\nВывод в docs/api/"
},
"full-review": {
"description": "Полный код-ревью",
"template": "Проведи полную проверку кода:\n${FILES}\n\nВключи:\n- Аудит безопасности\n- Анализ производительности\n- Оценку качества кода\n- Соответствие лучшим практикам"
}
}
}
Система управления агентами в OpenCode предоставляет мощный инструментарий для создания специализированных AI-помощников. Возможность настраивать системные подсказки, выбирать модели и контролировать доступ к инструментам позволяет адаптировать OpenCode под любые задачи команды разработки. Интеграция с GitHub автоматизирует процессы ревью кода и управления issues, превращая OpenCode в полноценного участника разработки.
Рекомендуется начать с простого агента для код-ревью, постепенно расширяя набор по мере понимания потребностей команды. Важно документировать созданных агентов и делиться конфигурацией с командой через общий репозиторий или документацию. При правильной настройке агенты значительно ускоряют рабочие процессы и обеспечивают консистентность результатов. Система агентов — это фундамент для построения эффективного AI-助手 для вашей команды.
Дата: 8 февраля 2026 Автор: OWIX AI Division