{ "agents": { "claude": { "name": "Claude Code", "description": "Anthropic's CLI coding agent", "url": "https://claude.ai", "install": "curl -fsSL https://claude.ai/install.sh | bash", "launch": "claude", "env": { "OPENROUTER_API_KEY": "${OPENROUTER_API_KEY}", "ANTHROPIC_BASE_URL": "https://openrouter.ai/api", "ANTHROPIC_AUTH_TOKEN": "${OPENROUTER_API_KEY}", "ANTHROPIC_API_KEY": "", "CLAUDE_CODE_SKIP_ONBOARDING": "1", "CLAUDE_CODE_ENABLE_TELEMETRY": "0" }, "config_files": { "~/.claude/settings.json": { "theme": "dark", "permissions": { "defaultMode": "bypassPermissions", "dangerouslySkipPermissions": true } }, "~/.claude.json": { "hasCompletedOnboarding": true, "bypassPermissionsModeAccepted": true } } }, "openclaw": { "name": "OpenClaw", "description": "Personal AI assistant with multi-channel gateway + TUI", "url": "https://github.com/OpenRouterTeam/openclaw", "install": "bun install -g openclaw", "launch": "openclaw tui", "pre_launch": "nohup openclaw gateway > /tmp/openclaw-gateway.log 2>&1 &", "env": { "OPENROUTER_API_KEY": "${OPENROUTER_API_KEY}", "ANTHROPIC_API_KEY": "${OPENROUTER_API_KEY}", "ANTHROPIC_BASE_URL": "https://openrouter.ai/api" }, "interactive_prompts": { "model_id": { "prompt": "Enter model ID", "default": "openrouter/auto" } } }, "nanoclaw": { "name": "NanoClaw", "description": "WhatsApp-based AI agent", "url": "https://github.com/gavrielc/nanoclaw", "install": "git clone https://github.com/gavrielc/nanoclaw.git ~/nanoclaw && cd ~/nanoclaw && npm install && npm run build", "launch": "cd ~/nanoclaw && npm run dev", "deps": [ "tsx" ], "env": { "OPENROUTER_API_KEY": "${OPENROUTER_API_KEY}", "ANTHROPIC_API_KEY": "${OPENROUTER_API_KEY}", "ANTHROPIC_BASE_URL": "https://openrouter.ai/api" }, "dotenv": { "path": "~/nanoclaw/.env", "values": { "ANTHROPIC_API_KEY": "${OPENROUTER_API_KEY}" } }, "notes": "Requires WhatsApp QR code scan for authentication" }, "aider": { "name": "Aider", "description": "AI pair programming in the terminal", "url": "https://github.com/paul-gauthier/aider", "install": "pip install aider-chat", "launch": "aider --model openrouter/${MODEL_ID}", "env": { "OPENROUTER_API_KEY": "${OPENROUTER_API_KEY}" }, "interactive_prompts": { "model_id": { "prompt": "Enter model ID", "default": "openrouter/auto" } }, "notes": "Natively supports OpenRouter via OPENROUTER_API_KEY and --model openrouter/... flag" }, "goose": { "name": "Goose", "description": "Block's open-source AI coding agent", "url": "https://github.com/block/goose", "install": "CONFIGURE=false curl -fsSL https://github.com/block/goose/releases/latest/download/download_cli.sh | bash", "launch": "goose", "env": { "GOOSE_PROVIDER": "openrouter", "OPENROUTER_API_KEY": "${OPENROUTER_API_KEY}" }, "notes": "Model-agnostic agent by Block (formerly Square), supports OpenRouter as a provider" }, "codex": { "name": "Codex CLI", "description": "OpenAI's open-source coding agent", "url": "https://github.com/openai/codex", "install": "npm install -g @openai/codex", "launch": "codex", "env": { "OPENAI_API_KEY": "${OPENROUTER_API_KEY}", "OPENAI_BASE_URL": "https://openrouter.ai/api/v1", "OPENROUTER_API_KEY": "${OPENROUTER_API_KEY}" }, "notes": "Works with OpenRouter via OPENAI_BASE_URL override pointing to openrouter.ai/api/v1" }, "interpreter": { "name": "Open Interpreter", "description": "Natural language interface for computer control", "url": "https://github.com/OpenInterpreter/open-interpreter", "install": "pip install open-interpreter", "launch": "interpreter", "env": { "OPENAI_API_KEY": "${OPENROUTER_API_KEY}", "OPENAI_BASE_URL": "https://openrouter.ai/api/v1", "OPENROUTER_API_KEY": "${OPENROUTER_API_KEY}" }, "notes": "Works with OpenRouter via OPENAI_BASE_URL override" }, "gemini": { "name": "Gemini CLI", "description": "Google's open-source coding agent", "url": "https://github.com/google-gemini/gemini-cli", "install": "npm install -g @google/gemini-cli", "launch": "gemini", "env": { "GEMINI_API_KEY": "${OPENROUTER_API_KEY}", "OPENAI_API_KEY": "${OPENROUTER_API_KEY}", "OPENAI_BASE_URL": "https://openrouter.ai/api/v1", "OPENROUTER_API_KEY": "${OPENROUTER_API_KEY}" }, "notes": "Works with OpenRouter via OPENAI_BASE_URL override and GEMINI_API_KEY" }, "amazonq": { "name": "Amazon Q CLI", "description": "AWS's AI coding assistant CLI", "url": "https://aws.amazon.com/q/developer/", "install": "curl -fsSL https://desktop-release.q.us-east-1.amazonaws.com/latest/amazon-q-cli-install.sh | bash", "launch": "q chat", "env": { "OPENAI_API_KEY": "${OPENROUTER_API_KEY}", "OPENAI_BASE_URL": "https://openrouter.ai/api/v1", "OPENROUTER_API_KEY": "${OPENROUTER_API_KEY}" }, "notes": "Works with OpenRouter via OPENAI_BASE_URL override" }, "cline": { "name": "Cline", "description": "Open-source AI coding agent for the terminal", "url": "https://github.com/cline/cline", "install": "npm install -g cline", "launch": "cline", "env": { "OPENAI_API_KEY": "${OPENROUTER_API_KEY}", "OPENAI_BASE_URL": "https://openrouter.ai/api/v1", "OPENROUTER_API_KEY": "${OPENROUTER_API_KEY}" }, "notes": "Works with OpenRouter via OPENAI_BASE_URL override" }, "gptme": { "name": "gptme", "description": "Personal AI agent in the terminal with tools for code, terminal, browser, and more", "url": "https://github.com/gptme/gptme", "install": "pip install gptme", "launch": "gptme -m openrouter/${MODEL_ID}", "env": { "OPENROUTER_API_KEY": "${OPENROUTER_API_KEY}" }, "interactive_prompts": { "model_id": { "prompt": "Enter model ID", "default": "openrouter/auto" } }, "notes": "Natively supports OpenRouter via OPENROUTER_API_KEY and -m openrouter/... flag" }, "opencode": { "name": "OpenCode", "description": "AI coding agent built for the terminal with TUI", "url": "https://github.com/opencode-ai/opencode", "install": "curl -fsSL https://raw.githubusercontent.com/opencode-ai/opencode/refs/heads/main/install | bash", "launch": "opencode", "env": { "OPENROUTER_API_KEY": "${OPENROUTER_API_KEY}" }, "notes": "Natively supports OpenRouter via OPENROUTER_API_KEY env var. Go-based TUI using Bubble Tea." }, "plandex": { "name": "Plandex", "description": "Open source AI coding agent for complex tasks", "url": "https://github.com/plandex-ai/plandex", "install": "curl -sL https://plandex.ai/install.sh | bash", "launch": "plandex", "env": { "OPENROUTER_API_KEY": "${OPENROUTER_API_KEY}" }, "notes": "Natively supports OpenRouter via OPENROUTER_API_KEY env var. Go-based CLI with sandbox and version control for AI changes." }, "kilocode": { "name": "Kilo Code", "description": "All-in-one agentic engineering platform with CLI", "url": "https://github.com/Kilo-Org/kilocode", "install": "npm install -g @kilocode/cli", "launch": "kilocode", "env": { "KILO_PROVIDER_TYPE": "openrouter", "KILO_OPEN_ROUTER_API_KEY": "${OPENROUTER_API_KEY}", "OPENROUTER_API_KEY": "${OPENROUTER_API_KEY}" }, "notes": "Natively supports OpenRouter as a provider via KILO_PROVIDER_TYPE=openrouter. CLI installable via npm as @kilocode/cli, invocable as 'kilocode' or 'kilo'." }, "continue": { "name": "Continue", "description": "Open-source AI coding assistant with CLI TUI and headless modes", "url": "https://github.com/continuedev/continue", "install": "npm install -g @continuedev/cli", "launch": "cn", "env": { "OPENROUTER_API_KEY": "${OPENROUTER_API_KEY}" }, "config_files": { "~/.continue/config.json": { "models": [ { "title": "OpenRouter", "provider": "openrouter", "model": "openrouter/auto", "apiBase": "https://openrouter.ai/api/v1", "apiKey": "${OPENROUTER_API_KEY}" } ] } }, "notes": "Natively supports OpenRouter via config.json. CLI supports TUI mode (interactive) and headless mode (-p flag). 31K+ GitHub stars." } }, "clouds": { "sprite": { "name": "Sprite", "description": "Sprites.dev managed VMs with CLI", "url": "https://sprites.dev", "type": "cli", "auth": "sprite login", "provision_method": "sprite create", "exec_method": "sprite exec", "interactive_method": "sprite exec -tty" }, "hetzner": { "name": "Hetzner Cloud", "description": "Hetzner Cloud servers via REST API", "url": "https://www.hetzner.com/cloud/", "type": "api", "auth": "HCLOUD_TOKEN", "provision_method": "POST /v1/servers with cloud-init", "exec_method": "ssh root@IP", "interactive_method": "ssh -t root@IP", "defaults": { "server_type": "cx23", "location": "fsn1", "image": "ubuntu-24.04" } }, "digitalocean": { "name": "DigitalOcean", "description": "DigitalOcean Droplets via REST API", "url": "https://www.digitalocean.com/", "type": "api", "auth": "DO_API_TOKEN", "provision_method": "POST /v2/droplets with user_data", "exec_method": "ssh root@IP", "interactive_method": "ssh -t root@IP", "defaults": { "size": "s-2vcpu-2gb", "region": "nyc3", "image": "ubuntu-24-04-x64" } }, "vultr": { "name": "Vultr", "description": "Vultr Cloud Compute instances via REST API", "url": "https://www.vultr.com/", "type": "api", "auth": "VULTR_API_KEY", "provision_method": "POST /v2/instances with user_data (base64)", "exec_method": "ssh root@IP", "interactive_method": "ssh -t root@IP", "defaults": { "plan": "vc2-1c-2gb", "region": "ewr", "os_id": 2284 } }, "linode": { "name": "Linode (Akamai)", "description": "Linode instances via REST API", "url": "https://www.linode.com/", "type": "api", "auth": "LINODE_API_TOKEN", "provision_method": "POST /v4/linode/instances with metadata.user_data", "exec_method": "ssh root@IP", "interactive_method": "ssh -t root@IP", "defaults": { "type": "g6-standard-1", "region": "us-east", "image": "linode/ubuntu24.04" } }, "aws-lightsail": { "name": "AWS Lightsail", "description": "AWS Lightsail instances via AWS CLI", "url": "https://aws.amazon.com/lightsail/", "type": "cli", "auth": "aws configure (AWS credentials)", "provision_method": "aws lightsail create-instances with --user-data", "exec_method": "ssh ubuntu@IP", "interactive_method": "ssh -t ubuntu@IP", "defaults": { "bundle": "medium_3_0", "region": "us-east-1", "blueprint": "ubuntu_24_04" }, "notes": "Uses 'ubuntu' user instead of 'root'. Requires AWS CLI installed and configured." }, "gcp": { "name": "GCP Compute Engine", "description": "Google Cloud Compute Engine instances via gcloud CLI", "url": "https://cloud.google.com/compute", "type": "cli", "auth": "gcloud auth login", "provision_method": "gcloud compute instances create with --metadata startup-script", "exec_method": "ssh user@IP", "interactive_method": "ssh -t user@IP", "defaults": { "machine_type": "e2-medium", "zone": "us-central1-a", "image_family": "ubuntu-2404-lts-amd64" }, "notes": "Uses current username for SSH. Requires gcloud CLI installed and configured." }, "github-codespaces": { "name": "GitHub Codespaces", "description": "GitHub Codespaces development environments via gh CLI", "url": "https://github.com/features/codespaces", "type": "cli", "auth": "gh auth login", "provision_method": "gh codespace create", "exec_method": "gh codespace ssh", "interactive_method": "gh codespace ssh (PTY)", "defaults": { "machine": "basicLinux32gb", "repo": "OpenRouterTeam/spawn", "idle_timeout": "30m" }, "notes": "Pay-as-you-go starting at $0.18/hr (2 core, 4GB). Requires gh CLI (GitHub CLI) installed and authenticated. Free tier available for personal accounts." }, "e2b": { "name": "E2B", "description": "E2B sandboxed cloud containers via CLI/SDK", "url": "https://e2b.dev", "type": "sandbox", "auth": "E2B_API_KEY", "provision_method": "e2b sandbox create", "exec_method": "e2b sandbox exec", "interactive_method": "e2b sandbox exec (PTY)", "defaults": { "template": "base" }, "notes": "No SSH \u2014 uses E2B CLI for exec. Sandboxes start in ~150ms. Requires npm install -g @e2b/cli." }, "modal": { "name": "Modal", "description": "Modal sandboxed containers via Python SDK", "url": "https://modal.com", "type": "sandbox", "auth": "modal setup", "provision_method": "modal.Sandbox.create() via Python SDK", "exec_method": "sandbox.exec() via Python SDK", "interactive_method": "sandbox.exec(pty=True)", "defaults": { "image": "debian_slim" }, "notes": "No SSH \u2014 uses Modal Python SDK for exec. Sub-second cold starts. Requires pip install modal." }, "fly": { "name": "Fly.io", "description": "Fly.io Machines via REST API and flyctl CLI", "url": "https://fly.io", "type": "api+cli", "auth": "FLY_API_TOKEN", "provision_method": "POST /v1/apps + POST /v1/apps/{app}/machines", "exec_method": "fly ssh console -C", "interactive_method": "fly ssh console", "defaults": { "region": "iad", "vm_size": "shared-cpu-1x", "vm_memory": 1024, "image": "ubuntu:24.04" }, "notes": "Uses Machines API for provisioning and flyctl SSH for exec. Docker-based, pay-per-second pricing. Requires flyctl CLI." }, "civo": { "name": "Civo", "description": "Civo cloud-native instances via REST API", "url": "https://www.civo.com/", "type": "api", "auth": "CIVO_API_TOKEN", "provision_method": "POST /v2/instances with script", "exec_method": "ssh root@IP", "interactive_method": "ssh -t root@IP", "defaults": { "size": "g4s.small", "region": "lon1", "image": "ubuntu-jammy" }, "notes": "Fast provisioning (~45s), free data transfer, hourly billing. NVMe storage." }, "scaleway": { "name": "Scaleway", "description": "Scaleway Cloud instances via REST API", "url": "https://www.scaleway.com/", "type": "api", "auth": "SCW_SECRET_KEY", "provision_method": "POST /instance/v1/zones/{zone}/servers", "exec_method": "ssh root@IP", "interactive_method": "ssh -t root@IP", "defaults": { "commercial_type": "DEV1-S", "zone": "fr-par-1", "image": "Ubuntu 24.04" }, "notes": "European cloud provider. Requires SCW_SECRET_KEY and optionally SCW_DEFAULT_PROJECT_ID." }, "daytona": { "name": "Daytona", "description": "Daytona sandboxed environments for AI code execution", "url": "https://www.daytona.io/", "type": "sandbox", "auth": "DAYTONA_API_KEY", "provision_method": "daytona create", "exec_method": "daytona exec", "interactive_method": "daytona ssh", "defaults": { "cpu": 2, "memory": 2048, "disk": 5 }, "notes": "Sub-90ms sandbox creation. True SSH support via daytona ssh. Requires DAYTONA_API_KEY from https://app.daytona.io." }, "upcloud": { "name": "UpCloud", "description": "UpCloud cloud servers via REST API with MaxIOPS storage", "url": "https://upcloud.com/", "type": "api", "auth": "UPCLOUD_USERNAME + UPCLOUD_PASSWORD", "provision_method": "POST /1.3/server with login_user SSH keys", "exec_method": "ssh root@IP", "interactive_method": "ssh -t root@IP", "defaults": { "plan": "1xCPU-2GB", "zone": "de-fra1", "image": "Ubuntu Server 24.04 LTS" }, "notes": "European cloud provider with MaxIOPS storage. Uses HTTP Basic Auth (username:password). Requires UPCLOUD_USERNAME and UPCLOUD_PASSWORD." }, "binarylane": { "name": "BinaryLane", "description": "BinaryLane Australian cloud servers via REST API", "url": "https://www.binarylane.com.au/", "type": "api", "auth": "BINARYLANE_API_TOKEN", "provision_method": "POST /v2/servers with user_data", "exec_method": "ssh root@IP", "interactive_method": "ssh -t root@IP", "defaults": { "size": "std-1vcpu", "region": "syd", "image": "ubuntu-24.04" }, "notes": "Australian cloud provider. Hourly billing prorated from monthly rates. API documentation at api.binarylane.com.au/reference/" }, "latitude": { "name": "Latitude.sh", "description": "Latitude.sh bare metal and VM servers via REST API", "url": "https://www.latitude.sh/", "type": "api", "auth": "LATITUDE_API_KEY", "provision_method": "POST /servers with SSH keys", "exec_method": "ssh root@IP", "interactive_method": "ssh -t root@IP", "defaults": { "plan": "vm.tiny", "site": "DAL2", "os": "ubuntu_24_04_x64_lts" }, "notes": "Bare metal and VM cloud provider with global locations. Hourly billing. VMs from $0.07/hr. Requires LATITUDE_API_KEY from https://www.latitude.sh/dashboard" }, "ovh": { "name": "OVHcloud", "description": "OVHcloud Public Cloud instances via REST API", "url": "https://www.ovhcloud.com/", "type": "api", "auth": "OVH_APPLICATION_KEY + OVH_APPLICATION_SECRET + OVH_CONSUMER_KEY + OVH_PROJECT_ID", "provision_method": "POST /cloud/project/{projectId}/instance with signature auth", "exec_method": "ssh ubuntu@IP", "interactive_method": "ssh -t ubuntu@IP", "defaults": { "flavor": "d2-2", "region": "GRA7", "image": "Ubuntu 24.04" }, "notes": "Major European cloud provider. Uses signature-based auth (Application Key + Secret + Consumer Key). Requires OVH_PROJECT_ID for Public Cloud. Create credentials at https://api.ovh.com/createToken/" }, "kamatera": { "name": "Kamatera", "description": "Kamatera cloud servers via REST API with 25+ global datacenters", "url": "https://www.kamatera.com/", "type": "api", "auth": "KAMATERA_API_CLIENT_ID + KAMATERA_API_SECRET", "provision_method": "POST /service/server with script-file init", "exec_method": "ssh root@IP", "interactive_method": "ssh -t root@IP", "defaults": { "cpu": "2B", "ram": 2048, "disk": "size=20", "datacenter": "EU", "image": "ubuntu_server_24.04_64-bit" }, "notes": "Global cloud provider with 25+ datacenters. Hourly billing. Uses AuthClientId/AuthSecret headers for API auth. Async operations via command queue. Requires KAMATERA_API_CLIENT_ID and KAMATERA_API_SECRET from https://console.kamatera.com/keys" }, "cherry": { "name": "Cherry Servers", "description": "Cherry Servers bare metal and cloud VPS via REST API", "url": "https://www.cherryservers.com/", "type": "api", "auth": "CHERRY_AUTH_TOKEN", "provision_method": "POST /v1/projects/{project_id}/servers with ssh_keys", "exec_method": "ssh root@IP", "interactive_method": "ssh -t root@IP", "defaults": { "plan": "cloud_vps_1", "region": "eu_nord_1", "image": "Ubuntu 24.04 64bit" }, "notes": "European cloud provider with bare metal and VPS. Hourly billing. Full root access. Requires CHERRY_AUTH_TOKEN from https://portal.cherryservers.com/" }, "oracle": { "name": "Oracle Cloud Infrastructure", "description": "Oracle Cloud compute instances via OCI CLI", "url": "https://cloud.oracle.com/", "type": "cli", "auth": "oci setup config (OCI CLI config with API keys)", "provision_method": "oci compute instance launch with --user-data", "exec_method": "ssh ubuntu@IP", "interactive_method": "ssh -t ubuntu@IP", "defaults": { "shape": "VM.Standard.E2.1.Micro", "image": "Ubuntu 24.04" }, "notes": "Has a generous Always Free tier (VM.Standard.E2.1.Micro, VM.Standard.A1.Flex). Uses 'ubuntu' user for SSH. Requires OCI CLI installed (pip install oci-cli) and configured. Set OCI_COMPARTMENT_ID for the target compartment." }, "koyeb": { "name": "Koyeb", "description": "Koyeb serverless container platform via CLI", "url": "https://www.koyeb.com/", "type": "cli", "auth": "KOYEB_TOKEN", "provision_method": "koyeb service create with docker image", "exec_method": "koyeb instances exec", "interactive_method": "koyeb instances exec (PTY)", "defaults": { "instance_type": "nano", "region": "was" }, "notes": "Serverless container platform. Free tier available (no credit card). Per-second billing. Requires koyeb CLI." }, "northflank": { "name": "Northflank", "description": "Northflank container platform via CLI with exec access", "url": "https://northflank.com/", "type": "cli", "auth": "NORTHFLANK_TOKEN", "provision_method": "northflank create service deployment with Docker image", "exec_method": "northflank exec --command", "interactive_method": "northflank exec (PTY)", "defaults": { "cpu": "0.5", "memory": 1024, "image": "ubuntu:24.04" }, "notes": "Container platform with shell access. Free tier: 2 services. Pay-per-second pricing. Requires API token from https://northflank.com/account/settings/api/tokens" }, "railway": { "name": "Railway", "description": "Railway serverless container platform via CLI", "url": "https://railway.app/", "type": "cli", "auth": "RAILWAY_TOKEN", "provision_method": "railway init + railway up with Dockerfile", "exec_method": "railway run", "interactive_method": "railway shell", "defaults": { "region": "us-west1" }, "notes": "Developer-focused container platform. Per-second billing. Fast provisioning. Requires Railway CLI (npm install -g @railway/cli)." }, "render": { "name": "Render", "description": "Render cloud platform for full-stack applications with CLI and SSH access", "url": "https://render.com/", "type": "cli", "auth": "RENDER_API_KEY", "provision_method": "Render API POST /v1/services with Docker image", "exec_method": "render ssh --service", "interactive_method": "render ssh (PTY)", "defaults": { "plan": "starter", "region": "oregon", "runtime": "docker" }, "notes": "Developer-first platform with free Hobby plan (100GB bandwidth, 500 build minutes). Requires API key from https://dashboard.render.com/u/settings/api-keys. SSH not available on free tier." }, "ionos": { "name": "IONOS Cloud", "description": "IONOS Cloud servers via REST API with minute-based billing", "url": "https://cloud.ionos.com/", "type": "api", "auth": "IONOS_USERNAME + IONOS_PASSWORD", "provision_method": "POST /cloudapi/v6/datacenters/{id}/servers with volumes", "exec_method": "ssh root@IP", "interactive_method": "ssh -t root@IP", "defaults": { "cores": 2, "ram": 2048, "disk_size": 20, "location": "us/las" }, "notes": "Budget European cloud provider with minute-based billing starting at $2/month. Requires IONOS_USERNAME (email) and IONOS_PASSWORD (API key) from https://dcd.ionos.com/ \u2192 Management \u2192 Users & Keys. Datacenters are created automatically if needed." }, "exoscale": { "name": "Exoscale", "description": "Exoscale European cloud compute via CLI with per-second billing", "url": "https://www.exoscale.com/", "type": "cli", "auth": "EXOSCALE_API_KEY + EXOSCALE_API_SECRET", "provision_method": "exo compute instance create with --cloud-init", "exec_method": "ssh ubuntu@IP", "interactive_method": "ssh -t ubuntu@IP", "defaults": { "instance_type": "standard.small", "zone": "ch-gva-2", "template": "Linux Ubuntu 24.04 LTS 64-bit" }, "notes": "European cloud provider with per-second billing. Multiple zones available: ch-gva-2, ch-dk-2, de-fra-1, de-muc-1, at-vie-1, at-vie-2, bg-sof-1. Uses 'ubuntu' user for SSH. Requires exo CLI (auto-installed). Create API keys at https://portal.exoscale.com/iam/api-keys" }, "contabo": { "name": "Contabo", "description": "Contabo budget VPS cloud via REST API with OAuth", "url": "https://contabo.com/", "type": "api", "auth": "CONTABO_CLIENT_ID + CONTABO_CLIENT_SECRET + CONTABO_API_USER + CONTABO_API_PASSWORD", "provision_method": "POST /v1/compute/instances with userData (cloud-init)", "exec_method": "ssh root@IP", "interactive_method": "ssh -t root@IP", "defaults": { "product": "V45", "region": "EU", "image": "ubuntu-24.04" }, "notes": "Budget European VPS provider starting at $4.95/mo. Uses OAuth2 password grant (client credentials + user credentials). Requires 4 values from https://my.contabo.com/api/details: Client ID, Client Secret, API User, API Password." }, "hostinger": { "name": "Hostinger", "description": "Hostinger VPS hosting via REST API with cloud-init support", "url": "https://www.hostinger.com/", "type": "api", "auth": "HOSTINGER_API_KEY", "provision_method": "POST /vps/v1/virtual-machines with cloud_init", "exec_method": "ssh root@IP", "interactive_method": "ssh -t root@IP", "defaults": { "plan": "kvm1", "location": "eu-central", "os_template": "ubuntu-24.04" }, "notes": "Budget VPS provider with cloud-init pre-installed. Starting at $4.95/mo. Requires HOSTINGER_API_KEY from hPanel \u2192 Profile \u2192 Account Information \u2192 API. API docs at developers.hostinger.com" }, "netcup": { "name": "Netcup", "description": "Netcup VPS cloud via REST API with cloud-init support", "url": "https://www.netcup.com/", "type": "api", "auth": "NETCUP_CUSTOMER_NUMBER + NETCUP_API_KEY + NETCUP_API_PASSWORD", "provision_method": "POST SCP API createVServer with userdata (cloud-init)", "exec_method": "ssh root@IP", "interactive_method": "ssh -t root@IP", "defaults": { "product": "VPS 200 G10", "datacenter": "Nuremberg", "image": "ubuntu-24.04" }, "notes": "German budget VPS provider starting at \u20ac3.86/mo. Session-based REST API launched Oct 2025. Requires NETCUP_CUSTOMER_NUMBER, NETCUP_API_KEY, and NETCUP_API_PASSWORD from https://ccp.netcup.net/ \u2192 Settings \u2192 API" }, "local": { "name": "Local Machine", "description": "Run agents directly on your local machine without cloud provisioning", "url": "https://github.com/OpenRouterTeam/spawn", "type": "local", "auth": "none", "provision_method": "none (local execution)", "exec_method": "bash -c", "interactive_method": "exec", "notes": "No cloud provisioning needed. Installs agents and injects OpenRouter credentials locally. Useful for local development and testing." }, "ramnode": { "name": "RamNode", "description": "RamNode budget VPS cloud via OpenStack API", "url": "https://www.ramnode.com/", "type": "api", "auth": "RAMNODE_USERNAME + RAMNODE_PASSWORD + RAMNODE_PROJECT_ID", "provision_method": "OpenStack Compute API POST /servers with user_data", "exec_method": "ssh root@IP", "interactive_method": "ssh -t root@IP", "defaults": { "flavor": "1GB", "image": "Ubuntu 24.04" }, "notes": "Budget VPS provider with OpenStack API. Hourly billing starting at $0.006/hr (~$4.38/mo). Full OpenStack compatibility. Get credentials from https://manage.ramnode.com/ \u2192 Cloud \u2192 API Users. Requires RAMNODE_USERNAME, RAMNODE_PASSWORD, and RAMNODE_PROJECT_ID." } }, "matrix": { "sprite/claude": "implemented", "sprite/openclaw": "implemented", "sprite/nanoclaw": "implemented", "hetzner/claude": "implemented", "hetzner/openclaw": "implemented", "hetzner/nanoclaw": "implemented", "digitalocean/claude": "implemented", "digitalocean/openclaw": "implemented", "digitalocean/nanoclaw": "implemented", "sprite/aider": "implemented", "hetzner/aider": "implemented", "digitalocean/aider": "implemented", "sprite/goose": "implemented", "hetzner/goose": "implemented", "digitalocean/goose": "implemented", "vultr/claude": "implemented", "vultr/openclaw": "implemented", "vultr/nanoclaw": "implemented", "vultr/aider": "implemented", "vultr/goose": "implemented", "sprite/codex": "implemented", "hetzner/codex": "implemented", "digitalocean/codex": "implemented", "vultr/codex": "implemented", "linode/claude": "implemented", "linode/openclaw": "implemented", "linode/nanoclaw": "implemented", "linode/aider": "implemented", "linode/goose": "implemented", "linode/codex": "implemented", "sprite/interpreter": "implemented", "hetzner/interpreter": "implemented", "digitalocean/interpreter": "implemented", "vultr/interpreter": "implemented", "linode/interpreter": "implemented", "aws-lightsail/claude": "implemented", "aws-lightsail/openclaw": "implemented", "aws-lightsail/nanoclaw": "implemented", "aws-lightsail/aider": "implemented", "aws-lightsail/goose": "implemented", "aws-lightsail/codex": "implemented", "aws-lightsail/interpreter": "implemented", "sprite/gemini": "implemented", "hetzner/gemini": "implemented", "digitalocean/gemini": "implemented", "vultr/gemini": "implemented", "linode/gemini": "implemented", "aws-lightsail/gemini": "implemented", "sprite/amazonq": "implemented", "hetzner/amazonq": "implemented", "digitalocean/amazonq": "implemented", "vultr/amazonq": "implemented", "linode/amazonq": "implemented", "aws-lightsail/amazonq": "implemented", "sprite/cline": "implemented", "hetzner/cline": "implemented", "digitalocean/cline": "implemented", "vultr/cline": "implemented", "linode/cline": "implemented", "aws-lightsail/cline": "implemented", "gcp/claude": "implemented", "gcp/openclaw": "implemented", "gcp/nanoclaw": "implemented", "gcp/aider": "implemented", "gcp/goose": "implemented", "gcp/codex": "implemented", "gcp/interpreter": "implemented", "gcp/gemini": "implemented", "gcp/amazonq": "implemented", "gcp/cline": "implemented", "github-codespaces/claude": "implemented", "github-codespaces/openclaw": "implemented", "github-codespaces/nanoclaw": "implemented", "github-codespaces/aider": "implemented", "github-codespaces/goose": "implemented", "github-codespaces/codex": "implemented", "github-codespaces/interpreter": "implemented", "github-codespaces/gemini": "implemented", "github-codespaces/amazonq": "implemented", "github-codespaces/cline": "implemented", "e2b/claude": "implemented", "e2b/openclaw": "implemented", "e2b/nanoclaw": "implemented", "e2b/aider": "implemented", "e2b/goose": "implemented", "e2b/codex": "implemented", "e2b/interpreter": "implemented", "e2b/gemini": "implemented", "e2b/amazonq": "implemented", "e2b/cline": "implemented", "modal/claude": "implemented", "modal/openclaw": "implemented", "modal/nanoclaw": "implemented", "modal/aider": "implemented", "modal/goose": "implemented", "modal/codex": "implemented", "modal/interpreter": "implemented", "modal/gemini": "implemented", "modal/amazonq": "implemented", "modal/cline": "implemented", "sprite/gptme": "implemented", "hetzner/gptme": "implemented", "digitalocean/gptme": "implemented", "vultr/gptme": "implemented", "linode/gptme": "implemented", "aws-lightsail/gptme": "implemented", "gcp/gptme": "implemented", "github-codespaces/gptme": "implemented", "e2b/gptme": "implemented", "modal/gptme": "implemented", "fly/claude": "implemented", "fly/aider": "implemented", "fly/openclaw": "implemented", "fly/nanoclaw": "implemented", "fly/goose": "implemented", "fly/codex": "implemented", "fly/interpreter": "implemented", "fly/gemini": "implemented", "fly/amazonq": "implemented", "fly/cline": "implemented", "fly/gptme": "implemented", "civo/claude": "implemented", "civo/aider": "implemented", "civo/codex": "implemented", "civo/openclaw": "implemented", "civo/nanoclaw": "implemented", "civo/goose": "implemented", "civo/interpreter": "implemented", "civo/gemini": "implemented", "civo/amazonq": "implemented", "civo/cline": "implemented", "civo/gptme": "implemented", "sprite/opencode": "implemented", "hetzner/opencode": "implemented", "digitalocean/opencode": "implemented", "vultr/opencode": "implemented", "linode/opencode": "implemented", "aws-lightsail/opencode": "implemented", "gcp/opencode": "implemented", "github-codespaces/opencode": "implemented", "e2b/opencode": "implemented", "modal/opencode": "implemented", "fly/opencode": "implemented", "civo/opencode": "implemented", "scaleway/claude": "implemented", "scaleway/openclaw": "implemented", "scaleway/nanoclaw": "implemented", "scaleway/aider": "implemented", "scaleway/goose": "implemented", "scaleway/codex": "implemented", "scaleway/interpreter": "implemented", "scaleway/gemini": "implemented", "scaleway/amazonq": "implemented", "scaleway/cline": "implemented", "scaleway/gptme": "implemented", "scaleway/opencode": "implemented", "daytona/claude": "implemented", "daytona/openclaw": "implemented", "daytona/nanoclaw": "implemented", "daytona/aider": "implemented", "daytona/goose": "implemented", "daytona/codex": "implemented", "daytona/interpreter": "implemented", "daytona/gemini": "implemented", "daytona/amazonq": "implemented", "daytona/cline": "implemented", "daytona/gptme": "implemented", "daytona/opencode": "implemented", "sprite/plandex": "implemented", "hetzner/plandex": "implemented", "digitalocean/plandex": "implemented", "vultr/plandex": "implemented", "linode/plandex": "implemented", "aws-lightsail/plandex": "implemented", "gcp/plandex": "implemented", "github-codespaces/plandex": "implemented", "e2b/plandex": "implemented", "modal/plandex": "implemented", "fly/plandex": "implemented", "civo/plandex": "implemented", "scaleway/plandex": "implemented", "daytona/plandex": "implemented", "upcloud/claude": "implemented", "upcloud/openclaw": "implemented", "upcloud/nanoclaw": "implemented", "upcloud/aider": "implemented", "upcloud/goose": "implemented", "upcloud/codex": "implemented", "upcloud/interpreter": "implemented", "upcloud/gemini": "implemented", "upcloud/amazonq": "implemented", "upcloud/cline": "implemented", "upcloud/gptme": "implemented", "upcloud/opencode": "implemented", "upcloud/plandex": "implemented", "binarylane/claude": "implemented", "binarylane/openclaw": "implemented", "binarylane/nanoclaw": "implemented", "binarylane/aider": "implemented", "binarylane/goose": "implemented", "binarylane/codex": "implemented", "binarylane/interpreter": "implemented", "binarylane/gemini": "implemented", "binarylane/amazonq": "implemented", "binarylane/cline": "implemented", "binarylane/gptme": "implemented", "binarylane/opencode": "implemented", "binarylane/plandex": "implemented", "latitude/claude": "implemented", "latitude/openclaw": "implemented", "latitude/nanoclaw": "implemented", "latitude/aider": "implemented", "latitude/goose": "implemented", "latitude/codex": "implemented", "latitude/interpreter": "implemented", "latitude/gemini": "implemented", "latitude/amazonq": "implemented", "latitude/cline": "implemented", "latitude/gptme": "implemented", "latitude/opencode": "implemented", "latitude/plandex": "implemented", "ovh/claude": "implemented", "ovh/aider": "implemented", "ovh/codex": "implemented", "ovh/openclaw": "implemented", "ovh/nanoclaw": "implemented", "ovh/goose": "implemented", "ovh/interpreter": "implemented", "ovh/gemini": "implemented", "ovh/amazonq": "implemented", "ovh/cline": "implemented", "ovh/gptme": "implemented", "ovh/opencode": "implemented", "ovh/plandex": "implemented", "kamatera/claude": "implemented", "kamatera/openclaw": "implemented", "kamatera/nanoclaw": "implemented", "kamatera/aider": "implemented", "kamatera/goose": "implemented", "kamatera/codex": "implemented", "kamatera/interpreter": "implemented", "kamatera/gemini": "implemented", "kamatera/amazonq": "implemented", "kamatera/cline": "implemented", "kamatera/gptme": "implemented", "kamatera/opencode": "implemented", "kamatera/plandex": "implemented", "sprite/kilocode": "implemented", "hetzner/kilocode": "implemented", "digitalocean/kilocode": "implemented", "vultr/kilocode": "implemented", "linode/kilocode": "implemented", "aws-lightsail/kilocode": "implemented", "gcp/kilocode": "implemented", "github-codespaces/kilocode": "implemented", "e2b/kilocode": "implemented", "modal/kilocode": "implemented", "fly/kilocode": "implemented", "civo/kilocode": "implemented", "scaleway/kilocode": "implemented", "daytona/kilocode": "implemented", "upcloud/kilocode": "implemented", "binarylane/kilocode": "implemented", "latitude/kilocode": "implemented", "ovh/kilocode": "implemented", "kamatera/kilocode": "implemented", "oracle/claude": "implemented", "oracle/aider": "implemented", "oracle/goose": "implemented", "oracle/openclaw": "implemented", "oracle/nanoclaw": "implemented", "oracle/codex": "implemented", "oracle/interpreter": "implemented", "oracle/gemini": "implemented", "oracle/amazonq": "implemented", "oracle/cline": "implemented", "oracle/gptme": "implemented", "oracle/opencode": "implemented", "oracle/plandex": "implemented", "oracle/kilocode": "implemented", "koyeb/claude": "implemented", "koyeb/openclaw": "implemented", "koyeb/nanoclaw": "implemented", "koyeb/aider": "implemented", "koyeb/goose": "implemented", "koyeb/codex": "implemented", "koyeb/interpreter": "implemented", "koyeb/gemini": "implemented", "koyeb/amazonq": "implemented", "koyeb/cline": "implemented", "koyeb/gptme": "implemented", "koyeb/opencode": "implemented", "koyeb/plandex": "implemented", "koyeb/kilocode": "implemented", "northflank/claude": "implemented", "northflank/openclaw": "implemented", "northflank/nanoclaw": "implemented", "northflank/aider": "implemented", "northflank/goose": "implemented", "northflank/codex": "implemented", "northflank/interpreter": "implemented", "northflank/gemini": "implemented", "northflank/amazonq": "implemented", "northflank/cline": "implemented", "northflank/gptme": "implemented", "northflank/opencode": "implemented", "northflank/plandex": "implemented", "northflank/kilocode": "implemented", "railway/claude": "implemented", "railway/openclaw": "implemented", "railway/nanoclaw": "implemented", "railway/aider": "implemented", "railway/goose": "implemented", "railway/codex": "implemented", "railway/interpreter": "implemented", "railway/gemini": "implemented", "railway/amazonq": "implemented", "railway/cline": "implemented", "railway/gptme": "implemented", "railway/opencode": "implemented", "railway/plandex": "implemented", "railway/kilocode": "implemented", "render/claude": "implemented", "render/openclaw": "implemented", "render/nanoclaw": "implemented", "render/aider": "implemented", "render/goose": "implemented", "render/codex": "implemented", "render/interpreter": "implemented", "render/gemini": "implemented", "render/amazonq": "implemented", "render/cline": "implemented", "render/gptme": "implemented", "render/opencode": "implemented", "render/plandex": "implemented", "render/kilocode": "implemented", "cherry/claude": "implemented", "cherry/openclaw": "implemented", "cherry/nanoclaw": "implemented", "cherry/aider": "implemented", "cherry/goose": "implemented", "cherry/codex": "implemented", "cherry/interpreter": "implemented", "cherry/gemini": "implemented", "cherry/amazonq": "implemented", "cherry/cline": "implemented", "cherry/gptme": "implemented", "cherry/opencode": "implemented", "cherry/plandex": "implemented", "cherry/kilocode": "implemented", "sprite/continue": "implemented", "hetzner/continue": "implemented", "digitalocean/continue": "implemented", "vultr/continue": "implemented", "linode/continue": "implemented", "aws-lightsail/continue": "implemented", "gcp/continue": "implemented", "github-codespaces/continue": "implemented", "e2b/continue": "implemented", "modal/continue": "implemented", "fly/continue": "implemented", "civo/continue": "implemented", "scaleway/continue": "implemented", "daytona/continue": "implemented", "upcloud/continue": "implemented", "binarylane/continue": "implemented", "latitude/continue": "implemented", "ovh/continue": "implemented", "kamatera/continue": "implemented", "cherry/continue": "implemented", "oracle/continue": "implemented", "koyeb/continue": "implemented", "northflank/continue": "implemented", "railway/continue": "implemented", "render/continue": "implemented", "ionos/claude": "implemented", "ionos/openclaw": "implemented", "ionos/nanoclaw": "implemented", "ionos/aider": "implemented", "ionos/goose": "implemented", "ionos/codex": "implemented", "ionos/interpreter": "implemented", "ionos/gemini": "implemented", "ionos/amazonq": "implemented", "ionos/cline": "implemented", "ionos/gptme": "implemented", "ionos/opencode": "implemented", "ionos/plandex": "implemented", "ionos/kilocode": "implemented", "ionos/continue": "implemented", "exoscale/claude": "implemented", "exoscale/openclaw": "implemented", "exoscale/nanoclaw": "implemented", "exoscale/aider": "implemented", "exoscale/goose": "implemented", "exoscale/codex": "implemented", "exoscale/interpreter": "implemented", "exoscale/gemini": "implemented", "exoscale/amazonq": "implemented", "exoscale/cline": "implemented", "exoscale/gptme": "implemented", "exoscale/opencode": "implemented", "exoscale/plandex": "implemented", "exoscale/kilocode": "implemented", "exoscale/continue": "implemented", "contabo/claude": "implemented", "contabo/openclaw": "implemented", "contabo/nanoclaw": "implemented", "contabo/aider": "implemented", "contabo/goose": "implemented", "contabo/codex": "implemented", "contabo/interpreter": "implemented", "contabo/gemini": "implemented", "contabo/amazonq": "implemented", "contabo/cline": "implemented", "contabo/gptme": "implemented", "contabo/opencode": "implemented", "contabo/plandex": "implemented", "contabo/kilocode": "implemented", "contabo/continue": "implemented", "hostinger/claude": "implemented", "hostinger/openclaw": "implemented", "hostinger/nanoclaw": "implemented", "hostinger/aider": "implemented", "hostinger/goose": "implemented", "hostinger/codex": "implemented", "hostinger/interpreter": "implemented", "hostinger/gemini": "implemented", "hostinger/amazonq": "implemented", "hostinger/cline": "implemented", "hostinger/gptme": "implemented", "hostinger/opencode": "implemented", "hostinger/plandex": "implemented", "hostinger/kilocode": "implemented", "hostinger/continue": "implemented", "netcup/claude": "implemented", "netcup/openclaw": "implemented", "netcup/nanoclaw": "implemented", "netcup/aider": "implemented", "netcup/goose": "implemented", "netcup/codex": "implemented", "netcup/interpreter": "implemented", "netcup/gemini": "implemented", "netcup/amazonq": "implemented", "netcup/cline": "missing", "netcup/gptme": "missing", "netcup/opencode": "missing", "netcup/plandex": "missing", "netcup/kilocode": "missing", "netcup/continue": "implemented", "local/claude": "implemented", "local/openclaw": "implemented", "local/nanoclaw": "implemented", "local/aider": "missing", "local/goose": "implemented", "local/codex": "missing", "local/interpreter": "missing", "local/gemini": "missing", "local/amazonq": "missing", "local/cline": "missing", "local/gptme": "missing", "local/opencode": "missing", "local/plandex": "missing", "local/kilocode": "missing", "local/continue": "missing", "ramnode/claude": "implemented", "ramnode/openclaw": "missing", "ramnode/nanoclaw": "missing", "ramnode/aider": "implemented", "ramnode/goose": "implemented", "ramnode/codex": "missing", "ramnode/interpreter": "implemented", "ramnode/gemini": "missing", "ramnode/amazonq": "missing", "ramnode/cline": "missing", "ramnode/gptme": "missing", "ramnode/opencode": "missing", "ramnode/plandex": "missing", "ramnode/kilocode": "missing", "ramnode/continue": "missing" } }