Dropstone CLI

Agents

Configura y utiliza agentes especializados.

Los agentes son asistentes de IA especializados que pueden configurarse para tareas y flujos de trabajo específicos. Te permiten crear herramientas enfocadas con prompts personalizados, modelos y acceso a herramientas.

Tip

Usa el agente de planificación para analizar código y revisar sugerencias sin realizar ningún cambio en el código.

Puedes cambiar entre agentes durante una sesión o invocarlos con la mención @.


Tipos

Hay dos tipos de agentes en Dropstone; agentes primarios y subagentes.


Agentes primarios

Los agentes primarios son los asistentes principales con los que interactúas directamente. Puedes alternar entre ellos usando la tecla Tab, o tu keybind switch_agent configurado. Estos agentes gestionan tu conversación principal. El acceso a las herramientas se configura mediante permisos: por ejemplo, Build tiene todas las herramientas habilitadas mientras que Plan está restringido.

Tip

Puedes usar la tecla Tab para cambiar entre agentes primarios durante una sesión.

Dropstone viene con dos agentes primarios integrados, Build y Plan. Los veremos a continuación.


Subagentes

Los subagentes son asistentes especializados que los agentes primarios pueden invocar para tareas específicas. También puedes invocarlos manualmente mencionándolos con @ en tus mensajes.

Dropstone viene con dos subagentes integrados, General y Explore. Los veremos a continuación.


Integrados

Dropstone viene con dos agentes primarios integrados y dos subagentes integrados.


Usar build

Mode: primary

Build es el agente primario predeterminado con todas las herramientas habilitadas. Es el agente estándar para trabajos de desarrollo donde necesitas acceso completo a operaciones de archivos y comandos del sistema.


Usar plan

Mode: primary

Un agente restringido diseñado para planificación y análisis. Usamos un sistema de permisos para darte más control y prevenir cambios no deseados. Por defecto, todo lo siguiente está configurado en ask:

  • file edits: Todas las escrituras, parches y ediciones
  • bash: Todos los comandos bash

Este agente es útil cuando quieres que el LLM analice código, sugiera cambios o cree planes sin realizar modificaciones reales en tu base de código.


Usar general

Mode: subagent

Un agente de propósito general para investigar preguntas complejas y ejecutar tareas de múltiples pasos. Tiene acceso completo a las herramientas (excepto todo), por lo que puede realizar cambios en archivos cuando sea necesario. Úsalo para ejecutar múltiples unidades de trabajo en paralelo.


Usar explore

Mode: subagent

Un agente rápido y de solo lectura para explorar bases de código. No puede modificar archivos. Úsalo cuando necesites encontrar rápidamente archivos por patrones, buscar código por palabras clave o responder preguntas sobre la base de código.


Usar compaction

Mode: primary

Agente de sistema oculto que compacta contextos largos en un resumen más pequeño. Se ejecuta automáticamente cuando es necesario y no se puede seleccionar en la interfaz.


Usar title

Mode: primary

Agente de sistema oculto que genera títulos cortos de sesión. Se ejecuta automáticamente y no se puede seleccionar en la interfaz.


Usar summary

Mode: primary

Agente de sistema oculto que crea resúmenes de sesión. Se ejecuta automáticamente y no se puede seleccionar en la interfaz.


Uso

  1. Para agentes primarios, usa la tecla Tab para alternar entre ellos durante una sesión. También puedes usar tu keybind switch_agent configurado.

  2. Los subagentes se pueden invocar:

    • Automáticamente por agentes primarios para tareas especializadas según sus descripciones.

    • Manualmente mencionándolos con @ en tu mensaje. Por ejemplo.

      @general ayúdame a buscar esta función
      
  3. Navegación entre sesiones: Cuando los subagentes crean sesiones hijas, usa session_child_first (predeterminado: <Leader>+Down) para entrar en la primera sesión hija desde la sesión padre.

  4. Una vez que estés en una sesión hija, usa:

    • session_child_cycle (predeterminado: Right) para alternar a la siguiente sesión hija
    • session_child_cycle_reverse (predeterminado: Left) para alternar a la sesión hija anterior
    • session_parent (predeterminado: Up) para volver a la sesión padre

    Esto te permite cambiar entre la conversación principal y el trabajo especializado de subagentes.


Configurar

Puedes personalizar los agentes integrados o crear los tuyos propios mediante la configuración. Los agentes se pueden configurar de dos maneras:


JSON

Configura agentes en tu archivo de configuración dropstone.json:

