Инструменты
Инструменты позволяют LLM выполнять действия в вашей кодовой базе. OpenCode предоставляет встроенные инструменты с возможностью расширения через пользовательские инструменты и MCP-серверы.
Конфигурация
Инструменты управляются через поле permission в opencode.json:
"allow"- Выполнение без одобрения"deny"- Запретить выполнение"ask"- Требовать одобрение пользователя
{
"permission": {
"edit": "ask",
"bash": "ask"
}
}Поддерживаются шаблоны с подстановочными знаками: "mcp_*" для нескольких инструментов.
Встроенные инструменты
Операции с файлами
| Инструмент | Назначение |
|---|---|
| read | Получить содержимое файла |
| write | Создать или перезаписать файлы |
| edit | Точные замены строк |
| patch | Применить diff и патчи |
Поиск и обнаружение
| Инструмент | Назначение |
|---|---|
| grep | Поиск с регулярными выражениями |
| glob | Поиск файлов по шаблону |
| list | Перечисление содержимого директории |
Выполнение и интеграция
| Инструмент | Назначение |
|---|---|
| bash | Выполнение shell-команд |
| lsp | Интеллект кода (экспериментально) |
Специализированные инструменты
| Инструмент | Назначение |
|---|---|
| skill | Загрузка содержимого SKILL.md |
| webfetch | Получение веб-страниц |
| question | Задать вопросы пользователю |
| todowrite/todoread | Управление списками задач |
Игнорирование файлов
По умолчанию инструменты поиска учитывают .gitignore. Создайте файл .ignore для разрешения поиска в обычно игнорируемых директориях.