Skip to content

Dogfood: run ShellForge swarm on jared box via RunPod GPU #76

@jpleva91

Description

@jpleva91

Context

Setting up ShellForge as a governed Goose swarm on the jared box (WSL2, no local GPU), using a RunPod RTX 4090 for Ollama inference.

What we found during setup

  1. shellforge setup detects Linux + no GPU → skips Ollama + Goose entirely. It should offer remote Ollama configuration (set OLLAMA_HOST to a remote endpoint) instead of just saying "use CLI drivers". The headless server use case with remote GPU is a valid deployment.

  2. shellforge setup Step 5 skips Goose on isServer=true — but Goose works fine headlessly with a remote Ollama. The isServer check gates out the primary local agent driver.

  3. shellforge run goose calls goose run --no-session -t <prompt> — need to verify this still works with Goose v1.28.0 (the -t flag for text prompt).

  4. agents.yaml max_parallel auto-detect — on a CPU-only box with remote inference, RAM-based auto-detection is wrong. Should detect remote Ollama and set concurrency based on GPU VRAM instead.

  5. Version drift — installed binary is v0.6.1 but main.go hardcodes var version = "0.4.8". Release build must be overriding, but the source is stale.

Proposed fixes

  • shellforge setup: add "Remote Ollama" option when no local GPU — prompt for OLLAMA_HOST
  • shellforge setup: offer Goose install on headless servers (it works headlessly)
  • shellforge serve: support remote Ollama — skip local mustOllama() health check if OLLAMA_HOST is non-localhost
  • agents.yaml: add inference: remote option that disables RAM-based concurrency
  • Test goose run --no-session -t with v1.28.0 — flag may have changed
  • Sync version var in main.go with release tags

Environment

  • Box: jared (WSL2 Ubuntu, 8-core EPYC, 30GB RAM, no GPU)
  • ShellForge: v0.6.1 (brew tap)
  • Goose: v1.28.0 (Block AI agent, ~/.local/bin/goose)
  • Ollama: v0.18.3 CLI (server to run on RunPod RTX 4090)
  • Target model: qwen3:8b

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Medium priority

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions