Referência completa do config.toml. Todas as seções e seus valores padrão.
[provider]
Key
Type
Default
Description
kind
string
"google_genai"
Tipo de provedor: google_genai, openai_compatible ou anthropic
api_key
string
—
Chave de API do provedor (obrigatório)
gateway_token
string
null
Token opcional do Cloudflare AI Gateway enviado como cf-aig-authorization
base_url
string
—
URL base da API (obrigatório para openai_compatible, não usado para provedores nativos)
[provider.models]
Key
Type
Default
Description
primary
string
(provider default)
Modelo padrão para consultas gerais
fast
string
(same as primary)
Modelo para consultas simples/rápidas
smart
string
(same as primary)
Modelo para tarefas de raciocínio complexo
Padrões de Modelo
Padrões cientes do provedor: google_genai → primary=gemini-3-flash-preview, fast=gemini-2.5-flash-lite, smart=gemini-3-pro-preview. openai_compatible → todas as camadas padrão para openai/gpt-5-mini. anthropic → todas as camadas padrão para claude-sonnet-4-5. Quando todas as três camadas resolvem para o mesmo modelo, o roteamento automático é desabilitado. Veja Roteamento de Modelos.
[telegram]
Key
Type
Default
Description
bot_token
string
—
Token do bot Telegram do @BotFather (obrigatório)
allowed_user_ids
array
[]
IDs numéricos de usuários do Telegram permitidos para conversar. Vazio = sem restrição.
[slack]
Requer a feature flag slack no momento da compilação. Veja Slack para o guia completo de configuração.
Key
Type
Default
Description
enabled
bool
false
Habilitar o canal Slack
app_token
string
—
Token de Nível de App do Slack para Socket Mode (xapp-...)
bot_token
string
—
Token de Bot do Slack para Web API (xoxb-...)
allowed_user_ids
array
[]
IDs de usuários do Slack permitidos para interagir. Vazio = sem restrição.
use_threads
bool
true
Responder em threads por padrão
[discord]
Requer a feature flag discord no momento da compilação. Veja Discord para o guia completo de configuração.
Key
Type
Default
Description
bot_token
string
—
Token do bot Discord do Portal de Desenvolvedores
allowed_user_ids
array
[]
IDs de usuários do Discord permitidos para interagir. Vazio = sem restrição.
guild_id
integer
null
ID opcional de guild/servidor para restringir o bot a um único servidor
[state]
Key
Type
Default
Description
db_path
string
"aidaemon.db"
Caminho para o arquivo de banco de dados SQLite
working_memory_cap
integer
50
Máximo de mensagens por sessão mantidas na memória
consolidation_interval_hours
integer
6
Horas entre execuções de consolidação de memória
max_facts
integer
100
Número máximo de fatos injetados no prompt do sistema
daily_token_budget
integer
null
Máximo de tokens totais (entrada+saída) por dia. Null = ilimitado. Reseta à meia-noite UTC.
encryption_key
string
null
Chave de criptografia SQLCipher (requer recurso encryption). AES-256 em repouso.
[terminal]
Key
Type
Default
Description
allowed_prefixes
array
(see below)
Prefixos de comando aprovados automaticamente sem confirmação do usuário
initial_timeout_secs
integer
30
Timeout em segundos para execução inicial do comando
max_output_chars
integer
4000
Truncar saída do comando além deste comprimento
permission_mode
string
"default"
Modo de permissão de risco: default, cautious ou yolo. Veja Risco de Comando.
Comandos contendo ;|&&||$() ou crases sempre requerem aprovação, mesmo que o prefixo esteja na lista permitida.
[daemon]
Key
Type
Default
Description
health_port
integer
8080
Porta para o endpoint HTTP de verificação de saúde
health_bind
string
"127.0.0.1"
Endereço de bind. Use "0.0.0.0" para acesso externo.
[triggers.email]
Key
Type
Default
Description
host
string
—
Hostname do servidor IMAP (ex.: imap.gmail.com)
port
integer
—
Porta IMAP (tipicamente 993 para TLS)
username
string
—
Nome de usuário da conta de e-mail
password
string
—
Senha da conta de e-mail ou senha específica de aplicativo
folder
string
"INBOX"
Pasta IMAP para monitorar
[mcp.<name>]
Key
Type
Default
Description
command
string
—
Caminho ou nome do executável para o servidor MCP
args
array
[]
Argumentos de linha de comando
[browser]
Key
Type
Default
Description
enabled
bool
false
Habilitar ferramenta de automação de navegador
headless
bool
true
Executar Chrome sem janela visível
screenshot_width
integer
1280
Largura do viewport do navegador em pixels
screenshot_height
integer
720
Altura do viewport do navegador em pixels
user_data_dir
string
~/.aidaemon/chrome-profile
Diretório do perfil Chrome para sessões persistentes
profile
string
Default
Nome do perfil Chrome dentro do user_data_dir
remote_debugging_port
integer
null
Conectar ao Chrome existente nesta porta (avançado)
[skills]
Key
Type
Default
Description
dir
string
"skills"
Diretório contendo arquivos markdown de skills
enabled
bool
true
Habilitar o sistema de skills
registries
array
[]
URLs de manifestos JSON de registro de skills para navegação/instalação de skills
[subagents]
Key
Type
Default
Description
enabled
bool
true
Permitir que o agente crie sub-agentes
max_depth
integer
3
Nível máximo de aninhamento para recursão de sub-agentes
max_iterations
integer
10
Máximo de passos do loop agêntico por invocação de sub-agente
max_response_chars
integer
8000
Truncar respostas de sub-agentes além deste comprimento
timeout_secs
integer
300
Timeout de execução de sub-agente em segundos
[cli_agents]
Key
Type
Default
Description
enabled
bool
false
Habilitar ferramenta de delegação de agente CLI
timeout_secs
integer
600
Timeout global para execução de agente CLI
max_output_chars
integer
16000
Comprimento máximo global de saída dos agentes CLI
[cli_agents.tools.<name>]
Key
Type
Default
Description
command
string
—
Comando a executar
args
array
[]
Argumentos padrão passados ao comando
description
string
—
Descrição da ferramenta mostrada ao LLM
timeout_secs
integer
null
Sobrescrever timeout global para esta ferramenta
max_output_chars
integer
null
Sobrescrever saída máxima global para esta ferramenta
[search]
Key
Type
Default
Description
backend
string
"duckduckgo"
Backend de busca: duckduckgo (sem chave necessária) ou brave
api_key
string
""
Chave de API para busca Brave (suporta "keychain")
[scheduler]
Key
Type
Default
Description
enabled
bool
true
Habilitar o sistema de tarefas agendadas
tick_interval_secs
integer
30
Frequência com que o agendador verifica tarefas pendentes
[[scheduler.tasks]]
Tarefas agendadas pré-definidas carregadas da configuração na inicialização:
Key
Type
Default
Description
name
string
—
Rótulo legível da tarefa
schedule
string
—
Linguagem natural ou expressão cron (veja Agendador)
prompt
string
—
O que o agente deve fazer quando a tarefa disparar
oneshot
bool
false
Disparar uma vez e depois auto-excluir
trusted
bool
false
Executar com autonomia total (sem aprovação de terminal necessária)
[files]
Key
Type
Default
Description
enabled
bool
true
Habilitar ferramentas de transferência de arquivo (envio/recebimento)
inbox_dir
string
"~/.aidaemon/files/inbox"
Diretório para arquivos recebidos do Telegram
outbox_dirs
array
["~"]
Diretórios dos quais o agente tem permissão para enviar arquivos
max_file_size_mb
integer
10
Tamanho máximo de arquivo para transferências em MB
retention_hours
integer
24
Horas para reter arquivos recebidos antes da limpeza
Gerenciamento de Segredos
Valores sensíveis de configuração suportam dois métodos de resolução além de texto simples, mais um modo opcional somente ambiente:
Chaveiro do SO
Defina qualquer campo secreto como "keychain" para resolvê-lo a partir do chaveiro do SO (macOS Keychain, Linux secret-service):
toml
[provider]
api_key = "keychain" # Resolved from keychain entry "api_key"
[telegram]
bot_token = "keychain" # Resolved from keychain entry "bot_token"
Armazene valores com o comando CLI keychain antes da primeira execução:
bash
# Store a secret (prompts interactively)
aidaemon keychain set api_key
aidaemon keychain set bot_token
# Verify a stored secret (shows masked value)
aidaemon keychain get api_key
# Remove a secret
aidaemon keychain delete api_key
Segurança
O comando set solicita o valor interativamente com confirmação, mantendo segredos fora do histórico do seu shell.
Variáveis de Ambiente
Use a sintaxe ${VAR_NAME} em qualquer lugar nos valores de configuração:
Se você preferir não usar o chaveiro do SO, defina estas variáveis de ambiente em tempo de execução:
bash
# Desativa o armazenamento no chaveiro do SO e usa segredos com base em arquivo env
export AIDAEMON_NO_KEYCHAIN=1
# Opcional: definir um caminho específico para o arquivo env (padrão: ./.env)
export AIDAEMON_ENV_FILE=/caminho/absoluto/para/.env
Neste modo, o aidaemon lê segredos do arquivo env selecionado (ou de variáveis de ambiente do processo quando não existir arquivo env) e persiste atualizações de segredos nesse arquivo env — incluindo a rotação de tokens OAuth access/refresh.
Segurança no modo somente ambiente
Mantenha o arquivo env privado (chmod 600) e fora do controle de versão.
Campos de Chaveiro Suportados
Campos que suportam "keychain": provider.api_key, provider.gateway_token, telegram.bot_token, slack.app_token, slack.bot_token, discord.bot_token, triggers.email.password, state.encryption_key, search.api_key e campos de perfil http_auth.*.