mirror of
https://github.com/OpenRouterTeam/spawn.git
synced 2026-04-28 20:09:34 +00:00
* feat: SPAWN_CLI_DIR env var to force local source in e2e and shell scripts When SPAWN_CLI_DIR is set, the entire toolchain uses local TypeScript source instead of downloading pre-bundled scripts from GitHub releases: - e2e.sh: auto-sets SPAWN_CLI_DIR to repo root when running locally - provision.sh: exports SPAWN_CLI_DIR into the headless subshell - commands.ts: reads local shell scripts instead of fetching from CDN - All 36 cloud/agent shell scripts: exec local main.ts when set This enables e2e tests to validate local changes before they're released. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(security): add path traversal defense to SPAWN_CLI_DIR script loading Canonicalize the path via realpathSync and verify it stays inside the resolved CLI directory before reading. Prevents SPAWN_CLI_DIR from being used to read arbitrary files via ../ traversal. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(security): harden SPAWN_CLI_DIR path traversal defense - Validate cloud/agent names don't contain '..', '/' or '\' before constructing file paths - Fix root-directory edge case in prefix check by handling trailing separator correctly Agent: pr-maintainer Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: B <6723574+louisgv@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| claude.sh | ||
| codex.sh | ||
| kilocode.sh | ||
| openclaw.sh | ||
| opencode.sh | ||
| README.md | ||
| zeroclaw.sh | ||
GCP Compute Engine
Google Cloud Compute Engine instances via gcloud CLI. GCP Compute Engine
Uses current username for SSH. Requires gcloud CLI installed and configured.
Agents
Claude Code
bash <(curl -fsSL https://openrouter.ai/labs/spawn/gcp/claude.sh)
OpenClaw
bash <(curl -fsSL https://openrouter.ai/labs/spawn/gcp/openclaw.sh)
ZeroClaw
bash <(curl -fsSL https://openrouter.ai/labs/spawn/gcp/zeroclaw.sh)
Codex CLI
bash <(curl -fsSL https://openrouter.ai/labs/spawn/gcp/codex.sh)
OpenCode
bash <(curl -fsSL https://openrouter.ai/labs/spawn/gcp/opencode.sh)
Kilo Code
bash <(curl -fsSL https://openrouter.ai/labs/spawn/gcp/kilocode.sh)
Non-Interactive Mode
GCP_INSTANCE_NAME=dev-mk1 \
OPENROUTER_API_KEY=sk-or-v1-xxxxx \
bash <(curl -fsSL https://openrouter.ai/labs/spawn/gcp/claude.sh)
Custom VPC / Subnet
If your GCP project's default VPC uses custom subnet mode (common in enterprise or org-managed projects), set these env vars to override the default network/subnet:
| Variable | Default | Description |
|---|---|---|
GCP_NETWORK |
default |
VPC network name |
GCP_SUBNET |
default |
Subnet name |
Example:
GCP_NETWORK=my-vpc GCP_SUBNET=my-subnet \
GCP_INSTANCE_NAME=dev-mk1 \
OPENROUTER_API_KEY=sk-or-v1-xxxxx \
bash <(curl -fsSL https://openrouter.ai/labs/spawn/gcp/claude.sh)