{
  "$schema": "https://dropstone.io/schema/config.json",
  "agent": {
    "build": {
      "mode": "primary",
      "model": "dropstone/dropstone-pro",
      "prompt": "{file:./prompts/build.txt}",
      "permission": {
        "edit": "allow",
        "bash": "allow"
      }
    },
    "plan": {
      "mode": "primary",
      "model": "dropstone/dropstone-fast",
      "permission": {
        "edit": "deny",
        "bash": "deny"
      }
    },
    "code-reviewer": {
      "description": "Revisa código en busca de mejores prácticas y problemas potenciales",
      "mode": "subagent",
      "model": "dropstone/dropstone-pro",
      "prompt": "Eres un revisor de código. Concéntrate en seguridad, rendimiento y mantenibilidad.",
      "permission": {
        "edit": "deny"
      }
    }
  }
}

Markdown

También puedes definir agentes usando archivos markdown. Colócalos en:

  • Global: ~/.config/dropstone/agents/
  • Por proyecto: .dropstone/agents/
---
description: Revisa código en busca de calidad y mejores prácticas
mode: subagent
model: dropstone/dropstone-pro
temperature: 0.1
permission:
  edit: deny
  bash: deny
---

Estás en modo de revisión de código. Concéntrate en:

- Calidad del código y mejores prácticas
- Posibles errores y casos límite
- Implicaciones de rendimiento
- Consideraciones de seguridad

Proporciona comentarios constructivos sin realizar cambios directos.

El nombre del archivo markdown se convierte en el nombre del agente. Por ejemplo, review.md crea un agente review.


Opciones

Veamos estas opciones de configuración en detalle.


Descripción

Usa la opción description para proporcionar una breve descripción de lo que hace el agente y cuándo usarlo.

{
  "agent": {
    "review": {
      "description": "Revisa código en busca de mejores prácticas y problemas potenciales"
    }
  }
}

Esta es una opción de configuración obligatoria.


Temperatura

Controla la aleatoriedad y creatividad de las respuestas del LLM con la configuración temperature.

Los valores más bajos hacen que las respuestas sean más enfocadas y deterministas, mientras que los valores más altos aumentan la creatividad y la variabilidad.

{
  "agent": {
    "plan": {
      "temperature": 0.1
    },
    "creative": {
      "temperature": 0.8
    }
  }
}

Los valores de temperatura suelen oscilar entre 0.0 y 1.0:

  • 0.0-0.2: Respuestas muy enfocadas y deterministas, ideales para análisis de código y planificación
  • 0.3-0.5: Respuestas equilibradas con cierta creatividad, buenas para tareas generales de desarrollo
  • 0.6-1.0: Respuestas más creativas y variadas, útiles para lluvia de ideas y exploración
{
  "agent": {
    "analyze": {
      "temperature": 0.1,
      "prompt": "{file:./prompts/analysis.txt}"
    },
    "build": {
      "temperature": 0.3
    },
    "brainstorm": {
      "temperature": 0.7,
      "prompt": "{file:./prompts/creative.txt}"
    }
  }
}

Si no se especifica temperatura, Dropstone usa un valor predeterminado sensato ajustado para cada nivel.


Pasos máximos

Controla el número máximo de iteraciones agénticas que un agente puede realizar antes de verse obligado a responder solo con texto. Esto permite a los usuarios que desean controlar costos establecer un límite en las acciones agénticas.

Si no se establece, el agente continuará iterando hasta que el modelo decida detenerse o el usuario interrumpa la sesión.

{
  "agent": {
    "quick-thinker": {
      "description": "Razonamiento rápido con iteraciones limitadas",
      "prompt": "Eres un pensador rápido. Resuelve problemas con pasos mínimos.",
      "steps": 5
    }
  }
}

Cuando se alcanza el límite, el agente recibe un prompt de sistema especial que le indica responder con un resumen de su trabajo y las tareas restantes recomendadas.

Obsoleto

El campo heredado maxSteps está obsoleto. Usa steps en su lugar.


Deshabilitar

Establece true para deshabilitar el agente.

{
  "agent": {
    "review": {
      "disable": true
    }
  }
}

Prompt

Especifica un archivo de prompt de sistema personalizado para este agente con la configuración prompt. El archivo de prompt debe contener instrucciones específicas para el propósito del agente.

{
  "agent": {
    "review": {
      "prompt": "{file:./prompts/code-review.txt}"
    }
  }
}

Esta ruta es relativa a donde se encuentra el archivo de configuración. Así que esto funciona tanto para la configuración global de Dropstone como para la configuración específica del proyecto.


Modelo

Usa la configuración model para sobrescribir el modelo de este agente. Útil para usar diferentes modelos optimizados para diferentes tareas. Por ejemplo, un modelo más rápido para planificación, un modelo más capaz para implementación.

