logo
Desarrollo
Buscar
Gestión de herramientas

Gestión de herramientas

Descripción general

Las herramientas son las "manos y pies" que el Agent utiliza para ejecutar operaciones. El sistema ofrece 19 herramientas integradas y permite ampliar el conjunto de herramientas mediante el protocolo MCP, las definiciones OpenAPI y las habilidades. La página de gestión de herramientas sirve para configurar y administrar todas las herramientas disponibles.

Ubicación de la captura de pantalla


19 herramientas integradas

Operaciones con archivos (7 herramientas)

Herramienta Función Nivel de seguridad
Read File Lee el contenido de un archivo, admite rangos de números de línea, con un límite de 5 MB P0 (ejecución automática)
Write File Escribe en un archivo; si no existe, lo crea automáticamente junto con los directorios padre P0
Edit Realiza modificaciones parciales en un archivo existente (modo de búsqueda y reemplazo) P0
MultiEdit Realiza múltiples modificaciones por lotes en un archivo existente P0
List Directory Enumera los archivos y subdirectorios de un directorio, mostrando el tamaño de los archivos P0 (bloqueado)
Glob Files Busca archivos según un patrón comodín, con un máximo de 100 resultados P0 (bloqueado)
Search Files Busca dentro del contenido de los archivos mediante expresiones regulares, con un máximo de 250 resultados P0 (bloqueado)

Ejecución de comandos (1 herramienta)

Herramienta Función Nivel de seguridad
Bash Ejecuta comandos de Shell, scripts y operaciones de Git, con un tiempo de espera de 120 segundos y un límite de salida de 50 KB P1 (confirmación la primera vez)

Red (1 herramienta)

Herramienta Función Nivel de seguridad
Web Fetch Obtiene el contenido de una URL y lo convierte en Markdown, con eliminación automática de ruido y caché de 15 minutos P1

Gestión de tareas (1 herramienta)

Herramienta Función Nivel de seguridad
Task Manage Gestiona listas de tareas estructuradas (pendientes/en curso/completadas); se invoca automáticamente en tareas de más de 3 pasos P0 (bloqueado)

Invocación de habilidades (1 herramienta)

Herramienta Función Nivel de seguridad
Skill Invoca un módulo Skill instalado para ejecutar tareas especializadas P1

Interacción con el usuario (1 herramienta)

Herramienta Función Nivel de seguridad
AskUserQuestion El Agent formula preguntas al usuario (hasta 4 preguntas, cada una con entre 2 y 10 opciones) P0 (bloqueado)

Subagentes (3 herramientas)

Herramienta Función Nivel de seguridad
create_local_sub_agent Crea un subagente temporal en el nodo actual, con soporte para anidamiento de 1 a 3 niveles P0
dispatch_sub_agent Asigna una tarea a un subagente ya registrado P0
dispatch_multi_node_agent Asigna una tarea a un nodo remoto a través del Gateway P0

Memoria (4 herramientas)

Herramienta Función Nivel de seguridad
Conversation Search Busca conversaciones anteriores por palabra clave, con filtrado por rango temporal, hasta 10 resultados P0 (bloqueado)
Recent Chats Enumera de 1 a 20 sesiones de conversación recientes, con filtrado por tiempo P0 (bloqueado)
Memory Query Busca en la memoria de usuario almacenada (búsqueda semántica + expansión por grafo) P0 (bloqueado)
Memory Manage Añade, actualiza o elimina memorias de usuario P1

Explicación de los niveles de seguridad

Nivel Significado Comportamiento
P0 Operación segura Se ejecuta automáticamente, sin confirmación del usuario
P1 Requiere confirmación En la primera invocación aparece una confirmación de permisos
P2 Confirmación cada vez Cada invocación requiere la confirmación del usuario
Bloqueado No degradable El nivel de seguridad es fijo y no se puede ajustar

Los administradores pueden ajustar el nivel de permisos de las herramientas no bloqueadas (límite mínimo de la organización) en las Barreras de seguridad, y cada persona puede restringirlo aún más en la seguridad de ejecución de la APP.


Protocolo de herramientas MCP

El MCP (Model Context Protocol) es un protocolo estandarizado de comunicación entre herramientas de IA que permite ampliar el conjunto de herramientas mediante servicios externos.

