mirror of
https://github.com/OpenRouterTeam/spawn.git
synced 2026-05-06 08:10:48 +00:00
- Add get_resource_name() to shared/common.sh
- Generic function for env-var-or-prompt pattern
- Uses indirect expansion ${!var} for dynamic env vars
- Preserves exact behavior: env check → prompt → error
- Update 9 cloud providers to use shared function:
- aws-lightsail: LIGHTSAIL_SERVER_NAME
- digitalocean: DO_DROPLET_NAME (with validation)
- gcp: GCP_INSTANCE_NAME
- hetzner: HETZNER_SERVER_NAME (with validation)
- linode: LINODE_SERVER_NAME (with validation)
- sprite: SPRITE_NAME (with validation)
- vultr: VULTR_SERVER_NAME (with validation)
- e2b: E2B_SANDBOX_NAME
- modal: MODAL_SANDBOX_NAME
- Reduces code duplication: ~120 lines → ~25 lines
- Maintains backward compatibility (env vars, prompts, errors unchanged)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| lib | ||
| aider.sh | ||
| amazonq.sh | ||
| claude.sh | ||
| cline.sh | ||
| codex.sh | ||
| gemini.sh | ||
| goose.sh | ||
| interpreter.sh | ||
| nanoclaw.sh | ||
| openclaw.sh | ||
| README.md | ||
Modal
Modal sandboxed containers via Python SDK. Modal
No SSH — uses Modal Python SDK for exec. Sub-second cold starts. Requires pip install modal.
Agents
Claude Code
bash <(curl -fsSL https://openrouter.ai/lab/spawn/modal/claude.sh)
OpenClaw
bash <(curl -fsSL https://openrouter.ai/lab/spawn/modal/openclaw.sh)
NanoClaw
bash <(curl -fsSL https://openrouter.ai/lab/spawn/modal/nanoclaw.sh)
Aider
bash <(curl -fsSL https://openrouter.ai/lab/spawn/modal/aider.sh)
Goose
bash <(curl -fsSL https://openrouter.ai/lab/spawn/modal/goose.sh)
Codex CLI
bash <(curl -fsSL https://openrouter.ai/lab/spawn/modal/codex.sh)
Open Interpreter
bash <(curl -fsSL https://openrouter.ai/lab/spawn/modal/interpreter.sh)
Gemini CLI
bash <(curl -fsSL https://openrouter.ai/lab/spawn/modal/gemini.sh)
Amazon Q CLI
bash <(curl -fsSL https://openrouter.ai/lab/spawn/modal/amazonq.sh)
Cline
bash <(curl -fsSL https://openrouter.ai/lab/spawn/modal/cline.sh)
Non-Interactive Mode
MODAL_SANDBOX_NAME=dev-mk1 \
OPENROUTER_API_KEY=sk-or-v1-xxxxx \
bash <(curl -fsSL https://openrouter.ai/lab/spawn/modal/claude.sh)