Ferramentas
O aidaemon fornece um conjunto de ferramentas integradas que o LLM pode chamar de forma autônoma durante o loop agêntico.
Trait Tool
Todas as ferramentas implementam a mesma 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>;
}Ferramentas Integradas
| Ferramenta | Descrição | Config |
|---|---|---|
terminal | Executar comandos shell com fluxo de aprovação | [terminal] |
system_info | Consultar hostname, SO, uptime, memória | Sempre habilitado |
remember_fact | Armazenar fatos de longo prazo no SQLite | Sempre habilitado |
manage_config | Ler/atualizar/restaurar config.toml | Sempre habilitado |
web_search | Buscar na web (DuckDuckGo ou Brave) | [search] |
web_fetch | Buscar e extrair conteúdo legível de URLs | Sempre habilitado |
browser | Automação Chrome com sessões de login persistentes | [browser] enabled=true |
send_file | Enviar arquivos ao usuário via Telegram ou Slack | [files] |
spawn_agent | Criar sub-agentes recursivos | [subagents] |
cli_agent | Delegar para ferramentas CLI externas | [cli_agents] |
scheduler | Criar, gerenciar e executar tarefas agendadas | [scheduler] |
command_risk | Avaliação de risco em 4 níveis para comandos do terminal | [terminal] |
health_probe | Gerenciar e executar sondas de saúde | [health] |
manage_skills | Adicionar, remover, navegar, instalar skills dinâmicas | [skills] |
manage_people | Agenda de contatos pessoal com aniversários, preferências, relacionamentos | Sempre registrado |
| Ferramentas MCP | Descobertas dinamicamente via servidores MCP | [mcp.*] |
Orçamento Dinâmico
O agente também possui uma pseudo-ferramenta integrada
request_more_iterations que estende o orçamento do loop agêntico em 10 iterações (até um limite máximo) quando o orçamento atual é insuficiente para concluir uma tarefa.Ordem de Registro das Ferramentas
As ferramentas são registradas durante a inicialização nesta ordem:
- SystemInfoTool
- TerminalTool (com canal de aprovação)
- RememberFactTool
- ConfigManagerTool
- WebFetchTool
- WebSearchTool
- BrowserTool (se habilitado)
- SendFileTool (se files.enabled)
- CliAgentTool (se habilitado)
- SchedulerTool (se scheduler.enabled)
- HealthProbeTool (se health.enabled)
- ManageSkillsTool
- ManagePeopleTool (sempre registrado, controlado internamente)
- Ferramentas MCP (se configuradas)