Agent OS uses a single JSON config file at ~/.agent-os/config.json (or under AGENT_OS_HOME). Created by sulala onboard. Holds API keys and channel credentials; env vars override for flexibility.
Path: getAgentOsHome() + "/config.json" → AGENT_OS_HOME or ~/.agent-os.
| Key | Description |
|---|---|
provider | (Deprecated) Legacy: "openrouter" | "openai". Prefer per-provider keys below. |
api_key | (Deprecated) Legacy API key. Prefer per-provider keys. |
openai_api_key | OpenAI API key. |
anthropic_api_key | Anthropic (Claude) API key. |
google_api_key | Google (Gemini) API key. |
openrouter_api_key | OpenRouter API key. |
telegram_bot_token | Telegram bot token (BotFather). |
telegram_default_agent_id | Default agent for Telegram chats. |
slack_bot_token | Slack bot token (xoxb-...). |
slack_signing_secret | Slack signing secret (verify requests). |
slack_default_agent_id | Default agent for Slack. |
discord_bot_token | Discord bot token. |
discord_public_key | Discord application public key (hex, verify interactions). |
discord_default_agent_id | Default agent for Discord. |
signal_bridge_url | Signal bridge base URL (e.g. http://localhost:8080). |
signal_default_agent_id | Default agent for Signal. |
viber_auth_token | Viber bot auth token. |
viber_default_agent_id | Default agent for Viber. |
Values are read at runtime; write via dashboard Settings or by editing the file (and restart if needed).
Env vars override config file values where applicable.
| Variable | Default | Description |
|---|---|---|
PORT | 3010 | HTTP server port. |
HOST | 127.0.0.1 | Bind address. |
| Variable | Default | Description |
|---|---|---|
AGENT_OS_HOME | ~/.agent-os | Base directory for config, agents, skills, DB, etc. |
AGENT_OS_AGENTS_DIR | ~/.agent-os/agents | Agent JSON files (used when not using SQLite for agents). |
AGENT_OS_SKILLS_DIR | ~/.agent-os/skills | Installed skills directory. |
AGENT_OS_SEED_AGENTS_DIR | cwd/data/agents | Seed directory for default agents. |
AGENT_OS_SEED_SKILLS_DIR | cwd/data/skills | Seed directory for system skills. |
AGENT_OS_TEMPLATES_DIR | cwd/data/templates | Templates for agent workspace (IDENTITY.md, etc.). |
AGENT_MEMORY_DB_PATH | ~/.agent-os/database.db | SQLite database (agents, tasks, conversations, memory, etc.). |
Set in config or env. Used by the runtime to call the configured model.
| Variable | Description |
|---|---|
OPENAI_API_KEY | OpenAI API key. |
OPENROUTER_API_KEY | OpenRouter API key. |
ANTHROPIC_API_KEY | Anthropic API key. |
GOOGLE_API_KEY | Google (Gemini) API key. |
Agent config stores model (and optional provider). The runtime selects the appropriate key from config/env.
Channel tokens and default agents can be set in config.json (dashboard Settings) or, where supported, by env. See config keys above for Telegram, Slack, Discord, Signal, Viber.
Per-skill key/value storage is in ~/.agent-os/configs/<skill_id>.json (safe skill id from name). Used for API keys and options required by skills. Read/written via GET/PUT /api/skills/:id/config and by the skill loader at runtime.
Each agent has:
["memory", "weather"]). Memory is usually included by default.0 9 * * * for daily at 9).Stored in SQLite (default) or in ~/.agent-os/agents/<id>.json when not using DB.
~/.agent-os/config.json directly or use Settings in the dashboard.PORT, OPENAI_API_KEY). Restart the server after changes.