Platform

Agent Configuration

Config file and environment variables for Sulala Agent OS — server, AI, channels, and paths.

Config file

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.

Config file keys

KeyDescription
provider(Deprecated) Legacy: "openrouter" | "openai". Prefer per-provider keys below.
api_key(Deprecated) Legacy API key. Prefer per-provider keys.
openai_api_keyOpenAI API key.
anthropic_api_keyAnthropic (Claude) API key.
google_api_keyGoogle (Gemini) API key.
openrouter_api_keyOpenRouter API key.
telegram_bot_tokenTelegram bot token (BotFather).
telegram_default_agent_idDefault agent for Telegram chats.
slack_bot_tokenSlack bot token (xoxb-...).
slack_signing_secretSlack signing secret (verify requests).
slack_default_agent_idDefault agent for Slack.
discord_bot_tokenDiscord bot token.
discord_public_keyDiscord application public key (hex, verify interactions).
discord_default_agent_idDefault agent for Discord.
signal_bridge_urlSignal bridge base URL (e.g. http://localhost:8080).
signal_default_agent_idDefault agent for Signal.
viber_auth_tokenViber bot auth token.
viber_default_agent_idDefault agent for Viber.

Values are read at runtime; write via dashboard Settings or by editing the file (and restart if needed).

Environment variables

Env vars override config file values where applicable.

Server

VariableDefaultDescription
PORT3010HTTP server port.
HOST127.0.0.1Bind address.

Paths (Agent OS home and dirs)

VariableDefaultDescription
AGENT_OS_HOME~/.agent-osBase directory for config, agents, skills, DB, etc.
AGENT_OS_AGENTS_DIR~/.agent-os/agentsAgent JSON files (used when not using SQLite for agents).
AGENT_OS_SKILLS_DIR~/.agent-os/skillsInstalled skills directory.
AGENT_OS_SEED_AGENTS_DIRcwd/data/agentsSeed directory for default agents.
AGENT_OS_SEED_SKILLS_DIRcwd/data/skillsSeed directory for system skills.
AGENT_OS_TEMPLATES_DIRcwd/data/templatesTemplates for agent workspace (IDENTITY.md, etc.).
AGENT_MEMORY_DB_PATH~/.agent-os/database.dbSQLite database (agents, tasks, conversations, memory, etc.).

AI (LLM)

Set in config or env. Used by the runtime to call the configured model.

VariableDescription
OPENAI_API_KEYOpenAI API key.
OPENROUTER_API_KEYOpenRouter API key.
ANTHROPIC_API_KEYAnthropic API key.
GOOGLE_API_KEYGoogle (Gemini) API key.

Agent config stores model (and optional provider). The runtime selects the appropriate key from config/env.

Channels

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.

Skill config

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.

Agent config (per-agent)

Each agent has:

  • id, name, model (required)
  • description, personality (optional text)
  • skills — Array of skill ids (e.g. ["memory", "weather"]). Memory is usually included by default.
  • tools — Optional allowlist of tool names; if omitted, agent gets all tools from its skills + built-in allowlist.
  • schedule — Optional cron expression (e.g. 0 9 * * * for daily at 9).
  • schedule_input — Optional prompt used when the scheduler runs this agent.
  • schedule_enabled — Boolean; default true.
  • limits — Optional (e.g. max_turns, max_tokens, max_runtime).
  • avatar — Optional avatar filename.
  • user_created — Set by backend.

Stored in SQLite (default) or in ~/.agent-os/agents/<id>.json when not using DB.

Disabling or overriding

  • Config file: Edit ~/.agent-os/config.json directly or use Settings in the dashboard.
  • Env: Override any key that the code reads from env (e.g. PORT, OPENAI_API_KEY). Restart the server after changes.