mirror of
https://github.com/OpenRouterTeam/spawn.git
synced 2026-05-19 16:39:50 +00:00
feat: remove Cline, gptme, Plandex, and Continue agents (#1475)
Delete 32 agent scripts ({cloud}/{cline,gptme,plandex,continue}.sh across
8 clouds), remove the 4 agents from manifest.json with all their matrix
entries, update README matrix rows, remove stale mock agent binaries and
plandex.ai URL patterns from test harness, update CLI help examples to use
remaining agents, and bump version 0.5.7 → 0.5.8.
Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
32522882c1
commit
f7458952b0
38 changed files with 7 additions and 1000 deletions
|
|
@ -166,12 +166,8 @@ If an agent fails to install or launch on a cloud:
|
|||
| [**OpenClaw**](https://github.com/OpenRouterTeam/openclaw) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
|
||||
| [**NanoClaw**](https://github.com/gavrielc/nanoclaw) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
|
||||
| [**Codex CLI**](https://github.com/openai/codex) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
|
||||
| [**Cline**](https://github.com/cline/cline) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
|
||||
| [**gptme**](https://github.com/gptme/gptme) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
|
||||
| [**OpenCode**](https://github.com/opencode-ai/opencode) | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
|
||||
| [**Plandex**](https://github.com/plandex-ai/plandex) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
|
||||
| [**Kilo Code**](https://github.com/Kilo-Org/kilocode) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
|
||||
| [**Continue**](https://github.com/continuedev/continue) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
|
||||
|
||||
### How it works
|
||||
|
||||
|
|
|
|||
27
aws/cline.sh
27
aws/cline.sh
|
|
@ -1,27 +0,0 @@
|
|||
#!/bin/bash
|
||||
# shellcheck disable=SC2154
|
||||
set -eo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
# shellcheck source=aws/lib/common.sh
|
||||
if [[ -f "${SCRIPT_DIR}/lib/common.sh" ]]; then
|
||||
source "${SCRIPT_DIR}/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/aws/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "Cline on AWS Lightsail"
|
||||
echo ""
|
||||
|
||||
agent_install() { install_agent "Cline" "npm install -g cline" cloud_run; }
|
||||
agent_env_vars() {
|
||||
generate_env_config \
|
||||
"OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"
|
||||
}
|
||||
agent_configure() {
|
||||
log_step "Authenticating Cline with OpenRouter..."
|
||||
cloud_run "source ~/.zshrc && cline auth -p openrouter -k \"\${OPENROUTER_API_KEY}\""
|
||||
}
|
||||
agent_launch_cmd() { echo 'source ~/.zshrc && cline'; }
|
||||
|
||||
spawn_agent "Cline"
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
#!/bin/bash
|
||||
# shellcheck disable=SC2154
|
||||
set -eo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
# shellcheck source=aws/lib/common.sh
|
||||
if [[ -f "${SCRIPT_DIR}/lib/common.sh" ]]; then
|
||||
source "${SCRIPT_DIR}/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/aws/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "Continue on AWS Lightsail"
|
||||
echo ""
|
||||
|
||||
agent_install() { install_agent "Continue CLI" "npm install -g @continuedev/cli" cloud_run; }
|
||||
agent_env_vars() { generate_env_config "OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"; }
|
||||
agent_configure() { setup_continue_config "${OPENROUTER_API_KEY}" cloud_upload cloud_run; }
|
||||
agent_launch_cmd() { echo 'source ~/.zshrc && cn'; }
|
||||
|
||||
spawn_agent "Continue"
|
||||
25
aws/gptme.sh
25
aws/gptme.sh
|
|
@ -1,25 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -eo pipefail
|
||||
|
||||
# Source common functions - try local file first, fall back to remote
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
if [[ -f "$SCRIPT_DIR/lib/common.sh" ]]; then
|
||||
source "$SCRIPT_DIR/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/aws/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "gptme on AWS Lightsail"
|
||||
echo ""
|
||||
|
||||
AGENT_MODEL_PROMPT=1
|
||||
AGENT_MODEL_DEFAULT="openrouter/auto"
|
||||
|
||||
agent_install() {
|
||||
install_agent "gptme" "command -v uv >/dev/null || curl -LsSf https://astral.sh/uv/install.sh | sh && export PATH=\"\$HOME/.local/bin:\$PATH\" && uv tool install gptme" cloud_run
|
||||
verify_agent "gptme" "export PATH=\"\$HOME/.local/bin:\$PATH\" && command -v gptme" "uv tool install gptme" cloud_run
|
||||
}
|
||||
agent_env_vars() { generate_env_config "OPENROUTER_API_KEY=$OPENROUTER_API_KEY"; }
|
||||
agent_launch_cmd() { printf 'source ~/.zshrc && gptme -m %s' "${MODEL_ID}"; }
|
||||
|
||||
spawn_agent "gptme"
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -eo pipefail
|
||||
|
||||
# Source common functions - try local file first, fall back to remote
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
# shellcheck source=aws/lib/common.sh
|
||||
if [[ -f "${SCRIPT_DIR}/lib/common.sh" ]]; then
|
||||
source "${SCRIPT_DIR}/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/aws/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "Plandex on AWS Lightsail"
|
||||
echo ""
|
||||
|
||||
agent_install() {
|
||||
install_agent "Plandex" "curl -sL https://plandex.ai/install.sh | bash" cloud_run
|
||||
verify_agent "Plandex" "command -v plandex && plandex version" "curl -sL https://plandex.ai/install.sh | bash" cloud_run
|
||||
}
|
||||
agent_env_vars() { generate_env_config "OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"; }
|
||||
agent_launch_cmd() { echo 'source ~/.zshrc && plandex'; }
|
||||
|
||||
spawn_agent "Plandex"
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@openrouter/spawn",
|
||||
"version": "0.5.7",
|
||||
"version": "0.5.8",
|
||||
"type": "module",
|
||||
"bin": {
|
||||
"spawn": "cli.js"
|
||||
|
|
|
|||
|
|
@ -2562,13 +2562,13 @@ function getHelpExamplesSection(): string {
|
|||
spawn ${pc.dim("# Pick interactively")}
|
||||
spawn openclaw sprite ${pc.dim("# Launch OpenClaw on Sprite")}
|
||||
spawn codex hetzner ${pc.dim("# Launch Codex CLI on Hetzner Cloud")}
|
||||
spawn cline digitalocean ${pc.dim("# Launch Cline on DigitalOcean")}
|
||||
spawn kilocode digitalocean ${pc.dim("# Launch Kilo Code on DigitalOcean")}
|
||||
spawn claude sprite --prompt "Fix all linter errors"
|
||||
${pc.dim("# Execute Claude with prompt and exit")}
|
||||
spawn codex sprite -p "Add tests" ${pc.dim("# Short form of --prompt")}
|
||||
spawn openclaw fly -f instructions.txt
|
||||
${pc.dim("# Read prompt from file (short for --prompt-file)")}
|
||||
spawn gptme gcp --dry-run ${pc.dim("# Preview without provisioning")}
|
||||
spawn opencode gcp --dry-run ${pc.dim("# Preview without provisioning")}
|
||||
spawn claude hetzner --headless ${pc.dim("# Provision, print connection info, exit")}
|
||||
spawn claude hetzner --output json ${pc.dim("# Structured JSON output on stdout")}
|
||||
spawn claude ${pc.dim("# Show which clouds support Claude")}
|
||||
|
|
|
|||
|
|
@ -1,33 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -eo pipefail
|
||||
|
||||
# Source common functions - try local file first, fall back to remote
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
if [[ -f "${SCRIPT_DIR}/lib/common.sh" ]]; then
|
||||
source "${SCRIPT_DIR}/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/daytona/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "Cline on Daytona"
|
||||
echo ""
|
||||
|
||||
agent_install() {
|
||||
install_agent "Cline" "npm install -g cline" cloud_run
|
||||
}
|
||||
|
||||
agent_env_vars() {
|
||||
generate_env_config \
|
||||
"OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"
|
||||
}
|
||||
|
||||
agent_configure() {
|
||||
log_step "Authenticating Cline with OpenRouter..."
|
||||
cloud_run "source ~/.zshrc && cline auth -p openrouter -k \"\${OPENROUTER_API_KEY}\""
|
||||
}
|
||||
|
||||
agent_launch_cmd() {
|
||||
echo 'source ~/.zshrc && cline'
|
||||
}
|
||||
|
||||
spawn_agent "Cline"
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -eo pipefail
|
||||
|
||||
# Source common functions - try local file first, fall back to remote
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
if [[ -f "${SCRIPT_DIR}/lib/common.sh" ]]; then
|
||||
source "${SCRIPT_DIR}/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/daytona/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "Continue on Daytona"
|
||||
echo ""
|
||||
|
||||
agent_install() {
|
||||
install_agent "Continue CLI" "npm install -g @continuedev/cli" cloud_run
|
||||
}
|
||||
|
||||
agent_env_vars() {
|
||||
generate_env_config \
|
||||
"OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"
|
||||
}
|
||||
|
||||
agent_configure() {
|
||||
setup_continue_config "${OPENROUTER_API_KEY}" cloud_upload cloud_run
|
||||
}
|
||||
|
||||
agent_launch_cmd() {
|
||||
echo 'source ~/.zshrc && cn'
|
||||
}
|
||||
|
||||
spawn_agent "Continue"
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -eo pipefail
|
||||
|
||||
# Source common functions - try local file first, fall back to remote
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
if [[ -f "${SCRIPT_DIR}/lib/common.sh" ]]; then
|
||||
source "${SCRIPT_DIR}/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/daytona/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "gptme on Daytona"
|
||||
echo ""
|
||||
|
||||
AGENT_MODEL_PROMPT=1
|
||||
AGENT_MODEL_DEFAULT="openrouter/auto"
|
||||
|
||||
agent_install() {
|
||||
install_agent "gptme" "command -v uv >/dev/null || curl -LsSf https://astral.sh/uv/install.sh | sh && export PATH=\"\$HOME/.local/bin:\$PATH\" && uv tool install gptme" cloud_run
|
||||
verify_agent "gptme" "export PATH=\"\$HOME/.local/bin:\$PATH\" && command -v gptme" "uv tool install gptme" cloud_run
|
||||
}
|
||||
|
||||
agent_env_vars() {
|
||||
generate_env_config \
|
||||
"OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"
|
||||
}
|
||||
|
||||
agent_launch_cmd() {
|
||||
printf 'source ~/.zshrc && gptme -m %s' "${MODEL_ID}"
|
||||
}
|
||||
|
||||
spawn_agent "gptme"
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -eo pipefail
|
||||
|
||||
# Source common functions - try local file first, fall back to remote
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
if [[ -f "${SCRIPT_DIR}/lib/common.sh" ]]; then
|
||||
source "${SCRIPT_DIR}/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/daytona/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "Plandex on Daytona"
|
||||
echo ""
|
||||
|
||||
agent_install() {
|
||||
install_agent "Plandex" "curl -sL https://plandex.ai/install.sh | bash" cloud_run
|
||||
verify_agent "Plandex" "command -v plandex && plandex version" "curl -sL https://plandex.ai/install.sh | bash" cloud_run
|
||||
}
|
||||
|
||||
agent_env_vars() {
|
||||
generate_env_config \
|
||||
"OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"
|
||||
}
|
||||
|
||||
agent_launch_cmd() {
|
||||
echo 'source ~/.zshrc && plandex'
|
||||
}
|
||||
|
||||
spawn_agent "Plandex"
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
#!/bin/bash
|
||||
# shellcheck disable=SC2154
|
||||
set -eo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
# shellcheck source=digitalocean/lib/common.sh
|
||||
if [[ -f "${SCRIPT_DIR}/lib/common.sh" ]]; then
|
||||
source "${SCRIPT_DIR}/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/digitalocean/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "Cline on DigitalOcean"
|
||||
echo ""
|
||||
|
||||
agent_install() { install_agent "Cline" "npm install -g cline" cloud_run; }
|
||||
agent_env_vars() {
|
||||
generate_env_config \
|
||||
"OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"
|
||||
}
|
||||
agent_configure() {
|
||||
log_step "Authenticating Cline with OpenRouter..."
|
||||
cloud_run "source ~/.zshrc && cline auth -p openrouter -k \"\${OPENROUTER_API_KEY}\""
|
||||
}
|
||||
agent_launch_cmd() { echo 'source ~/.zshrc && cline'; }
|
||||
|
||||
spawn_agent "Cline"
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
#!/bin/bash
|
||||
# shellcheck disable=SC2154
|
||||
set -eo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
# shellcheck source=digitalocean/lib/common.sh
|
||||
if [[ -f "${SCRIPT_DIR}/lib/common.sh" ]]; then
|
||||
source "${SCRIPT_DIR}/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/digitalocean/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "Continue on DigitalOcean"
|
||||
echo ""
|
||||
|
||||
agent_install() { install_agent "Continue CLI" "npm install -g @continuedev/cli" cloud_run; }
|
||||
agent_env_vars() { generate_env_config "OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"; }
|
||||
agent_configure() { setup_continue_config "${OPENROUTER_API_KEY}" cloud_upload cloud_run; }
|
||||
agent_launch_cmd() { echo 'source ~/.zshrc && cn'; }
|
||||
|
||||
spawn_agent "Continue"
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -eo pipefail
|
||||
|
||||
# Source common functions - try local file first, fall back to remote
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
if [[ -f "$SCRIPT_DIR/lib/common.sh" ]]; then
|
||||
source "$SCRIPT_DIR/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/digitalocean/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "gptme on DigitalOcean"
|
||||
echo ""
|
||||
|
||||
AGENT_MODEL_PROMPT=1
|
||||
AGENT_MODEL_DEFAULT="openrouter/auto"
|
||||
|
||||
agent_install() {
|
||||
install_agent "gptme" "command -v uv >/dev/null || curl -LsSf https://astral.sh/uv/install.sh | sh && export PATH=\"\$HOME/.local/bin:\$PATH\" && uv tool install gptme" cloud_run
|
||||
verify_agent "gptme" "export PATH=\"\$HOME/.local/bin:\$PATH\" && command -v gptme" "uv tool install gptme" cloud_run
|
||||
}
|
||||
agent_env_vars() { generate_env_config "OPENROUTER_API_KEY=$OPENROUTER_API_KEY"; }
|
||||
agent_launch_cmd() { printf 'source ~/.zshrc && gptme -m %s' "${MODEL_ID}"; }
|
||||
|
||||
spawn_agent "gptme"
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -eo pipefail
|
||||
|
||||
# Source common functions - try local file first, fall back to remote
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
# shellcheck source=digitalocean/lib/common.sh
|
||||
if [[ -f "${SCRIPT_DIR}/lib/common.sh" ]]; then
|
||||
source "${SCRIPT_DIR}/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/digitalocean/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "Plandex on DigitalOcean"
|
||||
echo ""
|
||||
|
||||
agent_install() {
|
||||
install_agent "Plandex" "curl -sL https://plandex.ai/install.sh | bash" cloud_run
|
||||
verify_agent "Plandex" "command -v plandex && plandex version" "curl -sL https://plandex.ai/install.sh | bash" cloud_run
|
||||
}
|
||||
agent_env_vars() { generate_env_config "OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"; }
|
||||
agent_launch_cmd() { echo 'source ~/.zshrc && plandex'; }
|
||||
|
||||
spawn_agent "Plandex"
|
||||
33
fly/cline.sh
33
fly/cline.sh
|
|
@ -1,33 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -eo pipefail
|
||||
|
||||
# Source common functions - try local file first, fall back to remote
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
if [[ -f "$SCRIPT_DIR/lib/common.sh" ]]; then
|
||||
source "$SCRIPT_DIR/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/fly/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "Cline on Fly.io"
|
||||
echo ""
|
||||
|
||||
agent_install() {
|
||||
install_agent "Cline" "npm install -g cline" cloud_run
|
||||
}
|
||||
|
||||
agent_env_vars() {
|
||||
generate_env_config \
|
||||
"OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"
|
||||
}
|
||||
|
||||
agent_configure() {
|
||||
log_step "Authenticating Cline with OpenRouter..."
|
||||
cloud_run "source ~/.zshrc && cline auth -p openrouter -k \"\${OPENROUTER_API_KEY}\""
|
||||
}
|
||||
|
||||
agent_launch_cmd() {
|
||||
echo 'source ~/.zshrc && cline'
|
||||
}
|
||||
|
||||
spawn_agent "Cline"
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -eo pipefail
|
||||
|
||||
# Source common functions - try local file first, fall back to remote
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
if [[ -f "$SCRIPT_DIR/lib/common.sh" ]]; then
|
||||
source "$SCRIPT_DIR/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/fly/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "Continue on Fly.io"
|
||||
echo ""
|
||||
|
||||
agent_install() {
|
||||
install_agent "Continue CLI" "npm install -g @continuedev/cli" cloud_run
|
||||
}
|
||||
|
||||
agent_env_vars() {
|
||||
generate_env_config \
|
||||
"OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"
|
||||
}
|
||||
|
||||
agent_configure() {
|
||||
setup_continue_config "${OPENROUTER_API_KEY}" cloud_upload cloud_run
|
||||
}
|
||||
|
||||
agent_launch_cmd() {
|
||||
echo 'source ~/.zshrc && cn'
|
||||
}
|
||||
|
||||
spawn_agent "Continue"
|
||||
32
fly/gptme.sh
32
fly/gptme.sh
|
|
@ -1,32 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -eo pipefail
|
||||
|
||||
# Source common functions - try local file first, fall back to remote
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
if [[ -f "$SCRIPT_DIR/lib/common.sh" ]]; then
|
||||
source "$SCRIPT_DIR/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/fly/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "gptme on Fly.io"
|
||||
echo ""
|
||||
|
||||
AGENT_MODEL_PROMPT=1
|
||||
AGENT_MODEL_DEFAULT="openrouter/auto"
|
||||
|
||||
agent_install() {
|
||||
install_agent "gptme" "command -v uv >/dev/null || curl -LsSf https://astral.sh/uv/install.sh | sh && export PATH=\"\$HOME/.local/bin:\$PATH\" && uv tool install gptme" cloud_run
|
||||
verify_agent "gptme" "export PATH=\"\$HOME/.local/bin:\$PATH\" && command -v gptme" "uv tool install gptme" cloud_run
|
||||
}
|
||||
|
||||
agent_env_vars() {
|
||||
generate_env_config \
|
||||
"OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"
|
||||
}
|
||||
|
||||
agent_launch_cmd() {
|
||||
printf 'source ~/.zshrc && gptme -m %s' "${MODEL_ID}"
|
||||
}
|
||||
|
||||
spawn_agent "gptme"
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -eo pipefail
|
||||
|
||||
# Source common functions - try local file first, fall back to remote
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
if [[ -f "$SCRIPT_DIR/lib/common.sh" ]]; then
|
||||
source "$SCRIPT_DIR/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/fly/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "Plandex on Fly.io"
|
||||
echo ""
|
||||
|
||||
agent_install() {
|
||||
install_agent "Plandex" "curl -sL https://plandex.ai/install.sh | bash" cloud_run
|
||||
verify_agent "Plandex" "command -v plandex && plandex version" "curl -sL https://plandex.ai/install.sh | bash" cloud_run
|
||||
}
|
||||
|
||||
agent_env_vars() {
|
||||
generate_env_config \
|
||||
"OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"
|
||||
}
|
||||
|
||||
agent_launch_cmd() {
|
||||
echo 'source ~/.zshrc && plandex'
|
||||
}
|
||||
|
||||
spawn_agent "Plandex"
|
||||
27
gcp/cline.sh
27
gcp/cline.sh
|
|
@ -1,27 +0,0 @@
|
|||
#!/bin/bash
|
||||
# shellcheck disable=SC2154
|
||||
set -eo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
# shellcheck source=gcp/lib/common.sh
|
||||
if [[ -f "${SCRIPT_DIR}/lib/common.sh" ]]; then
|
||||
source "${SCRIPT_DIR}/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/gcp/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "Cline on GCP Compute Engine"
|
||||
echo ""
|
||||
|
||||
agent_install() { install_agent "Cline" "npm install -g cline" cloud_run; }
|
||||
agent_env_vars() {
|
||||
generate_env_config \
|
||||
"OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"
|
||||
}
|
||||
agent_configure() {
|
||||
log_step "Authenticating Cline with OpenRouter..."
|
||||
cloud_run "source ~/.zshrc && cline auth -p openrouter -k \"\${OPENROUTER_API_KEY}\""
|
||||
}
|
||||
agent_launch_cmd() { echo 'source ~/.zshrc && cline'; }
|
||||
|
||||
spawn_agent "Cline"
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
#!/bin/bash
|
||||
# shellcheck disable=SC2154
|
||||
set -eo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
# shellcheck source=gcp/lib/common.sh
|
||||
if [[ -f "${SCRIPT_DIR}/lib/common.sh" ]]; then
|
||||
source "${SCRIPT_DIR}/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/gcp/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "Continue on GCP Compute Engine"
|
||||
echo ""
|
||||
|
||||
agent_install() { install_agent "Continue CLI" "npm install -g @continuedev/cli" cloud_run; }
|
||||
agent_env_vars() { generate_env_config "OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"; }
|
||||
agent_configure() { setup_continue_config "${OPENROUTER_API_KEY}" cloud_upload cloud_run; }
|
||||
agent_launch_cmd() { echo 'source ~/.zshrc && cn'; }
|
||||
|
||||
spawn_agent "Continue"
|
||||
25
gcp/gptme.sh
25
gcp/gptme.sh
|
|
@ -1,25 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -eo pipefail
|
||||
|
||||
# Source common functions - try local file first, fall back to remote
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
if [[ -f "$SCRIPT_DIR/lib/common.sh" ]]; then
|
||||
source "$SCRIPT_DIR/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/gcp/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "gptme on GCP Compute Engine"
|
||||
echo ""
|
||||
|
||||
AGENT_MODEL_PROMPT=1
|
||||
AGENT_MODEL_DEFAULT="openrouter/auto"
|
||||
|
||||
agent_install() {
|
||||
install_agent "gptme" "command -v uv >/dev/null || curl -LsSf https://astral.sh/uv/install.sh | sh && export PATH=\"\$HOME/.local/bin:\$PATH\" && uv tool install gptme" cloud_run
|
||||
verify_agent "gptme" "export PATH=\"\$HOME/.local/bin:\$PATH\" && command -v gptme" "uv tool install gptme" cloud_run
|
||||
}
|
||||
agent_env_vars() { generate_env_config "OPENROUTER_API_KEY=$OPENROUTER_API_KEY"; }
|
||||
agent_launch_cmd() { printf 'source ~/.zshrc && gptme -m %s' "${MODEL_ID}"; }
|
||||
|
||||
spawn_agent "gptme"
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -eo pipefail
|
||||
|
||||
# Source common functions - try local file first, fall back to remote
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
# shellcheck source=gcp/lib/common.sh
|
||||
if [[ -f "${SCRIPT_DIR}/lib/common.sh" ]]; then
|
||||
source "${SCRIPT_DIR}/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/gcp/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "Plandex on GCP Compute Engine"
|
||||
echo ""
|
||||
|
||||
agent_install() {
|
||||
install_agent "Plandex" "curl -sL https://plandex.ai/install.sh | bash" cloud_run
|
||||
verify_agent "Plandex" "command -v plandex && plandex version" "curl -sL https://plandex.ai/install.sh | bash" cloud_run
|
||||
}
|
||||
agent_env_vars() { generate_env_config "OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"; }
|
||||
agent_launch_cmd() { echo 'source ~/.zshrc && plandex'; }
|
||||
|
||||
spawn_agent "Plandex"
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
#!/bin/bash
|
||||
# shellcheck disable=SC2154
|
||||
set -eo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
# shellcheck source=hetzner/lib/common.sh
|
||||
if [[ -f "${SCRIPT_DIR}/lib/common.sh" ]]; then
|
||||
source "${SCRIPT_DIR}/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/hetzner/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "Cline on Hetzner Cloud"
|
||||
echo ""
|
||||
|
||||
agent_install() { install_agent "Cline" "npm install -g cline" cloud_run; }
|
||||
agent_env_vars() {
|
||||
generate_env_config \
|
||||
"OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"
|
||||
}
|
||||
agent_configure() {
|
||||
log_step "Authenticating Cline with OpenRouter..."
|
||||
cloud_run "source ~/.zshrc && cline auth -p openrouter -k \"\${OPENROUTER_API_KEY}\""
|
||||
}
|
||||
agent_launch_cmd() { echo 'source ~/.zshrc && cline'; }
|
||||
|
||||
spawn_agent "Cline"
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
#!/bin/bash
|
||||
# shellcheck disable=SC2154
|
||||
set -eo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
# shellcheck source=hetzner/lib/common.sh
|
||||
if [[ -f "${SCRIPT_DIR}/lib/common.sh" ]]; then
|
||||
source "${SCRIPT_DIR}/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/hetzner/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "Continue on Hetzner Cloud"
|
||||
echo ""
|
||||
|
||||
agent_install() { install_agent "Continue CLI" "npm install -g @continuedev/cli" cloud_run; }
|
||||
agent_env_vars() { generate_env_config "OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"; }
|
||||
agent_configure() { setup_continue_config "${OPENROUTER_API_KEY}" cloud_upload cloud_run; }
|
||||
agent_launch_cmd() { echo 'source ~/.zshrc && cn'; }
|
||||
|
||||
spawn_agent "Continue"
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -eo pipefail
|
||||
|
||||
# Source common functions - try local file first, fall back to remote
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
if [[ -f "$SCRIPT_DIR/lib/common.sh" ]]; then
|
||||
source "$SCRIPT_DIR/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/hetzner/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "gptme on Hetzner Cloud"
|
||||
echo ""
|
||||
|
||||
AGENT_MODEL_PROMPT=1
|
||||
AGENT_MODEL_DEFAULT="openrouter/auto"
|
||||
|
||||
agent_install() {
|
||||
install_agent "gptme" "command -v uv >/dev/null || curl -LsSf https://astral.sh/uv/install.sh | sh && export PATH=\"\$HOME/.local/bin:\$PATH\" && uv tool install gptme" cloud_run
|
||||
verify_agent "gptme" "export PATH=\"\$HOME/.local/bin:\$PATH\" && command -v gptme" "uv tool install gptme" cloud_run
|
||||
}
|
||||
agent_env_vars() { generate_env_config "OPENROUTER_API_KEY=$OPENROUTER_API_KEY"; }
|
||||
agent_launch_cmd() { printf 'source ~/.zshrc && gptme -m %s' "${MODEL_ID}"; }
|
||||
|
||||
spawn_agent "gptme"
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -eo pipefail
|
||||
|
||||
# Source common functions - try local file first, fall back to remote
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
# shellcheck source=hetzner/lib/common.sh
|
||||
if [[ -f "${SCRIPT_DIR}/lib/common.sh" ]]; then
|
||||
source "${SCRIPT_DIR}/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/hetzner/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "Plandex on Hetzner Cloud"
|
||||
echo ""
|
||||
|
||||
agent_install() {
|
||||
install_agent "Plandex" "curl -sL https://plandex.ai/install.sh | bash" cloud_run
|
||||
verify_agent "Plandex" "command -v plandex && plandex version" "curl -sL https://plandex.ai/install.sh | bash" cloud_run
|
||||
}
|
||||
agent_env_vars() { generate_env_config "OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"; }
|
||||
agent_launch_cmd() { echo 'source ~/.zshrc && plandex'; }
|
||||
|
||||
spawn_agent "Plandex"
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -eo pipefail
|
||||
|
||||
# Source common functions - try local file first, fall back to remote
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
if [[ -f "${SCRIPT_DIR}/lib/common.sh" ]]; then
|
||||
source "${SCRIPT_DIR}/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/local/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "Cline on local machine"
|
||||
echo ""
|
||||
|
||||
agent_install() {
|
||||
install_agent "Cline" "npm install -g cline" cloud_run
|
||||
}
|
||||
|
||||
agent_env_vars() {
|
||||
generate_env_config \
|
||||
"OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"
|
||||
}
|
||||
|
||||
agent_configure() {
|
||||
log_step "Authenticating Cline with OpenRouter..."
|
||||
cloud_run "source ~/.zshrc 2>/dev/null; cline auth -p openrouter -k \"\${OPENROUTER_API_KEY}\""
|
||||
}
|
||||
|
||||
agent_launch_cmd() {
|
||||
echo 'source ~/.zshrc 2>/dev/null; cline'
|
||||
}
|
||||
|
||||
spawn_agent "Cline"
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -eo pipefail
|
||||
|
||||
# Source common functions - try local file first, fall back to remote
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
if [[ -f "${SCRIPT_DIR}/lib/common.sh" ]]; then
|
||||
source "${SCRIPT_DIR}/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/local/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "Continue on local machine"
|
||||
echo ""
|
||||
|
||||
agent_install() {
|
||||
install_agent "Continue CLI" "npm install -g @continuedev/cli" cloud_run
|
||||
}
|
||||
|
||||
agent_env_vars() {
|
||||
generate_env_config \
|
||||
"OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"
|
||||
}
|
||||
|
||||
agent_configure() {
|
||||
setup_continue_config "${OPENROUTER_API_KEY}" cloud_upload cloud_run
|
||||
}
|
||||
|
||||
agent_launch_cmd() {
|
||||
echo 'source ~/.zshrc 2>/dev/null; cn'
|
||||
}
|
||||
|
||||
spawn_agent "Continue"
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -eo pipefail
|
||||
|
||||
# Source common functions - try local file first, fall back to remote
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
if [[ -f "${SCRIPT_DIR}/lib/common.sh" ]]; then
|
||||
source "${SCRIPT_DIR}/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/local/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "gptme on local machine"
|
||||
echo ""
|
||||
|
||||
AGENT_MODEL_PROMPT=1
|
||||
AGENT_MODEL_DEFAULT="openrouter/auto"
|
||||
|
||||
agent_install() {
|
||||
install_agent "gptme" "command -v uv >/dev/null || { command -v brew >/dev/null && brew install uv || curl -LsSf https://astral.sh/uv/install.sh | sh; } && uv tool install gptme" cloud_run
|
||||
verify_agent "gptme" "export PATH=\"\$HOME/.local/bin:\$PATH\" && command -v gptme" "uv tool install gptme" cloud_run
|
||||
}
|
||||
|
||||
agent_env_vars() {
|
||||
generate_env_config \
|
||||
"OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"
|
||||
}
|
||||
|
||||
agent_launch_cmd() {
|
||||
printf 'source ~/.zshrc 2>/dev/null; gptme -m %s' "${MODEL_ID}"
|
||||
}
|
||||
|
||||
spawn_agent "gptme"
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -eo pipefail
|
||||
|
||||
# Source common functions - try local file first, fall back to remote
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
if [[ -f "${SCRIPT_DIR}/lib/common.sh" ]]; then
|
||||
source "${SCRIPT_DIR}/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/local/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "Plandex on local machine"
|
||||
echo ""
|
||||
|
||||
agent_install() {
|
||||
install_agent "Plandex" "curl -sL https://plandex.ai/install.sh | bash" cloud_run
|
||||
verify_agent "Plandex" "command -v plandex && plandex version" "curl -sL https://plandex.ai/install.sh | bash" cloud_run
|
||||
}
|
||||
|
||||
agent_env_vars() {
|
||||
generate_env_config \
|
||||
"OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"
|
||||
}
|
||||
|
||||
agent_launch_cmd() {
|
||||
echo 'source ~/.zshrc 2>/dev/null; plandex'
|
||||
}
|
||||
|
||||
spawn_agent "Plandex"
|
||||
103
manifest.json
103
manifest.json
|
|
@ -86,38 +86,6 @@
|
|||
"notes": "Works with OpenRouter via OPENAI_BASE_URL override pointing to openrouter.ai/api/v1",
|
||||
"featured_cloud": ["fly"]
|
||||
},
|
||||
"cline": {
|
||||
"name": "Cline",
|
||||
"description": "Open-source AI coding agent for the terminal",
|
||||
"url": "https://github.com/cline/cline",
|
||||
"install": "npm install -g cline",
|
||||
"launch": "cline",
|
||||
"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",
|
||||
"featured_cloud": ["fly"]
|
||||
},
|
||||
"gptme": {
|
||||
"name": "gptme",
|
||||
"description": "Personal AI agent in the terminal with tools for code, terminal, browser, and more",
|
||||
"url": "https://github.com/gptme/gptme",
|
||||
"install": "pip install gptme",
|
||||
"launch": "gptme -m openrouter/${MODEL_ID}",
|
||||
"env": {
|
||||
"OPENROUTER_API_KEY": "${OPENROUTER_API_KEY}"
|
||||
},
|
||||
"interactive_prompts": {
|
||||
"model_id": {
|
||||
"prompt": "Enter model ID",
|
||||
"default": "openrouter/auto"
|
||||
}
|
||||
},
|
||||
"notes": "Natively supports OpenRouter via OPENROUTER_API_KEY and -m openrouter/... flag",
|
||||
"featured_cloud": ["daytona"]
|
||||
},
|
||||
"opencode": {
|
||||
"name": "OpenCode",
|
||||
"description": "AI coding agent built for the terminal with TUI",
|
||||
|
|
@ -130,18 +98,6 @@
|
|||
"notes": "Natively supports OpenRouter via OPENROUTER_API_KEY env var. Go-based TUI using Bubble Tea.",
|
||||
"featured_cloud": ["daytona"]
|
||||
},
|
||||
"plandex": {
|
||||
"name": "Plandex",
|
||||
"description": "Open source AI coding agent for complex tasks",
|
||||
"url": "https://github.com/plandex-ai/plandex",
|
||||
"install": "curl -sL https://plandex.ai/install.sh | bash",
|
||||
"launch": "plandex",
|
||||
"env": {
|
||||
"OPENROUTER_API_KEY": "${OPENROUTER_API_KEY}"
|
||||
},
|
||||
"notes": "Natively supports OpenRouter via OPENROUTER_API_KEY env var. Go-based CLI with sandbox and version control for AI changes.",
|
||||
"featured_cloud": ["daytona"]
|
||||
},
|
||||
"kilocode": {
|
||||
"name": "Kilo Code",
|
||||
"description": "All-in-one agentic engineering platform with CLI",
|
||||
|
|
@ -155,31 +111,6 @@
|
|||
},
|
||||
"notes": "Natively supports OpenRouter as a provider via KILO_PROVIDER_TYPE=openrouter. CLI installable via npm as @kilocode/cli, invocable as 'kilocode' or 'kilo'.",
|
||||
"featured_cloud": ["fly"]
|
||||
},
|
||||
"continue": {
|
||||
"name": "Continue",
|
||||
"description": "Open-source AI coding assistant with CLI TUI and headless modes",
|
||||
"url": "https://github.com/continuedev/continue",
|
||||
"install": "npm install -g @continuedev/cli",
|
||||
"launch": "cn",
|
||||
"env": {
|
||||
"OPENROUTER_API_KEY": "${OPENROUTER_API_KEY}"
|
||||
},
|
||||
"config_files": {
|
||||
"~/.continue/config.json": {
|
||||
"models": [
|
||||
{
|
||||
"title": "OpenRouter",
|
||||
"provider": "openrouter",
|
||||
"model": "openrouter/auto",
|
||||
"apiBase": "https://openrouter.ai/api/v1",
|
||||
"apiKey": "${OPENROUTER_API_KEY}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"notes": "Natively supports OpenRouter via config.json. CLI supports TUI mode (interactive) and headless mode (-p flag). 31K+ GitHub stars.",
|
||||
"featured_cloud": ["fly"]
|
||||
}
|
||||
},
|
||||
"clouds": {
|
||||
|
|
@ -317,26 +248,14 @@
|
|||
"aws/openclaw": "implemented",
|
||||
"aws/nanoclaw": "implemented",
|
||||
"aws/codex": "implemented",
|
||||
"sprite/cline": "implemented",
|
||||
"hetzner/cline": "implemented",
|
||||
"digitalocean/cline": "implemented",
|
||||
"aws/cline": "implemented",
|
||||
"gcp/claude": "implemented",
|
||||
"gcp/openclaw": "implemented",
|
||||
"gcp/nanoclaw": "implemented",
|
||||
"gcp/codex": "implemented",
|
||||
"gcp/cline": "implemented",
|
||||
"sprite/gptme": "implemented",
|
||||
"hetzner/gptme": "implemented",
|
||||
"digitalocean/gptme": "implemented",
|
||||
"aws/gptme": "implemented",
|
||||
"gcp/gptme": "implemented",
|
||||
"fly/claude": "implemented",
|
||||
"fly/openclaw": "implemented",
|
||||
"fly/nanoclaw": "implemented",
|
||||
"fly/codex": "implemented",
|
||||
"fly/cline": "implemented",
|
||||
"fly/gptme": "implemented",
|
||||
"sprite/opencode": "implemented",
|
||||
"hetzner/opencode": "implemented",
|
||||
"digitalocean/opencode": "implemented",
|
||||
|
|
@ -347,16 +266,7 @@
|
|||
"daytona/openclaw": "implemented",
|
||||
"daytona/nanoclaw": "implemented",
|
||||
"daytona/codex": "implemented",
|
||||
"daytona/cline": "implemented",
|
||||
"daytona/gptme": "implemented",
|
||||
"daytona/opencode": "implemented",
|
||||
"sprite/plandex": "implemented",
|
||||
"hetzner/plandex": "implemented",
|
||||
"digitalocean/plandex": "implemented",
|
||||
"aws/plandex": "implemented",
|
||||
"gcp/plandex": "implemented",
|
||||
"fly/plandex": "implemented",
|
||||
"daytona/plandex": "implemented",
|
||||
"sprite/kilocode": "implemented",
|
||||
"hetzner/kilocode": "implemented",
|
||||
"digitalocean/kilocode": "implemented",
|
||||
|
|
@ -364,22 +274,11 @@
|
|||
"gcp/kilocode": "implemented",
|
||||
"fly/kilocode": "implemented",
|
||||
"daytona/kilocode": "implemented",
|
||||
"sprite/continue": "implemented",
|
||||
"hetzner/continue": "implemented",
|
||||
"digitalocean/continue": "implemented",
|
||||
"aws/continue": "implemented",
|
||||
"gcp/continue": "implemented",
|
||||
"fly/continue": "implemented",
|
||||
"daytona/continue": "implemented",
|
||||
"local/claude": "implemented",
|
||||
"local/openclaw": "implemented",
|
||||
"local/nanoclaw": "implemented",
|
||||
"local/codex": "implemented",
|
||||
"local/cline": "implemented",
|
||||
"local/gptme": "implemented",
|
||||
"local/opencode": "missing",
|
||||
"local/plandex": "implemented",
|
||||
"local/kilocode": "implemented",
|
||||
"local/continue": "implemented"
|
||||
"local/kilocode": "implemented"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,33 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -eo pipefail
|
||||
|
||||
# Source common functions - try local file first, fall back to remote
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
if [[ -f "${SCRIPT_DIR}/lib/common.sh" ]]; then
|
||||
source "${SCRIPT_DIR}/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/sprite/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "Cline on Sprite"
|
||||
echo ""
|
||||
|
||||
agent_install() {
|
||||
install_agent "Cline" "npm install -g cline" cloud_run
|
||||
}
|
||||
|
||||
agent_env_vars() {
|
||||
generate_env_config \
|
||||
"OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"
|
||||
}
|
||||
|
||||
agent_configure() {
|
||||
log_step "Authenticating Cline with OpenRouter..."
|
||||
cloud_run "source ~/.zshrc && cline auth -p openrouter -k \"\${OPENROUTER_API_KEY}\""
|
||||
}
|
||||
|
||||
agent_launch_cmd() {
|
||||
echo 'source ~/.zshrc && cline'
|
||||
}
|
||||
|
||||
spawn_agent "Cline"
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -eo pipefail
|
||||
|
||||
# Source common functions - try local file first, fall back to remote
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
if [[ -f "${SCRIPT_DIR}/lib/common.sh" ]]; then
|
||||
source "${SCRIPT_DIR}/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/sprite/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "Continue on Sprite"
|
||||
echo ""
|
||||
|
||||
agent_install() {
|
||||
install_agent "Continue CLI" "npm install -g @continuedev/cli" cloud_run
|
||||
}
|
||||
|
||||
agent_env_vars() {
|
||||
generate_env_config \
|
||||
"OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"
|
||||
}
|
||||
|
||||
agent_configure() {
|
||||
setup_continue_config "${OPENROUTER_API_KEY}" cloud_upload cloud_run
|
||||
}
|
||||
|
||||
agent_launch_cmd() {
|
||||
echo 'source ~/.zshrc && cn'
|
||||
}
|
||||
|
||||
spawn_agent "Continue"
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -eo pipefail
|
||||
|
||||
# Source common functions - try local file first, fall back to remote
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
if [[ -f "${SCRIPT_DIR}/lib/common.sh" ]]; then
|
||||
source "${SCRIPT_DIR}/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/sprite/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "gptme on Sprite"
|
||||
echo ""
|
||||
|
||||
AGENT_MODEL_PROMPT=1
|
||||
AGENT_MODEL_DEFAULT="openrouter/auto"
|
||||
|
||||
agent_install() {
|
||||
install_agent "gptme" "command -v uv >/dev/null || curl -LsSf https://astral.sh/uv/install.sh | sh && export PATH=\"\$HOME/.local/bin:\$PATH\" && uv tool install gptme" cloud_run
|
||||
verify_agent "gptme" "export PATH=\"\$HOME/.local/bin:\$PATH\" && command -v gptme" "uv tool install gptme" cloud_run
|
||||
}
|
||||
|
||||
agent_env_vars() {
|
||||
generate_env_config \
|
||||
"OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"
|
||||
}
|
||||
|
||||
agent_launch_cmd() {
|
||||
printf 'source ~/.zshrc && gptme -m %s' "${MODEL_ID}"
|
||||
}
|
||||
|
||||
spawn_agent "gptme"
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -eo pipefail
|
||||
|
||||
# Source common functions - try local file first, fall back to remote
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
|
||||
if [[ -f "${SCRIPT_DIR}/lib/common.sh" ]]; then
|
||||
source "${SCRIPT_DIR}/lib/common.sh"
|
||||
else
|
||||
eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/sprite/lib/common.sh)"
|
||||
fi
|
||||
|
||||
log_info "Plandex on Sprite"
|
||||
echo ""
|
||||
|
||||
agent_install() {
|
||||
install_agent "Plandex" "curl -sL https://plandex.ai/install.sh | bash" cloud_run
|
||||
verify_agent "Plandex" "command -v plandex && plandex version" "curl -sL https://plandex.ai/install.sh | bash" cloud_run
|
||||
}
|
||||
|
||||
agent_env_vars() {
|
||||
generate_env_config \
|
||||
"OPENROUTER_API_KEY=${OPENROUTER_API_KEY}"
|
||||
}
|
||||
|
||||
agent_launch_cmd() {
|
||||
echo 'source ~/.zshrc && plandex'
|
||||
}
|
||||
|
||||
spawn_agent "Plandex"
|
||||
|
|
@ -34,7 +34,7 @@ _parse_args() {
|
|||
_maybe_inject_error() {
|
||||
[ -n "${MOCK_ERROR_SCENARIO:-}" ] || return 1
|
||||
case "$URL" in
|
||||
*openrouter.ai*|*raw.githubusercontent.com*|*claude.ai/install*|*bun.sh*|*nodesource*|*plandex.ai*|*opencode*|*pip.pypa.io*|*get.docker.com*|*npmjs.org*|*github.com/*/releases*)
|
||||
*openrouter.ai*|*raw.githubusercontent.com*|*claude.ai/install*|*bun.sh*|*nodesource*|*opencode*|*pip.pypa.io*|*get.docker.com*|*npmjs.org*|*github.com/*/releases*)
|
||||
return 1 ;;
|
||||
esac
|
||||
case "${MOCK_ERROR_SCENARIO}" in
|
||||
|
|
@ -65,7 +65,7 @@ _maybe_inject_error() {
|
|||
|
||||
_handle_special_urls() {
|
||||
case "$URL" in
|
||||
*claude.ai/install*|*bun.sh*|*nodesource*|*plandex.ai*|*opencode*install*|\
|
||||
*claude.ai/install*|*bun.sh*|*nodesource*|*opencode*install*|\
|
||||
*pip.pypa.io*|*get.docker.com*|*install.python-poetry.org*|\
|
||||
*npmjs.org*|*deb.nodesource.com*|*github.com/*/releases*|*cli.github.com*)
|
||||
printf '#!/bin/bash\nexit 0\n'
|
||||
|
|
|
|||
|
|
@ -243,7 +243,7 @@ MOCK
|
|||
|
||||
setup_mock_agents() {
|
||||
# Agent binaries
|
||||
_create_logging_mock claude codex cline gptme opencode plandex kilocode openclaw nanoclaw q
|
||||
_create_logging_mock claude codex opencode kilocode openclaw nanoclaw q
|
||||
|
||||
# Tools used during agent install and file upload
|
||||
_create_logging_mock pip pip3 npm npx bun node openssl shred cargo go git base64
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue