ENยทESยทDEยทPTยทFR
โŒ˜K

Tools

aidaemon provides a set of built-in tools the LLM can call autonomously during the agentic loop.

Tool Trait

All tools implement the same 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>;
}

Built-in Tools

ToolDescriptionConfig
terminalExecute shell commands with approval flow[terminal]
system_infoQuery hostname, OS, uptime, memoryAlways enabled
remember_factStore long-term facts in SQLiteAlways enabled
manage_configRead/update/restore config.tomlAlways enabled
web_searchSearch the web (DuckDuckGo or Brave)[search]
web_fetchFetch and extract readable content from URLsAlways enabled
browserChrome automation with persistent login sessions[browser] enabled=true
send_fileSend files to the user via Telegram or Slack[files]
spawn_agentSpawn recursive sub-agents[subagents]
cli_agentDelegate to external CLI tools[cli_agents]
schedulerCreate, manage, and run scheduled tasks[scheduler]
command_risk4-level risk assessment for terminal commands[terminal]
health_probeManage and run health probes[health]
manage_skillsAdd, remove, browse, install dynamic skills[skills]
manage_peoplePersonal contact book with birthdays, preferences, relationshipsAlways registered
MCP toolsDynamically discovered via MCP servers[mcp.*]
Dynamic Budget
The agent also has a built-in request_more_iterations pseudo-tool that extends the agentic loop budget by 10 iterations (up to a hard cap) when the current budget is insufficient to complete a task.

Tool Registration Order

Tools are registered during initialization in this order:

  1. SystemInfoTool
  2. TerminalTool (with approval channel)
  3. RememberFactTool
  4. ConfigManagerTool
  5. WebFetchTool
  6. WebSearchTool
  7. BrowserTool (if enabled)
  8. SendFileTool (if files.enabled)
  9. CliAgentTool (if enabled)
  10. SchedulerTool (if scheduler.enabled)
  11. HealthProbeTool (if health.enabled)
  12. ManageSkillsTool
  13. ManagePeopleTool (always registered, gated internally)
  14. MCP tools (if configured)