Tip

Si no especificas un modelo, los agentes primarios usan el modelo configurado globalmente mientras que los subagentes heredan el modelo del agente primario que los invocó.

{
  "agent": {
    "plan": {
      "model": "dropstone/dropstone-fast"
    }
  }
}

El ID del modelo usa el formato dropstone/<tier>. Usa dropstone/dropstone-fast, dropstone/dropstone-pro o dropstone/dropstone-heavy.


Herramientas (obsoleto)

tools está obsoleto. Prefiere el campo permission del agente para nuevas configuraciones, actualizaciones y un control más detallado.

Te permite controlar qué herramientas están disponibles en este agente. Puedes habilitar o deshabilitar herramientas específicas configurándolas en true o false. En la configuración de tools de un agente, true equivale al permiso {"*": "allow"} y false equivale al permiso {"*": "deny"}.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "tools": {
    "write": true,
    "bash": true
  },
  "agent": {
    "plan": {
      "tools": {
        "write": false,
        "bash": false
      }
    }
  }
}

Note

La configuración específica del agente sobrescribe la configuración global.

También puedes usar comodines en las entradas heredadas de tools para controlar múltiples herramientas a la vez. Por ejemplo, para deshabilitar todas las herramientas de un servidor MCP:

{
  "$schema": "https://dropstone.io/schema/config.json",
  "agent": {
    "readonly": {
      "tools": {
        "mymcp_*": false,
        "write": false,
        "edit": false
      }
    }
  }
}

Aprende más sobre herramientas.


Permisos

Puedes configurar permisos para gestionar qué acciones puede realizar un agente. Cada clave de permiso se puede establecer en:

  • "ask": Solicitar aprobación antes de ejecutar la herramienta
  • "allow": Permitir todas las operaciones sin aprobación
  • "deny": Deshabilitar la herramienta

Las claves de permiso disponibles son:

ClaveHerramientas que controla
readread
editwrite, edit, apply_patch
globglob
grepgrep
listlist
bashbash
tasktask
external_directoryCualquier herramienta que lea o escriba archivos fuera del árbol de trabajo del proyecto
todowritetodowrite, todoread
webfetchwebfetch
websearchwebsearch
lsplsp
skillskill
questionquestion
doom_loopPrompts de recuperación cuando un agente parece atascado

read, edit, glob, grep, list, bash, task, external_directory, lsp y skill aceptan una acción abreviada ("allow" | "ask" | "deny") o un objeto de glob/patrón → acción para un control detallado. Las claves restantes aceptan solo la acción abreviada.

Note

Las claves de permiso se comparan como patrones comodín contra el nombre subyacente de la herramienta, por lo que la misma sintaxis funciona para herramientas integradas, herramientas personalizadas y herramientas MCP. Por ejemplo, "mymcp_*": "deny" deniega todas las herramientas de un servidor MCP, y "mymcp_search": "ask" apunta a una sola.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "edit": "deny"
  }
}

Puedes sobrescribir estos permisos por agente.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "edit": "deny"
  },
  "agent": {
    "build": {
      "permission": {
        "edit": "ask"
      }
    }
  }
}

También puedes establecer permisos en agentes Markdown.

---
description: Revisión de código sin ediciones
mode: subagent
permission:
  edit: deny
  bash:
    "*": ask
    "git diff": allow
    "git log*": allow
    "grep *": allow
  webfetch: deny
---

Solo analiza código y sugiere cambios.

Puedes establecer permisos para comandos bash específicos.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "agent": {
    "build": {
      "permission": {
        "bash": {
          "git push": "ask",
          "grep *": "allow"
        }
      }
    }
  }
}

Esto puede aceptar un patrón glob.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "agent": {
    "build": {
      "permission": {
        "bash": {
          "git *": "ask"
        }
      }
    }
  }
}

Y también puedes usar el comodín * para gestionar permisos de todos los comandos. Dado que la última regla que coincide tiene prioridad, coloca el comodín * primero y las reglas específicas después.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "agent": {
    "build": {
      "permission": {
        "bash": {
          "*": "ask",
          "git status *": "allow"
        }
      }
    }
  }
}

Aprende más sobre permisos.


Modo

Controla el modo del agente con la configuración mode. La opción mode se usa para determinar cómo se puede utilizar el agente.

{
  "agent": {
    "review": {
      "mode": "subagent"
    }
  }
}

La opción mode se puede establecer en primary, subagent o all. Si no se especifica mode, el valor predeterminado es all.


Oculto

Oculta un subagente del menú de autocompletar @ con hidden: true. Útil para subagentes internos que solo deben invocarse programáticamente por otros agentes mediante la herramienta Task.

