Vollständige Referenz für config.toml. Alle Abschnitte und ihre Standardwerte.
[provider]
Key
Type
Default
Description
kind
string
"google_genai"
Anbietertyp: google_genai, openai_compatible oder anthropic
api_key
string
—
API-Schlüssel für den Anbieter (erforderlich)
gateway_token
string
null
Optionales Cloudflare-AI-Gateway-Token, gesendet als cf-aig-authorization
base_url
string
—
API-Basis-URL (erforderlich für openai_compatible, nicht verwendet für native Anbieter)
[provider.models]
Key
Type
Default
Description
primary
string
(provider default)
Standardmodell für allgemeine Anfragen
fast
string
(same as primary)
Modell für einfache/schnelle Anfragen
smart
string
(same as primary)
Modell für komplexe Reasoning-Aufgaben
Modell-Standardwerte
Anbieterbezogene Standardwerte: google_genai → primary=gemini-3-flash-preview, fast=gemini-2.5-flash-lite, smart=gemini-3-pro-preview. openai_compatible → alle Stufen standardmäßig openai/gpt-5-mini. anthropic → alle Stufen standardmäßig claude-sonnet-4-5. Wenn alle drei Stufen zum gleichen Modell aufgelöst werden, wird Auto-Routing deaktiviert. Siehe Modell-Routing.
[telegram]
Key
Type
Default
Description
bot_token
string
—
Telegram-Bot-Token von @BotFather (erforderlich)
allowed_user_ids
array
[]
Numerische Telegram-Benutzer-IDs, die chatten dürfen. Leer = keine Einschränkung.
[slack]
Erfordert das slack-Feature-Flag zur Kompilierzeit. Siehe Slack für die vollständige Einrichtungsanleitung.
Key
Type
Default
Description
enabled
bool
false
Slack-Channel aktivieren
app_token
string
—
Slack App-Level Token für Socket Mode (xapp-...)
bot_token
string
—
Slack Bot Token für Web API (xoxb-...)
allowed_user_ids
array
[]
Slack-Benutzer-IDs, die interagieren dürfen. Leer = keine Einschränkung.
use_threads
bool
true
Standardmäßig in Threads antworten
[discord]
Erfordert das discord-Feature-Flag zur Kompilierzeit. Siehe Discord für die vollständige Einrichtungsanleitung.
Key
Type
Default
Description
bot_token
string
—
Discord-Bot-Token vom Developer Portal
allowed_user_ids
array
[]
Discord-Benutzer-IDs, die interagieren dürfen. Leer = keine Einschränkung.
guild_id
integer
null
Optionale Guild/Server-ID, um den Bot auf einen einzelnen Server zu beschränken
[state]
Key
Type
Default
Description
db_path
string
"aidaemon.db"
Pfad zur SQLite-Datenbankdatei
working_memory_cap
integer
50
Maximale Nachrichten pro Sitzung im Arbeitsspeicher
consolidation_interval_hours
integer
6
Stunden zwischen Speicherkonsolidierungsläufen
max_facts
integer
100
Maximale Anzahl von Fakten, die in den System-Prompt eingefügt werden
daily_token_budget
integer
null
Maximale Tokens (Eingabe+Ausgabe) pro Tag. Null = unbegrenzt. Wird um Mitternacht UTC zurückgesetzt.
encryption_key
string
null
SQLCipher-Verschlüsselungsschlüssel (erfordert encryption-Feature). AES-256 im Ruhezustand.
[terminal]
Key
Type
Default
Description
allowed_prefixes
array
(see below)
Befehlspräfixe, die ohne Benutzerbestätigung automatisch genehmigt werden
initial_timeout_secs
integer
30
Zeitlimit in Sekunden für die initiale Befehlsausführung
max_output_chars
integer
4000
Befehlsausgabe über diese Länge hinaus abschneiden
permission_mode
string
"default"
Risiko-Berechtigungsmodus: default, cautious oder yolo. Siehe Befehlsrisiko.
Verzeichnisse, aus denen der Agent Dateien senden darf
max_file_size_mb
integer
10
Maximale Dateigröße für Übertragungen in MB
retention_hours
integer
24
Stunden, die empfangene Dateien vor der Bereinigung aufbewahrt werden
Secrets-Verwaltung
Sensible Konfigurationswerte unterstützen neben Klartext zwei Auflösungsmethoden sowie einen optionalen Nur-Umgebungsmodus:
OS-Schlüsselbund
Setze jedes geheime Feld auf "keychain", um es aus dem OS-Schlüsselbund aufzulösen (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"
Speichere Werte mit dem keychain-CLI-Befehl vor dem ersten Start:
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
Sicherheit
Der set-Befehl fragt den Wert interaktiv mit Bestätigung ab und hält Geheimnisse aus deiner Shell-History heraus.
Umgebungsvariablen
Verwende ${VAR_NAME}-Syntax überall in Konfigurationswerten:
Wenn du den OS-Schlüsselbund nicht verwenden möchtest, setze diese Laufzeit-Umgebungsvariablen:
bash
# Deaktiviere OS-Schlüsselbundspeicher und nutze env-dateibasierte Secrets
export AIDAEMON_NO_KEYCHAIN=1
# Optional: spezifischen Pfad zur env-Datei setzen (Standard: ./.env)
export AIDAEMON_ENV_FILE=/absoluter/pfad/zur/.env
In diesem Modus liest aidaemon Secrets aus der gewählten env-Datei (oder aus Prozess-Umgebungsvariablen, wenn keine env-Datei existiert) und schreibt Secret-Updates zurück in diese env-Datei — einschließlich OAuth Access/Refresh Token Rotation.
Sicherheit im Nur-Umgebungsmodus
Halte die env-Datei privat (chmod 600) und außerhalb der Versionskontrolle.
Unterstützte Schlüsselbund-Felder
Felder, die "keychain" unterstützen: 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 und http_auth.*-Profilfelder.