mirror of
https://github.com/OpenRouterTeam/spawn.git
synced 2026-04-28 11:59:29 +00:00
- manifest.json: change aws auth to AWS_ACCESS_KEY_ID+AWS_SECRET_ACCESS_KEY so the key-request system includes AWS in its missing-key emails - sh/e2e/e2e.sh: clouds missing credentials now SKIP (not FAIL), so running --cloud all is safe and only tests what's configured - qa.sh: include e2e mode in cloud credential loading (was fixtures+quality only) - qa-quality-prompt.md: e2e-tester now runs e2e.sh --cloud all --parallel 6 --skip-input-test - qa-e2e-prompt.md: standalone e2e bot now runs e2e.sh --cloud all --parallel 6 Also wires KEY_SERVER_URL + KEY_SERVER_SECRET into /etc/spawn-qa-auth.env (system change, not in this commit) so missing-key emails are actually sent. Co-authored-by: spawn-qa-bot <qa@openrouter.ai> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: L <6723574+louisgv@users.noreply.github.com> Co-authored-by: Ahmed Abushagur <ahmed@abushagur.com>
382 lines
15 KiB
JSON
382 lines
15 KiB
JSON
{
|
|
"agents": {
|
|
"claude": {
|
|
"name": "Claude Code",
|
|
"description": "Anthropic's AI coding agent — reads your codebase, writes code, runs commands, and ships features",
|
|
"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
|
|
}
|
|
},
|
|
"icon": "https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/assets/agents/claude.png",
|
|
"featured_cloud": ["gcp", "aws", "digitalocean"],
|
|
"creator": "Anthropic",
|
|
"repo": "anthropics/claude-code",
|
|
"license": "Proprietary",
|
|
"created": "2025-02",
|
|
"added": "2025-06",
|
|
"github_stars": 73410,
|
|
"stars_updated": "2026-03-04",
|
|
"language": "Shell",
|
|
"runtime": "node",
|
|
"category": "cli",
|
|
"tagline": "Anthropic's AI coding agent — plan, build, and ship code across your entire codebase",
|
|
"tags": ["coding", "terminal", "agentic"]
|
|
},
|
|
"openclaw": {
|
|
"name": "OpenClaw",
|
|
"description": "Personal AI assistant with multi-channel gateway + TUI",
|
|
"url": "https://github.com/openclaw/openclaw",
|
|
"install": "npm 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"
|
|
}
|
|
},
|
|
"icon": "https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/assets/agents/openclaw.png",
|
|
"featured_cloud": ["gcp", "aws", "digitalocean"],
|
|
"creator": "OpenClaw",
|
|
"repo": "openclaw/openclaw",
|
|
"license": "MIT",
|
|
"created": "2025-11",
|
|
"added": "2025-11",
|
|
"github_stars": 256970,
|
|
"stars_updated": "2026-03-04",
|
|
"language": "TypeScript",
|
|
"runtime": "bun",
|
|
"category": "tui",
|
|
"tagline": "Your personal AI — any channel, any model, from the terminal",
|
|
"tags": ["coding", "tui", "gateway"]
|
|
},
|
|
"zeroclaw": {
|
|
"name": "ZeroClaw",
|
|
"description": "Fast, small, fully autonomous AI assistant infrastructure — deploy anywhere, swap anything",
|
|
"url": "https://github.com/zeroclaw-labs/zeroclaw",
|
|
"install": "curl -LsSf https://raw.githubusercontent.com/zeroclaw-labs/zeroclaw/a117be64fdaa31779204beadf2942c8aef57d0e5/scripts/bootstrap.sh | bash -s -- --install-rust --install-system-deps --prefer-prebuilt",
|
|
"launch": "zeroclaw agent",
|
|
"env": {
|
|
"OPENROUTER_API_KEY": "${OPENROUTER_API_KEY}",
|
|
"ZEROCLAW_PROVIDER": "openrouter"
|
|
},
|
|
"config_files": {
|
|
"~/.zeroclaw/config.toml": {
|
|
"security": {
|
|
"autonomy": "full",
|
|
"supervised": false,
|
|
"allow_destructive": true
|
|
},
|
|
"shell": {
|
|
"policy": "allow_all"
|
|
}
|
|
}
|
|
},
|
|
"notes": "Rust-based agent framework built by Harvard/MIT/Sundai.Club communities. Natively supports OpenRouter via OPENROUTER_API_KEY + ZEROCLAW_PROVIDER=openrouter. Requires compilation from source (~5-10 min).",
|
|
"icon": "https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/assets/agents/zeroclaw.png",
|
|
"featured_cloud": ["hetzner", "gcp", "aws"],
|
|
"creator": "Sundai.Club",
|
|
"repo": "zeroclaw-labs/zeroclaw",
|
|
"license": "Apache-2.0",
|
|
"created": "2026-02",
|
|
"added": "2025-12",
|
|
"github_stars": 21867,
|
|
"stars_updated": "2026-03-04",
|
|
"language": "Rust",
|
|
"runtime": "binary",
|
|
"category": "cli",
|
|
"tagline": "Fast, small, fully autonomous AI infrastructure — deploy anywhere, swap anything",
|
|
"tags": ["coding", "terminal", "rust", "autonomous"]
|
|
},
|
|
"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",
|
|
"icon": "https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/assets/agents/codex.png",
|
|
"featured_cloud": ["gcp", "aws", "digitalocean"],
|
|
"creator": "OpenAI",
|
|
"repo": "openai/codex",
|
|
"license": "Apache-2.0",
|
|
"created": "2025-04",
|
|
"added": "2025-07",
|
|
"github_stars": 62925,
|
|
"stars_updated": "2026-03-04",
|
|
"language": "Rust",
|
|
"runtime": "binary",
|
|
"category": "cli",
|
|
"tagline": "OpenAI's lightweight coding agent for the terminal",
|
|
"tags": ["coding", "terminal", "openai"]
|
|
},
|
|
"opencode": {
|
|
"name": "OpenCode",
|
|
"description": "AI coding agent built for the terminal with TUI",
|
|
"url": "https://github.com/sst/opencode",
|
|
"install": "curl -fsSL https://opencode.ai/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.",
|
|
"icon": "https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/assets/agents/opencode.png",
|
|
"featured_cloud": ["daytona", "gcp", "aws"],
|
|
"creator": "SST",
|
|
"repo": "sst/opencode",
|
|
"license": "MIT",
|
|
"created": "2025-04",
|
|
"added": "2025-08",
|
|
"github_stars": 115408,
|
|
"stars_updated": "2026-03-04",
|
|
"language": "TypeScript",
|
|
"runtime": "go",
|
|
"category": "tui",
|
|
"tagline": "The open-source AI coding agent",
|
|
"tags": ["coding", "tui", "go"]
|
|
},
|
|
"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'.",
|
|
"icon": "https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/assets/agents/kilocode.png",
|
|
"featured_cloud": ["gcp", "aws", "digitalocean"],
|
|
"creator": "Kilo-Org",
|
|
"repo": "Kilo-Org/kilocode",
|
|
"license": "MIT",
|
|
"created": "2025-03",
|
|
"added": "2025-09",
|
|
"github_stars": 16172,
|
|
"stars_updated": "2026-03-04",
|
|
"language": "TypeScript",
|
|
"runtime": "node",
|
|
"category": "cli",
|
|
"tagline": "All-in-one AI coding platform — 100+ providers, one CLI",
|
|
"tags": ["coding", "terminal", "agentic", "engineering"]
|
|
},
|
|
"hermes": {
|
|
"name": "Hermes Agent",
|
|
"description": "Persistent AI agent with multi-platform messaging, memory across sessions, and tool use",
|
|
"url": "https://github.com/NousResearch/hermes-agent",
|
|
"install": "curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash",
|
|
"launch": "hermes",
|
|
"env": {
|
|
"OPENROUTER_API_KEY": "${OPENROUTER_API_KEY}",
|
|
"OPENAI_BASE_URL": "https://openrouter.ai/api/v1",
|
|
"OPENAI_API_KEY": "${OPENROUTER_API_KEY}"
|
|
},
|
|
"notes": "Natively supports OpenRouter via OPENROUTER_API_KEY. Also works via OPENAI_BASE_URL + OPENAI_API_KEY for OpenAI-compatible mode. Installs Python 3.11 via uv.",
|
|
"icon": "https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/assets/agents/hermes.png",
|
|
"featured_cloud": ["sprite", "hetzner", "gcp"],
|
|
"creator": "Nous Research",
|
|
"repo": "NousResearch/hermes-agent",
|
|
"license": "MIT",
|
|
"created": "2025-06",
|
|
"added": "2026-02",
|
|
"github_stars": 1617,
|
|
"stars_updated": "2026-03-04",
|
|
"language": "Python",
|
|
"runtime": "python",
|
|
"category": "cli",
|
|
"tagline": "Persistent AI agent with memory, tools, and multi-platform messaging",
|
|
"tags": ["agent", "messaging", "memory", "tools"]
|
|
}
|
|
},
|
|
"clouds": {
|
|
"local": {
|
|
"name": "Local Machine",
|
|
"description": "Run agents on your own machine — no cloud needed",
|
|
"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."
|
|
},
|
|
"hetzner": {
|
|
"name": "Hetzner Cloud",
|
|
"description": "Affordable European cloud servers from ~€3/mo",
|
|
"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"
|
|
},
|
|
"icon": "https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/assets/clouds/hetzner.png"
|
|
},
|
|
"aws": {
|
|
"name": "AWS Lightsail",
|
|
"description": "Simple AWS instances starting at $3.50/mo",
|
|
"url": "https://aws.amazon.com/lightsail/",
|
|
"type": "cli",
|
|
"auth": "AWS_ACCESS_KEY_ID+AWS_SECRET_ACCESS_KEY",
|
|
"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.",
|
|
"icon": "https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/assets/clouds/aws.png"
|
|
},
|
|
"daytona": {
|
|
"name": "Daytona",
|
|
"description": "Instant sandboxes with pay-per-second pricing",
|
|
"url": "https://www.daytona.io/",
|
|
"type": "sandbox",
|
|
"auth": "DAYTONA_API_KEY",
|
|
"key_request": false,
|
|
"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.",
|
|
"icon": "https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/assets/clouds/daytona.png"
|
|
},
|
|
"digitalocean": {
|
|
"name": "DigitalOcean",
|
|
"description": "Developer-friendly Droplets from $4/mo",
|
|
"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"
|
|
},
|
|
"icon": "https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/assets/clouds/digitalocean.png"
|
|
},
|
|
"gcp": {
|
|
"name": "GCP Compute Engine",
|
|
"description": "Google Cloud VMs with $300 free trial credit",
|
|
"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.",
|
|
"icon": "https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/assets/clouds/gcp.png"
|
|
},
|
|
"sprite": {
|
|
"name": "Sprite",
|
|
"description": "Managed cloud VMs — one command to deploy",
|
|
"url": "https://sprites.dev",
|
|
"type": "cli",
|
|
"auth": "sprite login",
|
|
"provision_method": "sprite create",
|
|
"exec_method": "sprite exec",
|
|
"interactive_method": "sprite exec -tty",
|
|
"icon": "https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/assets/clouds/sprite.png"
|
|
}
|
|
},
|
|
"matrix": {
|
|
"local/claude": "implemented",
|
|
"local/openclaw": "implemented",
|
|
"local/zeroclaw": "implemented",
|
|
"local/codex": "implemented",
|
|
"local/opencode": "implemented",
|
|
"local/kilocode": "implemented",
|
|
"hetzner/claude": "implemented",
|
|
"hetzner/openclaw": "implemented",
|
|
"hetzner/zeroclaw": "implemented",
|
|
"hetzner/codex": "implemented",
|
|
"hetzner/opencode": "implemented",
|
|
"hetzner/kilocode": "implemented",
|
|
"aws/claude": "implemented",
|
|
"aws/openclaw": "implemented",
|
|
"aws/zeroclaw": "implemented",
|
|
"aws/codex": "implemented",
|
|
"aws/opencode": "implemented",
|
|
"aws/kilocode": "implemented",
|
|
"daytona/claude": "implemented",
|
|
"daytona/openclaw": "implemented",
|
|
"daytona/zeroclaw": "implemented",
|
|
"daytona/codex": "implemented",
|
|
"daytona/opencode": "implemented",
|
|
"daytona/kilocode": "implemented",
|
|
"digitalocean/claude": "implemented",
|
|
"digitalocean/openclaw": "implemented",
|
|
"digitalocean/zeroclaw": "implemented",
|
|
"digitalocean/codex": "implemented",
|
|
"digitalocean/opencode": "implemented",
|
|
"digitalocean/kilocode": "implemented",
|
|
"gcp/claude": "implemented",
|
|
"gcp/openclaw": "implemented",
|
|
"gcp/zeroclaw": "implemented",
|
|
"gcp/codex": "implemented",
|
|
"gcp/opencode": "implemented",
|
|
"gcp/kilocode": "implemented",
|
|
"sprite/claude": "implemented",
|
|
"sprite/openclaw": "implemented",
|
|
"sprite/zeroclaw": "implemented",
|
|
"sprite/codex": "implemented",
|
|
"sprite/opencode": "implemented",
|
|
"sprite/kilocode": "implemented",
|
|
"local/hermes": "implemented",
|
|
"hetzner/hermes": "implemented",
|
|
"aws/hermes": "implemented",
|
|
"daytona/hermes": "implemented",
|
|
"digitalocean/hermes": "implemented",
|
|
"gcp/hermes": "implemented",
|
|
"sprite/hermes": "implemented"
|
|
}
|
|
}
|