Skip to content

Configuration Reference

Full schema for ~/.airupt/config.yml.

assistant

FieldTypeDefaultDescription
namestringAiruptAssistant name shown in responses
languagestringenResponse language (BCP-47 code)

llm

FieldTypeDefaultDescription
provideropenai | anthropic | customopenaiLLM backend
modelstringgpt-4oModel identifier
api_keystringAPI key (required)
base_urlstring~Override API base URL for custom endpoints
temperaturenumber0.7Sampling temperature, 0–1
max_tokensnumber4096Max tokens per response

channels

channels.telegram

FieldTypeDefaultDescription
enabledbooleanfalseEnable Telegram channel
bot_tokenstringToken from BotFather
allowed_usersnumber[][]Whitelist of Telegram user IDs. Empty = allow all

channels.whatsapp

FieldTypeDefaultDescription
enabledbooleanfalseEnable WhatsApp channel
phone_number_idstringMeta phone number ID
access_tokenstringMeta permanent access token

channels.discord

FieldTypeDefaultDescription
enabledbooleanfalseEnable Discord channel
bot_tokenstringDiscord bot token
guild_idstringServer (guild) ID
channel_idstringChannel ID to listen in

memory

FieldTypeDefaultDescription
enabledbooleantrueEnable memory system
auto_extractbooleantrueAuto-extract facts from conversation
max_entriesnumber1000Soft limit on stored entries

skills

FieldTypeDefaultDescription
web_browsebooleantrueWeb search and browsing
emailbooleanfalseEmail read/send
calendarbooleanfalseCalendar read/write
file_managerbooleanfalseLocal file access
custom_skills_dirstring~Path to custom skills directory
email_providergmail | imapgmailEmail backend
calendar_providergoogle | caldavgoogleCalendar backend
file_manager_rootstring~Restrict file access to this path

costs

FieldTypeDefaultDescription
daily_limit_usdnumber | null~Pause when daily spend exceeds this
monthly_limit_usdnumber | null~Pause when monthly spend exceeds this
alert_thresholdnumber0.80Notify at this fraction of any limit

scheduled_tasks

FieldTypeDefaultDescription
enabledbooleantrueEnable scheduled task runner
timezonestringUTCIANA timezone for task scheduling

logging

FieldTypeDefaultDescription
leveldebug | info | warn | errorinfoLog verbosity
filestring~/.airupt/airupt.logLog file path

Environment Variable Overrides

Any field can be set via environment variable using AIRUPT_<SECTION>_<KEY> in uppercase with underscores:

bash
AIRUPT_LLM_API_KEY=sk-...
AIRUPT_LLM_MODEL=gpt-4o-mini
AIRUPT_COSTS_DAILY_LIMIT_USD=5.00
AIRUPT_CHANNELS_TELEGRAM_BOT_TOKEN=123:abc

Environment variables take precedence over config.yml.

Released under the MIT License.