# ── Required ────────────────────────────────────────────────────────────────── # ── Backend-related (set the ones you plan to use) ──────────────────────────── # Option 1: E2B backend # E2B sandbox access (https://e2b.dev) E2B_API_KEY= # Option 2: Docker on Local (no environment variables) # Option 3: Docker on Cloud REMOTE_DOCKER_POOL_FILE=~/.config/gui-synth-env/tencentcloud/worker_pool.json DOCKER_ENV_IMAGE=# Set this to the image URI printed by your provider `setup_prereqs.py` (`ecr_image_uri` on AWS, `docker_image_uri` on Tencent Cloud) # REMOTE_DOCKER_API_TOKEN=replace-with-random-secret # Option 3A: AWS Provider AWS_PROFILE= # If using AWS SSO, set this to the profile created by `aws configure sso` AWS_REGION= # Required AWS deployment region for OpenComputer resources, for example: us-east-1 AWS_NAME_PREFIX= # Required naming prefix for repo / role / bootstrap paths, for example: opencomputer-dev AWS_CONTROLLER_CIDR= # Required narrow controller ingress CIDR. Usually your current public IP with /32; see computer_env/provision/aws/README.md AWS_WORKER_INSTANCE_TYPE=m6i.2xlarge AWS_WORKER_COUNT=1 AWS_CONTAINERS_PER_WORKER=6 # Recommended starting value; if unset, the code default is 2 # AWS_S3_BUCKET= # Optional explicit bucket name; setup_prereqs.py creates it if missing. Leave empty to derive ${AWS_NAME_PREFIX}-assets- # AWS_VPC_ID= # Optional explicit VPC. Leave empty to use the region's default VPC when one can be resolved # AWS_SUBNET_ID= # Optional explicit subnet. Leave empty to use a default subnet in that VPC when one can be resolved # AWS_ECR_REPOSITORY= # Optional override. If unset, scripts derive ${AWS_NAME_PREFIX}-desktop # AWS_INSTANCE_PROFILE_NAME= # Optional override. If unset, scripts derive ${AWS_NAME_PREFIX}-worker # AWS_BOOTSTRAP_PREFIX= # Optional override. If unset, scripts derive bootstrap/${AWS_NAME_PREFIX} # AWS_DEBUG_ACCESS=SSM # AWS_WORKER_ROOT_VOLUME_SIZE_GB=64 # Option 3B: Docker on Cloud (Tencent Cloud China + TCR Personal) # The runtime backend stays `remote_docker`; these variables only drive provisioning. # Use Tencent Cloud China credentials via environment variables or ~/.tencentcloud/credentials. TENCENTCLOUD_SECRET_ID= TENCENTCLOUD_SECRET_KEY= # TENCENTCLOUD_SESSION_TOKEN= TENCENTCLOUD_REGION=ap-guangzhou TENCENTCLOUD_NAME_PREFIX=opencomputer-dev TENCENTCLOUD_CONTROLLER_CIDR= TENCENTCLOUD_CVM_ZONE=ap-guangzhou-6 TENCENTCLOUD_CVM_IMAGE_ID=img-487zeit5 TENCENTCLOUD_CVM_INSTANCE_TYPE=S5.LARGE8 TENCENTCLOUD_WORKER_COUNT=1 TENCENTCLOUD_CONTAINERS_PER_WORKER=6 # TENCENTCLOUD_CVM_BANDWIDTH_OUT_Mbps=20 # TENCENTCLOUD_CVM_SYSTEM_DISK_SIZE_GB=64 TENCENTCLOUD_VPC_ID=vpc-xxxxxxxx TENCENTCLOUD_SUBNET_ID=subnet-xxxxxxxx # TENCENTCLOUD_COS_BUCKET= # TENCENTCLOUD_COS_PREFIX=bootstrap/opencomputer-dev TENCENTCLOUD_ACCOUNT_UIN=100012345678 # TENCENTCLOUD_TCR_PERSONAL_SERVER=ccr.ccs.tencentyun.com # TENCENTCLOUD_TCR_PERSONAL_NAMESPACE=oc-123456-opencomputer-dev # TENCENTCLOUD_TCR_PERSONAL_REPOSITORY=desktop TENCENTCLOUD_TCR_PERSONAL_PASSWORD=replace-with-strong-password # ── Agent API keys (set the ones you plan to use) ──────────────────────────── # OpenAI — used for LLM judge (default judge model: gpt-5.4) OPENAI_API_KEY= # Anthropic — required for Claude agents # ANTHROPIC_API_KEY= # Kimi — required for Kimi agents such as kimi-k2.6 # KIMI_API_KEY= # Google AI Studio — required for gemini-3-flash / gemini-2.5-computer-use agents # google_ai_studio_api_key= # ── Optional overrides ─────────────────────────────────────────────────────── # Custom OpenAI-compatible endpoint (e.g. local vLLM, proxy, or cluster) # OPENAI_BASE_URL=http://127.0.0.1:8001/v1 # Azure OpenAI (for `azure-*` chatgpt agents). Endpoint defaults to the # resource baked into agents/chatgpt_agent.py; override here if needed. # azure_api_key= # AZURE_OPENAI_ENDPOINT=https://YOUR-RESOURCE.cognitiveservices.azure.com/ # Custom E2B domain (if self-hosting) # E2B_DOMAIN= # Default backend for smoke/smoke_loop.py. Default: claude, accept codex as well # SMOKE_BACKEND=claude # ── Smoke pipeline overrides (smoke/smoke_loop.py) ─────────────────────────── # GUI agent model used to execute smoke tasks inside the sandbox. # Override with --model on the CLI, or set it here. Default: kimi-k2.6 # SMOKE_MODEL=kimi-k2.6 # Maximum agent steps per smoke task run. Default: 100 # SMOKE_MAX_ITERATIONS=100 # Maximum repair rounds (judge → comparator → repair) per task. Default: 3 # SMOKE_MAX_ROUNDS=3 # Sandbox lifetime in seconds for each smoke task. Default: 3600 # SMOKE_SANDBOX_TIMEOUT=3600 # Cap on the number of smoke tasks generated/run per app. Default: 20 # SMOKE_MAX_TASKS=20 # ── AWS (only needed for S3-based env file storage) ────────────────────────── # aws_access_key= # aws_secret_key= # aws_region=us-east-1 # ── Database (only needed for result persistence) ──────────────────────────── # POSTGRES_CONNECTION_STRING=postgresql://user:pass@host:5432/dbname