Herramientas
Gestiona las herramientas que un LLM puede utilizar.
Las herramientas permiten que el LLM realice acciones en tu código. Dropstone incluye un conjunto de herramientas integradas, pero puedes ampliarlo con herramientas personalizadas o servidores MCP.
Por defecto, todas las herramientas están habilitadas y no necesitan permiso para ejecutarse. Puedes controlar el comportamiento de las herramientas mediante permisos.
Configurar
Usa el campo permission para controlar el comportamiento de las herramientas. Puedes permitir, denegar o requerir aprobación para cada herramienta.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"edit": "deny",
"bash": "ask",
"webfetch": "allow"
}
}
También puedes usar comodines para controlar varias herramientas a la vez. Por ejemplo, para requerir aprobación para todas las herramientas de un servidor MCP:
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"mymcp_*": "ask"
}
}
Aprende más sobre cómo configurar permisos.
Integradas
Estas son todas las herramientas integradas disponibles en Dropstone.
bash
Ejecuta comandos de shell en el entorno de tu proyecto.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"bash": "allow"
}
}
Esta herramienta permite que el LLM ejecute comandos de terminal como npm install, git status o cualquier otro comando de shell.
edit
Modifica archivos existentes mediante reemplazos exactos de texto.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"edit": "allow"
}
}
Esta herramienta realiza ediciones precisas en archivos reemplazando coincidencias exactas de texto. Es la forma principal en que el LLM modifica código.
write
Crea archivos nuevos o sobrescribe los existentes.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"edit": "allow"
}
}
Úsala para permitir que el LLM cree archivos nuevos. Sobrescribirá los archivos existentes si ya están presentes.
Note
La herramienta write se controla mediante el permiso edit, que cubre todas las modificaciones de archivos (edit, write, apply_patch).
read
Lee el contenido de archivos de tu código.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"read": "allow"
}
}
Esta herramienta lee archivos y devuelve su contenido. Admite la lectura de rangos de líneas específicos para archivos grandes.
grep
Busca contenido en archivos usando expresiones regulares.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"grep": "allow"
}
}
Búsqueda rápida de contenido en todo tu código. Admite sintaxis completa de expresiones regulares y filtrado por patrones de archivo.
glob
Encuentra archivos mediante coincidencia de patrones.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"glob": "allow"
}
}
Busca archivos usando patrones glob como **/*.js o src/**/*.ts. Devuelve las rutas de archivos coincidentes ordenadas por tiempo de modificación.
lsp (experimental)
Interactúa con tus servidores LSP configurados para obtener funciones de inteligencia de código como definiciones, referencias, información al pasar el cursor y jerarquía de llamadas.
Experimental
La herramienta LSP es experimental y está deshabilitada por defecto. El comportamiento puede cambiar entre versiones.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"lsp": "allow"
}
}
Las operaciones admitidas incluyen goToDefinition, findReferences, hover, documentSymbol, workspaceSymbol, goToImplementation, prepareCallHierarchy, incomingCalls y outgoingCalls.
Para configurar qué servidores LSP están disponibles para tu proyecto, consulta Servidores LSP.
apply_patch
Aplica parches a archivos.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"edit": "allow"
}
}
Esta herramienta aplica archivos de parche a tu código. Es útil para aplicar diffs y parches de diversas fuentes.
Al manejar hooks de tool.execute.before o tool.execute.after, verifica input.tool === "apply_patch" (no "patch").
apply_patch usa output.args.patchText en lugar de output.args.filePath. Las rutas están incrustadas en líneas de marcador dentro de patchText y son relativas a la raíz del proyecto (por ejemplo: *** Add File: src/new-file.ts, *** Update File: src/existing.ts, *** Move to: src/renamed.ts, *** Delete File: src/obsolete.ts).
Note
La herramienta apply_patch se controla mediante el permiso edit, que cubre todas las modificaciones de archivos (edit, write, apply_patch).
skill
Carga una skill (un archivo SKILL.md) y devuelve su contenido en la conversación.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"skill": "allow"
}
}
todowrite
Gestiona listas de tareas durante sesiones de codificación.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"todowrite": "allow"
}
}
Crea y actualiza listas de tareas para hacer seguimiento del progreso durante operaciones complejas. El LLM la usa para organizar tareas de varios pasos.
Note
Esta herramienta está deshabilitada para subagentes por defecto, pero puedes habilitarla manualmente. Aprende más.
webfetch
Obtiene contenido web.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"webfetch": "allow"
}
}
Permite que el LLM obtenga y lea páginas web. Es útil para consultar documentación o investigar recursos en línea.
websearch
Busca información en la web. Disponible por defecto cuando has iniciado sesión en Dropstone.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"websearch": "allow"
}
}
Realiza búsquedas web para encontrar información relevante en línea. Es útil para investigar temas, encontrar eventos actuales o recopilar información más allá del corte de datos de entrenamiento. No se requiere clave API ni configuración adicional cuando has iniciado sesión en Dropstone.
Tip
Usa websearch cuando necesites encontrar información (descubrimiento) y webfetch cuando necesites recuperar contenido de una URL específica (recuperación).
question
Hace preguntas al usuario durante la ejecución.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"question": "allow"
}
}
Esta herramienta permite que el LLM haga preguntas al usuario durante una tarea. Es útil para:
- Recopilar preferencias o requisitos del usuario
- Aclarar instrucciones ambiguas
- Obtener decisiones sobre opciones de implementación
- Ofrecer opciones sobre qué dirección tomar
Cada pregunta incluye un encabezado, el texto de la pregunta y una lista de opciones. Los usuarios pueden seleccionar entre las opciones proporcionadas o escribir una respuesta personalizada. Cuando hay varias preguntas, los usuarios pueden navegar entre ellas antes de enviar todas las respuestas.
Herramientas personalizadas
Las herramientas personalizadas te permiten definir tus propias funciones que el LLM puede llamar. Se definen en tu archivo de configuración y pueden ejecutar código arbitrario.
Aprende más sobre cómo crear herramientas personalizadas.
Servidores MCP
Los servidores MCP (Model Context Protocol) te permiten integrar herramientas y servicios externos. Esto incluye acceso a bases de datos, integraciones de API y servicios de terceros.
Aprende más sobre cómo configurar servidores MCP.
Patrones de ignorado
Por defecto, grep y glob respetan tu .gitignore: los archivos y directorios listados allí se excluyen de las búsquedas y listados.
Para incluir archivos que normalmente se ignorarían, crea un archivo .ignore en la raíz de tu proyecto. Este archivo puede permitir explícitamente ciertas rutas.
!node_modules/
!dist/
!build/
Por ejemplo, este archivo .ignore permite la búsqueda dentro de los directorios node_modules/, dist/ y build/ incluso si están listados en .gitignore.