Herramientas
aidaemon proporciona un conjunto de herramientas integradas que el LLM puede invocar de forma autonoma durante el bucle agentico.
Trait Tool
Todas las herramientas implementan la misma interfaz:
rust
trait Tool {
fn name(&self) -> &str;
fn description(&self) -> &str;
fn schema(&self) -> Value; // OpenAI function-calling format
async fn call(&self, args: &str) -> Result<String>;
}Herramientas Integradas
| Herramienta | Descripcion | Config |
|---|---|---|
terminal | Ejecutar comandos de shell con flujo de aprobacion | [terminal] |
system_info | Consultar hostname, SO, uptime, memoria | Siempre habilitada |
remember_fact | Almacenar hechos a largo plazo en SQLite | Siempre habilitada |
manage_config | Leer/actualizar/restaurar config.toml | Siempre habilitada |
web_search | Buscar en la web (DuckDuckGo o Brave) | [search] |
web_fetch | Obtener y extraer contenido legible de URLs | Siempre habilitada |
browser | Automatizacion de Chrome con sesiones de login persistentes | [browser] enabled=true |
send_file | Enviar archivos al usuario via Telegram o Slack | [files] |
spawn_agent | Crear sub-agentes recursivos | [subagents] |
cli_agent | Delegar a herramientas CLI externas | [cli_agents] |
scheduler | Crear, gestionar y ejecutar tareas programadas | [scheduler] |
command_risk | Evaluacion de riesgo de 4 niveles para comandos de terminal | [terminal] |
health_probe | Gestionar y ejecutar sondas de salud | [health] |
manage_skills | Agregar, eliminar, explorar e instalar skills dinamicos | [skills] |
manage_people | Agenda de contactos personal con cumpleanos, preferencias y relaciones | Siempre registrada |
| Herramientas MCP | Descubiertas dinamicamente via servidores MCP | [mcp.*] |
Presupuesto Dinamico
El agente tambien tiene una pseudo-herramienta integrada
request_more_iterations que extiende el presupuesto del bucle agentico en 10 iteraciones (hasta un limite maximo) cuando el presupuesto actual es insuficiente para completar una tarea.Orden de Registro de Herramientas
Las herramientas se registran durante la inicializacion en este orden:
- SystemInfoTool
- TerminalTool (con canal de aprobacion)
- RememberFactTool
- ConfigManagerTool
- WebFetchTool
- WebSearchTool
- BrowserTool (si esta habilitado)
- SendFileTool (si files.enabled)
- CliAgentTool (si esta habilitado)
- SchedulerTool (si scheduler.enabled)
- HealthProbeTool (si health.enabled)
- ManageSkillsTool
- ManagePeopleTool (siempre registrada, controlada internamente)
- Herramientas MCP (si estan configuradas)