Skip to content

Configuration

All configuration is done through environment variables in .env and per-agent config.yml files.

Environment Variables

Required

VariableDescriptionExample
OPENROUTER_API_KEYOpenRouter API key (also used for memory embeddings)sk-or-v1-...

That’s the only required variable when using OpenRouter. Everything else has defaults.

LLM Providers

VariableProvider
OPENROUTER_API_KEYOpenRouter (access to all models)
ANTHROPIC_API_KEYAnthropic (Claude)
OPENAI_API_KEYOpenAI (GPT)
GEMINI_API_KEYGoogle (Gemini)
XAI_API_KEYxAI (Grok)
GROQ_API_KEYGroq
MISTRAL_API_KEYMistral
CEREBRAS_API_KEYCerebras
AZURE_OPENAI_API_KEYAzure OpenAI
HF_TOKENHugging Face

Services

VariableDefaultDescription
API_PORT8000API server port
DASHBOARD_PORT3000Dashboard port
REDIS_PORT6379Redis port
POSTGRES_PORT5432PostgreSQL port
MCPO_PORT8001MCP proxy port

Paths

VariableDefaultDescription
PIPELINES_DIR./pipelinesPipeline YAML directory
AGENTS_DIR./agentsAgent persona directory
DATA_DIR./dataGeneral data directory

Security

VariableDescription
SECRET_ENCRYPTION_KEYAES-256-GCM key for encrypting secrets at rest
ENGINE_INTERNAL_TOKENShared secret protecting the plaintext secrets /env endpoint. Set this in production.
MCPO_API_KEYAPI key protecting the mcpo proxy

Slack

VariableDescription
SLACK_CHANNEL_IDDefault channel for pipeline threads
SLACK_{AGENT}_BOT_TOKENPer-agent Slack bot token
SLACK_{AGENT}_APP_TOKENPer-agent Slack app token
SKY_SLACK_USER_IDHuman user ID for DM notifications

GitHub

VariableDescription
GITHUB_TOKENPersonal access token for git operations
GITHUB_APP_IDGitHub App ID
GITHUB_APP_CLIENT_IDGitHub App client ID
GITHUB_APP_WEBHOOK_SECRETWebhook signature verification
GITHUB_APP_PRIVATE_KEY_PATHPath to App private key PEM
GITHUB_APP_NAMEGitHub App name

Engine

VariableDefaultDescription
MOCK_RUNNERfalseUse mock agent runner for testing
USE_CONTAINER_RUNNERtrueUse Docker containers for agents
LOG_LEVELINFOLogging level
VITE_API_URLhttp://192.168.8.234:8000API URL baked into dashboard build

Agent Configuration (config.yml)

Per-agent settings in agents/<id>/config.yml:

# LLM Model
model: anthropic/claude-sonnet-4
thinking_model: anthropic/claude-sonnet-4
thinking_level: 'off'          # off, low, medium, high

# Slack
thread_mode: passive            # passive or active

# Pulse (autonomous mode)
pulse_enabled: false
pulse_interval_minutes: 30
pulse_offset_minutes: 3
pulse_max_consecutive_skips: 5
pulse_container_timeout_ms: 120000
pulse_columns:
  - Backlog
  - Ready
pulse_transitions_to:
  - planning
  - ready
  - in_progress
pulse_blackouts:
  - label: Nighttime
    start_time: '23:00'
    end_time: '07:00'
    type: recurring
pulse_one_offs: []

All agent config can also be edited through the dashboard Settings and Agent pages.

Global Settings (Dashboard)

The Settings page in the dashboard provides UI access to:

  • Default working model — model for pipeline steps and chat
  • Default thinking model — model for extended reasoning
  • Pulse interval — global pulse frequency
  • Provider API keys — add/update provider credentials
  • Custom providers — configure OpenAI-compatible endpoints