Инструменты
Управление инструментами, которые может использовать LLM.
Инструменты позволяют LLM выполнять действия в вашей кодовой базе. Dropstone поставляется с набором встроенных инструментов, но вы можете расширить его с помощью пользовательских инструментов или MCP-серверов.
По умолчанию все инструменты включены и не требуют разрешения для запуска. Вы можете управлять поведением инструментов через разрешения.
Настройка
Используйте поле permission, чтобы управлять поведением инструментов. Вы можете разрешить, запретить или требовать одобрения для каждого инструмента.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"edit": "deny",
"bash": "ask",
"webfetch": "allow"
}
}
Вы также можете использовать подстановочные знаки для управления несколькими инструментами одновременно. Например, чтобы требовать одобрения для всех инструментов от MCP-сервера:
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"mymcp_*": "ask"
}
}
Узнайте больше о настройке разрешений.
Встроенные
Вот все встроенные инструменты, доступные в Dropstone.
bash
Выполнение shell-команд в среде вашего проекта.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"bash": "allow"
}
}
Этот инструмент позволяет LLM запускать команды терминала, такие как npm install, git status или любые другие shell-команды.
edit
Изменение существующих файлов с помощью точной замены строк.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"edit": "allow"
}
}
Этот инструмент выполняет точные правки файлов, заменяя точные совпадения текста. Это основной способ изменения кода LLM.
write
Создание новых файлов или перезапись существующих.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"edit": "allow"
}
}
Используйте это, чтобы разрешить LLM создавать новые файлы. Он перезапишет существующие файлы, если они уже есть.
Note
Инструмент write управляется разрешением edit, которое охватывает все изменения файлов (edit, write, apply_patch).
read
Чтение содержимого файлов из вашей кодовой базы.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"read": "allow"
}
}
Этот инструмент читает файлы и возвращает их содержимое. Он поддерживает чтение определенных диапазонов строк для больших файлов.
grep
Поиск содержимого файлов с использованием регулярных выражений.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"grep": "allow"
}
}
Быстрый поиск по содержимому вашей кодовой базы. Поддерживает полный синтаксис регулярных выражений и фильтрацию по шаблонам файлов.
glob
Поиск файлов по совпадению с шаблоном.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"glob": "allow"
}
}
Поиск файлов с использованием glob-шаблонов, таких как **/*.js или src/**/*.ts. Возвращает совпадающие пути к файлам, отсортированные по времени изменения.
lsp (экспериментальный)
Взаимодействие с настроенными LSP-серверами для получения функций интеллектуальной работы с кодом, таких как определения, ссылки, всплывающая информация и иерархия вызовов.
Экспериментально
Инструмент LSP является экспериментальным и отключен по умолчанию. Поведение может меняться между релизами.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"lsp": "allow"
}
}
Поддерживаемые операции включают goToDefinition, findReferences, hover, documentSymbol, workspaceSymbol, goToImplementation, prepareCallHierarchy, incomingCalls и outgoingCalls.
Чтобы настроить, какие LSP-серверы доступны для вашего проекта, см. LSP-серверы.
apply_patch
Применение патчей к файлам.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"edit": "allow"
}
}
Этот инструмент применяет файлы патчей к вашей кодовой базе. Полезен для применения diff-файлов и патчей из различных источников.
При обработке хуков tool.execute.before или tool.execute.after проверяйте input.tool === "apply_patch" (а не "patch").
apply_patch использует output.args.patchText вместо output.args.filePath. Пути встроены в строки-маркеры внутри patchText и относительны к корню проекта (например: *** Add File: src/new-file.ts, *** Update File: src/existing.ts, *** Move to: src/renamed.ts, *** Delete File: src/obsolete.ts).
Note
Инструмент apply_patch управляется разрешением edit, которое охватывает все изменения файлов (edit, write, apply_patch).
skill
Загрузка навыка (файла SKILL.md) и возврат его содержимого в разговор.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"skill": "allow"
}
}
todowrite
Управление списками задач во время сессий программирования.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"todowrite": "allow"
}
}
Создает и обновляет списки задач для отслеживания прогресса во время сложных операций. LLM использует это для организации многошаговых задач.
Note
Этот инструмент отключен для субагентов по умолчанию, но вы можете включить его вручную. Узнайте больше.
webfetch
Получение веб-контента.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"webfetch": "allow"
}
}
Позволяет LLM получать и читать веб-страницы. Полезно для поиска документации или исследования онлайн-ресурсов.
websearch
Поиск информации в интернете. Доступен по умолчанию, когда вы вошли в Dropstone.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"websearch": "allow"
}
}
Выполняет веб-поиск для поиска релевантной информации в интернете. Полезно для исследования тем, поиска текущих событий или сбора информации за пределами даты среза обучающих данных. API-ключ или дополнительная настройка не требуются, когда вы вошли в Dropstone.
Tip
Используйте websearch, когда вам нужно найти информацию (обнаружение), и webfetch, когда вам нужно получить контент с конкретного URL (получение).
question
Запрос вопросов пользователю во время выполнения.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"question": "allow"
}
}
Этот инструмент позволяет LLM задавать вопросы пользователю во время выполнения задачи. Он полезен для:
- Сбора предпочтений или требований пользователя
- Уточнения неоднозначных инструкций
- Получения решений по вариантам реализации
- Предложения выбора направления действий
Каждый вопрос включает заголовок, текст вопроса и список вариантов. Пользователи могут выбрать один из предложенных вариантов или ввести собственный ответ. Если вопросов несколько, пользователи могут перемещаться между ними перед отправкой всех ответов.
Пользовательские инструменты
Пользовательские инструменты позволяют вам определять собственные функции, которые может вызывать LLM. Они определяются в вашем файле конфигурации и могут выполнять произвольный код.
Узнайте больше о создании пользовательских инструментов.
MCP-серверы
MCP-серверы (Model Context Protocol) позволяют интегрировать внешние инструменты и сервисы. Это включает доступ к базам данных, интеграции с API и сторонние сервисы.
Узнайте больше о настройке MCP-серверов.
Шаблоны игнорирования
По умолчанию grep и glob учитывают ваш .gitignore: файлы и каталоги, перечисленные там, исключаются из поиска и списков.
Чтобы включить файлы, которые обычно игнорируются, создайте файл .ignore в корне вашего проекта. Этот файл может явно разрешать определенные пути.
!node_modules/
!dist/
!build/
Например, этот файл .ignore разрешает поиск в каталогах node_modules/, dist/ и build/, даже если они перечислены в .gitignore.