Skip to main content
Configuration in Helios is managed through environment variables and task.toml files.

Environment Variables

LLM Providers

# Either of these works
export GEMINI_API_KEY=your-api-key
export GOOGLE_API_KEY=your-api-key

Cloud Providers

# Daytona
export DAYTONA_API_KEY=your-api-key

Logging

# Log level (DEBUG, INFO, WARNING, ERROR)
export CUA_LOG_LEVEL=INFO

Using .env Files

Create a .env file in your project root:
# .env
GEMINI_API_KEY=your-gemini-key
ANTHROPIC_API_KEY=your-anthropic-key
OPENAI_API_KEY=your-openai-key
AWS_ACCESS_KEY_ID=your-aws-key
AWS_SECRET_ACCESS_KEY=your-aws-secret
AWS_REGION=us-east-1
DAYTONA_API_KEY=your-daytona-key
CUA_LOG_LEVEL=INFO
Add .env to your .gitignore to avoid committing secrets.

Default Values

SettingDefaultDescription
Modelgemini/gemini-2.5-computer-use-preview-10-2025Default LLM model
ProviderdockerDefault environment provider
Agent timeout120sDefault agent execution timeout
Verifier timeout120sDefault verification timeout
CPUs1Default CPU allocation
Memory2048 MBDefault memory allocation
Storage10240 MBDefault storage allocation
Build timeout600sDefault Docker build timeout
Concurrency2Default batch concurrency

Task Configuration (task.toml)

Complete Reference

version = "1.0"

[metadata]
author_name = "Your Name"
author_email = "you@example.com"
difficulty = "easy"              # easy, medium, hard
category = "programming"
tags = ["tag1", "tag2"]

[verifier]
timeout_sec = 120.0              # Verification timeout

[agent]
timeout_sec = 120.0              # Agent execution timeout

[environment]
docker_image = "ubuntu:22.04"    # Base Docker image
gui = false                       # Enable GUI mode
cpus = 1                          # CPU cores
memory_mb = 2048                  # Memory in MB
storage_mb = 10240               # Storage in MB
build_timeout_sec = 600.0        # Docker build timeout
setup_commands = [               # Pre-execution commands
    "apt-get update",
    "apt-get install -y curl"
]

Minimal Configuration

version = "1.0"

[agent]
timeout_sec = 120.0

[environment]
docker_image = "ubuntu:22.04"

GUI Task Configuration

version = "1.0"

[agent]
timeout_sec = 300.0

[environment]
docker_image = "cua-desktop"
gui = true
cpus = 2
memory_mb = 4096

Custom Dockerfile Configuration

version = "1.0"

[agent]
timeout_sec = 180.0

[environment]
docker_image = ""                 # Empty = use custom Dockerfile
gui = false
build_timeout_sec = 900.0        # Longer timeout for complex builds

Configuration Precedence

  1. CLI flags - Highest priority
  2. Environment variables
  3. task.toml - Task-specific settings
  4. Defaults - Built-in defaults
Example:
# CLI flag overrides task.toml model setting
helios tasks/my-task -m claude-sonnet-4-20250514

Logging

Log Levels

LevelDescription
DEBUGDetailed debugging information
INFOGeneral operational messages
WARNINGWarning messages
ERRORError messages only

Enabling Debug Logs

export CUA_LOG_LEVEL=DEBUG
helios tasks/my-task
Debug logs include:
  • API requests and responses
  • Tool execution details
  • Container lifecycle events
  • Gateway routing decisions

Resource Tuning

For Headless Tasks

[environment]
docker_image = "ubuntu:22.04"
cpus = 1
memory_mb = 2048

For GUI Tasks

[environment]
docker_image = "cua-desktop"
gui = true
cpus = 2
memory_mb = 4096

For Resource-Intensive Tasks

[environment]
docker_image = "ubuntu:22.04"
cpus = 4
memory_mb = 8192
storage_mb = 20480

Timeout Guidelines

Task TypeRecommended Timeout
Simple file operations60-120s
Script execution120-180s
Package installation180-300s
GUI automation300-600s
Complex builds600-900s

Next Steps