Dropstone Docs

Инструменты

Управляйте инструментами, которые может использовать 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

Выполняйте команды оболочки в окружении вашего проекта.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "bash": "allow"
  }
}

Этот инструмент позволяет LLM запускать команды терминала, такие как npm install, git status или любую другую команду оболочки.


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"
  }
}

Быстрый поиск содержимого по всей кодовой базе. Поддерживает полный синтаксис regex и фильтрацию по шаблонам файлов.


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"
  }
}

Этот инструмент применяет файлы патчей к вашей кодовой базе. Полезен для применения дифов и патчей из различных источников.

При обработке хуков 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 (файл 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.

Совет:

Используйте 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.

Ctrl+I