{
  "agent": {
    "internal-helper": {
      "mode": "subagent",
      "hidden": true
    }
  }
}

Esto solo afecta la visibilidad del usuario en el menú de autocompletar. Los agentes ocultos aún pueden ser invocados por el modelo mediante la herramienta Task si los permisos lo permiten.

Note

Solo se aplica a agentes con mode: subagent.


Permisos de tarea

Controla qué subagentes puede invocar un agente mediante la herramienta Task con permission.task. Usa patrones glob para una coincidencia flexible.

{
  "agent": {
    "orchestrator": {
      "mode": "primary",
      "permission": {
        "task": {
          "*": "deny",
          "orchestrator-*": "allow",
          "code-reviewer": "ask"
        }
      }
    }
  }
}

Cuando se establece en deny, el subagente se elimina por completo de la descripción de la herramienta Task, por lo que el modelo no intentará invocarlo.

Tip

Las reglas se evalúan en orden, y la última regla que coincide gana. En el ejemplo anterior, orchestrator-planner coincide tanto con * (deny) como con orchestrator-* (allow), pero dado que orchestrator-* viene después de *, el resultado es allow.

Tip

Los usuarios siempre pueden invocar cualquier subagente directamente mediante el menú de autocompletar @, incluso si los permisos de tarea del agente lo denegarían.


Color

Personaliza la apariencia visual del agente en la interfaz con la opción color. Esto afecta cómo aparece el agente en la interfaz.

Usa un color hex válido (por ejemplo, #FF5733) o un color de tema: primary, secondary, accent, success, warning, error, info.

{
  "agent": {
    "creative": {
      "color": "#ff6b6b"
    },
    "code-reviewer": {
      "color": "accent"
    }
  }
}

Top P

Controla la diversidad de respuestas con la opción top_p. Alternativa a la temperatura para controlar la aleatoriedad.

{
  "agent": {
    "brainstorm": {
      "top_p": 0.9
    }
  }
}

Los valores oscilan entre 0.0 y 1.0. Los valores más bajos son más enfocados, los valores más altos más diversos.


Adicionales

Cualquier otra opción que especifiques en tu configuración de agente se transmite directamente como opciones del modelo. Para los niveles de Dropstone, las opciones de transmisión admitidas son la profundidad de razonamiento y la verbosidad del texto:

{
  "agent": {
    "deep-thinker": {
      "description": "Agente que usa alto esfuerzo de razonamiento para problemas complejos",
      "model": "dropstone/dropstone-heavy",
      "variant": "xhigh",
      "textVerbosity": "low"
    }
  }
}

Tip

Ejecuta dropstone models para ver los niveles disponibles.


Crear agentes

Puedes crear nuevos agentes usando el siguiente comando:

dropstone agent create

Este comando interactivo:

  1. Pregunta dónde guardar el agente; global o específico del proyecto.
  2. Descripción de lo que debe hacer el agente.
  3. Genera un prompt de sistema y un identificador apropiados.
  4. Te permite seleccionar qué permisos debe tener el agente (cualquier cosa que no selecciones se deniega).
  5. Finalmente, crea un archivo markdown con la configuración del agente.

Casos de uso

Aquí hay algunos casos de uso comunes para diferentes agentes.

  • Agente Build: Trabajo de desarrollo completo con todas las herramientas habilitadas
  • Agente Plan: Análisis y planificación sin realizar cambios
  • Agente Review: Revisión de código con acceso de solo lectura más herramientas de documentación
  • Agente Debug: Enfocado en investigación con herramientas bash y de lectura habilitadas
  • Agente Docs: Escritura de documentación con operaciones de archivos pero sin comandos del sistema

Ejemplos

Aquí hay algunos ejemplos de agentes que podrían resultarte útiles.

Tip

¿Tienes un agente que te gustaría compartir? Ponte en contacto y lo destacaremos.


Agente de documentación

---
description: Escribe y mantiene la documentación del proyecto
mode: subagent
permission:
  bash: deny
---

Eres un redactor técnico. Crea documentación clara y completa.

Concéntrate en:

- Explicaciones claras
- Estructura adecuada
- Ejemplos de código
- Lenguaje amigable para el usuario

Auditor de seguridad

---
description: Realiza auditorías de seguridad e identifica vulnerabilidades
mode: subagent
permission:
  edit: deny
---

Eres un experto en seguridad. Concéntrate en identificar posibles problemas de seguridad.

Busca:

- Vulnerabilidades de validación de entrada
- Fallos de autenticación y autorización
- Riesgos de exposición de datos
- Vulnerabilidades de dependencias
- Problemas de seguridad en la configuración
Ctrl+I