Tres métodos de transporte

Transporte Descripción Escenario de uso
stdio Comunicación con subprocesos locales (command + args) Herramientas CLI locales
SSE Server-Sent Events (conexión HTTP de larga duración) Servicios remotos
HTTP API HTTP con streaming Servicios remotos

Cinco modos de autenticación

Autenticación Descripción
none Sin autenticación
bearer Bearer Token
basic HTTP Basic Auth
service Autenticación entre servicios
oauth2 Flujo de código de autorización OAuth2 (descubrimiento automático del endpoint well-known)

Interfaz de gestión de MCP

Gestiona los servidores MCP mediante el componente McpManager:

  • Añadir servidor: configura el nombre, el método de transporte, los parámetros de conexión y el método de autenticación
  • Editar/Eliminar: modifica o elimina configuraciones existentes
  • Activar/Desactivar: cambia el estado de disponibilidad del servidor
  • Descubrimiento de herramientas: tras la conexión, descubre automáticamente la lista de herramientas que ofrece el servidor

Aislamiento de seguridad

El subproceso MCP solo transmite las variables de entorno de la lista blanca, para evitar la fuga de información sensible como las API Key.


Herramientas API

Permite analizar y crear herramientas automáticamente a partir de documentos OpenAPI/Swagger:

Función Descripción
Análisis automático Extrae endpoints y el Schema de parámetros a partir de la especificación OpenAPI
Configuración de autenticación Cinco modos de autenticación
Variables de plantilla Sustitución dinámica de {{variable}}
Métodos HTTP GET / POST / PUT / DELETE / PATCH

Directorio de herramientas personalizadas NEW

El sistema incorpora ToolDirectoryManager, que gestiona las herramientas personalizadas ubicadas en el directorio {dataDir}/TOOLs/{orgId}/_custom/ y permite cargarlas sin necesidad de reiniciar la APP.

Estructura de directorios

{dataDir}/TOOLs/{orgId}/_custom/ ├── my-tool-1/ │ ├── metadata.json │ └── ... └── my-tool-2/ ├── metadata.json └── ...
                      
                      {dataDir}/TOOLs/{orgId}/_custom/
├── my-tool-1/
│   ├── metadata.json
│   └── ...
└── my-tool-2/
    ├── metadata.json
    └── ...

                    
Este bloque de código en una ventana flotante

Ejemplo de metadata.json

{ "id": "my-tool-1", "name": "My Custom Tool", "description": "自定义工具说明", "type": "API", "enabled": true, "createdAt": 1776921208476, "updatedAt": 1776921208476 }
                      
                      {
  "id": "my-tool-1",
  "name": "My Custom Tool",
  "description": "自定义工具说明",
  "type": "API",
  "enabled": true,
  "createdAt": 1776921208476,
  "updatedAt": 1776921208476
}

                    
Este bloque de código en una ventana flotante

Mecanismo de carga

  • Método de escaneo: scanAndLoad(orgId)
  • Tipos admitidos: API / MCP
  • Aislamiento por organización: directorios separados por orgId, sin interferencias entre sí
  • Carga en caliente: sin necesidad de reiniciar la APP

Canalización de carga de herramientas

Todas las herramientas se cargan y combinan en el siguiente orden:

① Herramientas integradas (19) ↓ ② Herramientas MCP (descubiertas desde los servidores MCP configurados) ↓ ③ Herramientas API (analizadas desde definiciones OpenAPI) ↓ ④ Herramientas personalizadas (ToolDirectoryManager escanea el directorio _custom/) ↓ ⑤ Herramientas de habilidades (inyecta execute_skill_{id} desde las Skills activadas) ↓ ⑥ Combinación y eliminación de duplicados → lista final de herramientas → se envía al LLM
                      
                      ① Herramientas integradas (19)
    ↓
② Herramientas MCP (descubiertas desde los servidores MCP configurados)
    ↓
③ Herramientas API (analizadas desde definiciones OpenAPI)
    ↓
④ Herramientas personalizadas (ToolDirectoryManager escanea el directorio _custom/)
    ↓
⑤ Herramientas de habilidades (inyecta execute_skill_{id} desde las Skills activadas)
    ↓
