spawn/local
Ahmed Abushagur 758b575658
feat: add server lifecycle management (reconnect + delete) (#1363)
Wire up connection tracking across all 10 clouds so users can reconnect
to and delete previously spawned servers via `spawn list` and `spawn delete`.

Phase 1 - Connection tracking:
- Extend save_vm_connection() with cloud and metadata params
- Add save_vm_connection to create_server() in all cloud libs
- Extend VMConnection with cloud, deleted, deleted_at, metadata fields

Phase 2 - Delete via interactive picker:
- Add "Delete this server" option to spawn list picker
- Build delete scripts that reuse each cloud's destroy_server()
- Confirmation UX with spinner feedback
- Soft-delete marking in history (deleted records show [deleted])

Phase 3 - Standalone delete command:
- spawn delete (aliases: rm, destroy) with interactive picker
- Filter support: spawn delete -a <agent> -c <cloud>

Also improves reconnect hints for Fly (fly ssh console) and
Daytona (daytona ssh) connections.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 17:06:49 -08:00
..
lib feat: add server lifecycle management (reconnect + delete) (#1363) 2026-02-16 17:06:49 -08:00
aider.sh refactor: introduce cloud adapter + spawn_agent runner system (#1340) 2026-02-16 16:25:44 -08:00
amazonq.sh refactor: introduce cloud adapter + spawn_agent runner system (#1340) 2026-02-16 16:25:44 -08:00
claude.sh fix: use ~/.spawnrc for env vars instead of inlining into .bashrc (#1362) 2026-02-16 17:05:17 -08:00
cline.sh refactor: introduce cloud adapter + spawn_agent runner system (#1340) 2026-02-16 16:25:44 -08:00
codex.sh refactor: introduce cloud adapter + spawn_agent runner system (#1340) 2026-02-16 16:25:44 -08:00
continue.sh refactor: introduce cloud adapter + spawn_agent runner system (#1340) 2026-02-16 16:25:44 -08:00
gemini.sh refactor: introduce cloud adapter + spawn_agent runner system (#1340) 2026-02-16 16:25:44 -08:00
goose.sh refactor: introduce cloud adapter + spawn_agent runner system (#1340) 2026-02-16 16:25:44 -08:00
gptme.sh refactor: introduce cloud adapter + spawn_agent runner system (#1340) 2026-02-16 16:25:44 -08:00
interpreter.sh refactor: introduce cloud adapter + spawn_agent runner system (#1340) 2026-02-16 16:25:44 -08:00
kilocode.sh refactor: introduce cloud adapter + spawn_agent runner system (#1340) 2026-02-16 16:25:44 -08:00
nanoclaw.sh refactor: introduce cloud adapter + spawn_agent runner system (#1340) 2026-02-16 16:25:44 -08:00
openclaw.sh refactor: introduce cloud adapter + spawn_agent runner system (#1340) 2026-02-16 16:25:44 -08:00
plandex.sh refactor: introduce cloud adapter + spawn_agent runner system (#1340) 2026-02-16 16:25:44 -08:00
README.md feat: Add Amazon Q CLI on local machine (#887) 2026-02-13 05:47:17 -08:00

Local Machine

Run agents directly on your local machine without any cloud provisioning.

No server creation or destruction. Installs agents and injects OpenRouter credentials locally. Useful for local development and testing.

Quick Start

If you have the spawn CLI installed:

spawn claude local
spawn openclaw local
spawn nanoclaw local
spawn aider local
spawn goose local
spawn codex local
spawn interpreter local
spawn gemini local
spawn amazonq local
spawn cline local
spawn gptme local
spawn opencode local
spawn plandex local
spawn kilocode local
spawn continue local

Or run directly without the CLI:

bash <(curl -fsSL https://openrouter.ai/labs/spawn/local/claude.sh)
bash <(curl -fsSL https://openrouter.ai/labs/spawn/local/openclaw.sh)
bash <(curl -fsSL https://openrouter.ai/labs/spawn/local/nanoclaw.sh)
bash <(curl -fsSL https://openrouter.ai/labs/spawn/local/aider.sh)
bash <(curl -fsSL https://openrouter.ai/labs/spawn/local/goose.sh)
bash <(curl -fsSL https://openrouter.ai/labs/spawn/local/codex.sh)
bash <(curl -fsSL https://openrouter.ai/labs/spawn/local/interpreter.sh)
bash <(curl -fsSL https://openrouter.ai/labs/spawn/local/gemini.sh)
bash <(curl -fsSL https://openrouter.ai/labs/spawn/local/amazonq.sh)
bash <(curl -fsSL https://openrouter.ai/labs/spawn/local/cline.sh)
bash <(curl -fsSL https://openrouter.ai/labs/spawn/local/gptme.sh)
bash <(curl -fsSL https://openrouter.ai/labs/spawn/local/opencode.sh)
bash <(curl -fsSL https://openrouter.ai/labs/spawn/local/plandex.sh)
bash <(curl -fsSL https://openrouter.ai/labs/spawn/local/kilocode.sh)
bash <(curl -fsSL https://openrouter.ai/labs/spawn/local/continue.sh)

Non-Interactive Mode

OPENROUTER_API_KEY=sk-or-v1-xxxxx \
  bash <(curl -fsSL https://openrouter.ai/labs/spawn/local/claude.sh)

What It Does

Local scripts will:

  • Install the agent if not already present
  • Obtain an OpenRouter API key (via OAuth or environment variable)
  • Append environment variables to ~/.zshrc for the agent to use
  • Launch the agent

No cloud servers are created or destroyed.

Environment Variables

Variable Description
OPENROUTER_API_KEY OpenRouter API key (prompted via OAuth if not set)
SPAWN_PROMPT If set, runs the agent non-interactively with this prompt