Outils
aidaemon fournit un ensemble d'outils intégrés que le LLM peut appeler de manière autonome pendant la boucle agentique.
Trait Tool
Tous les outils implémentent la même interface :
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>;
}Outils Intégrés
| Outil | Description | Config |
|---|---|---|
terminal | Exécuter des commandes shell avec flux d'approbation | [terminal] |
system_info | Interroger le nom d'hôte, l'OS, le temps de fonctionnement, la mémoire | Toujours activé |
remember_fact | Stocker des faits à long terme dans SQLite | Toujours activé |
manage_config | Lire/mettre à jour/restaurer config.toml | Toujours activé |
web_search | Rechercher sur le web (DuckDuckGo ou Brave) | [search] |
web_fetch | Récupérer et extraire du contenu lisible depuis des URLs | Toujours activé |
browser | Automatisation Chrome avec sessions de connexion persistantes | [browser] enabled=true |
send_file | Envoyer des fichiers à l'utilisateur via Telegram ou Slack | [files] |
spawn_agent | Lancer des sous-agents récursifs | [subagents] |
cli_agent | Déléguer à des outils CLI externes | [cli_agents] |
scheduler | Créer, gérer et exécuter des tâches planifiées | [scheduler] |
command_risk | Évaluation de risque à 4 niveaux pour les commandes terminal | [terminal] |
health_probe | Gérer et exécuter des sondes de santé | [health] |
manage_skills | Ajouter, supprimer, parcourir, installer des compétences dynamiques | [skills] |
manage_people | Carnet de contacts personnel avec anniversaires, préférences, relations | Toujours enregistré |
| Outils MCP | Découverts dynamiquement via les serveurs MCP | [mcp.*] |
Budget Dynamique
L'agent dispose également d'un pseudo-outil intégré
request_more_iterations qui étend le budget de la boucle agentique de 10 itérations (jusqu'à un plafond maximum) lorsque le budget actuel est insuffisant pour terminer une tâche.Ordre d'Enregistrement des Outils
Les outils sont enregistrés lors de l'initialisation dans cet ordre :
- SystemInfoTool
- TerminalTool (avec canal d'approbation)
- RememberFactTool
- ConfigManagerTool
- WebFetchTool
- WebSearchTool
- BrowserTool (si activé)
- SendFileTool (si files.enabled)
- CliAgentTool (si activé)
- SchedulerTool (si scheduler.enabled)
- HealthProbeTool (si health.enabled)
- ManageSkillsTool
- ManagePeopleTool (toujours enregistré, contrôlé en interne)
- Outils MCP (si configurés)