⑥ Combinación y eliminación de duplicados → lista final de herramientas → se envía al LLM

                    
Este bloque de código en una ventana flotante

Escenarios de uso de las herramientas más comunes

Ejemplo de solicitud del usuario Herramienta invocada por el Agent Descripción
"Muéstrame el contenido de package.json" Read File Lee y devuelve el contenido del archivo
"Cambia el nombre de la función de getData a fetchData" Edit Búsqueda y reemplazo precisos
"Crea un README.md" Write File Crea un archivo nuevo
"¿Qué archivos .tsx hay en el proyecto?" Glob Files Busca nombres de archivo según un patrón
"¿Dónde se usa useEffect en el código?" Search Files Búsqueda con expresiones regulares en el contenido de los archivos
"Ejecuta npm install por mí" Bash Ejecuta un comando de Shell
"Resume el contenido de esta página web: https://..." Web Fetch Extrae la página web y la convierte en Markdown
"Esta tarea es bastante compleja, primero haz un plan" Task Manage Crea una lista de tareas estructurada
"Busca la conversación de ayer sobre la migración de la base de datos" Conversation Search Busca en conversaciones anteriores
"Recuerda que prefiero usar el tema dark" Memory Manage Almacena en la memoria

Guía de operaciones: añadir una herramienta MCP

  1. Abre la APP → Configuración → Herramientas → área de herramientas MCP
  2. Haz clic en Añadir servidor MCP
  3. Rellena la configuración:
    • Nombre: asigna un nombre identificativo a este servidor MCP
    • Método de transporte: elige stdio / SSE / HTTP
    • Si es stdio: introduce el comando (por ejemplo, npx) y los argumentos (por ejemplo, @anthropic/mcp-server-filesystem)
    • Si es SSE/HTTP: introduce la URL del servidor
  4. Si se requiere autenticación, elige el método de autenticación e introduce las credenciales
  5. Haz clic en Guardar
  6. El sistema se conecta automáticamente al servidor y descubre las herramientas disponibles
  7. Las herramientas descubiertas aparecen en la lista de herramientas, activadas de forma predeterminada

Sugerencia: El subproceso MCP solo transmite las variables de entorno de la lista blanca. Si la herramienta MCP necesita variables de entorno como una API Key, debes declararlas explícitamente en el campo env de la configuración.


Impacto de desactivar una herramienta

Tras desactivar una herramienta, el Agent desconoce por completo su existencia durante la conversación. Esto significa que:

Herramienta desactivada Impacto
Bash El Agent no puede ejecutar ningún comando de Shell (npm, git, compilación, etc.)
Read File / Write File El Agent no puede leer ni crear archivos
Web Fetch El Agent no puede obtener contenido de páginas web; las habilidades de búsqueda también se ven afectadas
Memory Query / Manage El Agent no consultará ni almacenará memoria
Skill El Agent no puede invocar ningún módulo de habilidad
create_local_sub_agent El Agent no puede crear subagentes para descomponer tareas

Recomendación: A menos que exista un motivo de seguridad claro, no se recomienda desactivar las herramientas básicas de operaciones con archivos (Read / Write / Edit / Glob / Search), ya que la capacidad de ejecución de tareas del Agent se vería gravemente limitada.


Preguntas frecuentes

El Agent dice "no puedo realizar operaciones con archivos"

Comprueba si las herramientas de operaciones con archivos (Read File, Write File, Edit, etc.) están desactivadas. En la página de gestión de herramientas, confirma que estas herramientas estén activadas.

Fallo de conexión de la herramienta MCP

  1. Confirma que el comando/URL del servidor MCP sea correcto
  2. Si es el método stdio, confirma que el comando correspondiente esté instalado (por ejemplo, npx requiere un entorno de Node.js)
  3. Comprueba si se necesitan variables de entorno (API Key, etc.)
  4. Consulta los registros de la APP para obtener información detallada del error

El Agent no usa la herramienta que yo esperaba

El Agent elige las herramientas de forma autónoma según las necesidades de la tarea. Si el Agent elige la herramienta "equivocada", puedes indicárselo explícitamente en la conversación: "Por favor, usa la herramienta Bash para ejecutar este comando".


Documentos relacionados