mirror of
https://github.com/OpenRouterTeam/spawn.git
synced 2026-05-05 23:50:48 +00:00
- Add `_update_retry_interval()` helper in shared/common.sh to eliminate repeated backoff interval calculation and cap logic (was copied 10+ times across cloud provider API wrappers) - Refactor generic_cloud_api() to use new helper, reducing from 83 to 70 lines - Refactor scaleway_api() to use new helper, reducing from 66 to 53 lines - Refactor upcloud_api() to use new helper, reducing from 65 to 52 lines This reduces cyclomatic complexity by eliminating nested if statements for interval updates and consolidates the retry backoff logic in one place, making future maintenance easier and reducing bugs from copy-paste errors. Agent: complexity-hunter Co-authored-by: A <6723574+louisgv@users.noreply.github.com> Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| lib | ||
| aider.sh | ||
| amazonq.sh | ||
| claude.sh | ||
| cline.sh | ||
| codex.sh | ||
| gemini.sh | ||
| goose.sh | ||
| gptme.sh | ||
| interpreter.sh | ||
| nanoclaw.sh | ||
| openclaw.sh | ||
| opencode.sh | ||
| plandex.sh | ||
| README.md | ||
UpCloud
UpCloud cloud servers via REST API. UpCloud
Agents
Claude Code
bash <(curl -fsSL https://openrouter.ai/lab/spawn/upcloud/claude.sh)
OpenClaw
bash <(curl -fsSL https://openrouter.ai/lab/spawn/upcloud/openclaw.sh)
NanoClaw
bash <(curl -fsSL https://openrouter.ai/lab/spawn/upcloud/nanoclaw.sh)
Aider
bash <(curl -fsSL https://openrouter.ai/lab/spawn/upcloud/aider.sh)
Goose
bash <(curl -fsSL https://openrouter.ai/lab/spawn/upcloud/goose.sh)
Codex CLI
bash <(curl -fsSL https://openrouter.ai/lab/spawn/upcloud/codex.sh)
Open Interpreter
bash <(curl -fsSL https://openrouter.ai/lab/spawn/upcloud/interpreter.sh)
Gemini CLI
bash <(curl -fsSL https://openrouter.ai/lab/spawn/upcloud/gemini.sh)
Amazon Q CLI
bash <(curl -fsSL https://openrouter.ai/lab/spawn/upcloud/amazonq.sh)
Cline
bash <(curl -fsSL https://openrouter.ai/lab/spawn/upcloud/cline.sh)
gptme
bash <(curl -fsSL https://openrouter.ai/lab/spawn/upcloud/gptme.sh)
OpenCode
bash <(curl -fsSL https://openrouter.ai/lab/spawn/upcloud/opencode.sh)
Plandex
bash <(curl -fsSL https://openrouter.ai/lab/spawn/upcloud/plandex.sh)
Non-Interactive Mode
UPCLOUD_SERVER_NAME=dev-mk1 \
UPCLOUD_USERNAME=your-api-username \
UPCLOUD_PASSWORD=your-api-password \
OPENROUTER_API_KEY=sk-or-v1-xxxxx \
bash <(curl -fsSL https://openrouter.ai/lab/spawn/upcloud/claude.sh)
Environment Variables
| Variable | Description | Default |
|---|---|---|
UPCLOUD_USERNAME |
UpCloud API username | (prompted) |
UPCLOUD_PASSWORD |
UpCloud API password | (prompted) |
UPCLOUD_SERVER_NAME |
Server name | (prompted) |
UPCLOUD_ZONE |
Datacenter zone | de-fra1 |
UPCLOUD_PLAN |
Server plan | 1xCPU-2GB |
OPENROUTER_API_KEY |
OpenRouter API key | (OAuth or prompted) |