Skip to content

Configuration

Config lives at ~/.airupt/config.yml. You can also pass a custom path:

bash
airupt start --config /path/to/config.yml

Full Example

yaml
assistant:
  name: Airupt
  language: en

llm:
  provider: openai # openai | anthropic | custom
  model: gpt-4o
  api_key: sk-...
  base_url: ~ # only needed for custom/OpenAI-compatible endpoints
  temperature: 0.7
  max_tokens: 4096

channels:
  telegram:
    enabled: true
    bot_token: 123456:ABC-DEF...
    allowed_users:
      - 987654321 # your Telegram user ID; omit to allow all
  whatsapp:
    enabled: false
    phone_number_id: ~
    access_token: ~
  discord:
    enabled: false
    bot_token: ~
    guild_id: ~
    channel_id: ~

memory:
  enabled: true
  auto_extract: true # automatically extract facts from conversation
  max_entries: 1000

skills:
  web_browse: true
  email: false
  calendar: false
  file_manager: true
  custom_skills_dir: ~/my-skills # optional path to custom skill folder

costs:
  daily_limit_usd: 2.00
  monthly_limit_usd: 30.00
  alert_threshold: 0.80 # alert at 80% of limit

scheduled_tasks:
  enabled: true
  timezone: America/New_York

logging:
  level: info # debug | info | warn | error
  file: ~/.airupt/airupt.log

Key Fields

llm

FieldDefaultDescription
provideropenaiLLM backend
modelgpt-4oModel name
temperature0.7Response randomness (0–1)
base_url~Override API base URL

channels

Each channel is independently toggled with enabled: true/false. See Channels for per-channel setup details.

costs

Set daily_limit_usd or monthly_limit_usd to ~ to disable that limit. Airupt will pause and notify you when a limit is reached.

skills

Set any skill to false to disable it. Custom skills in custom_skills_dir are loaded automatically on startup.

Environment Variables

Any config value can be overridden with an environment variable using the pattern AIRUPT_<SECTION>_<KEY>:

bash
AIRUPT_LLM_API_KEY=sk-... airupt start
AIRUPT_COSTS_DAILY_LIMIT_USD=5.00 airupt start

This is useful for Docker and CI deployments where you don't want secrets in files.

Released under the MIT License.