ObolNetwork / ObolNetwork/obol-stack

feat: `obol openclaw set-model` for per-instance provider/model switching

Open
#275 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Go
Stars
11
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Problem

Changing an OpenClaw instance's model or provider routing requires re-onboarding (obol openclaw onboard --interactive) or manually editing the values-obol.yaml overlay. There's no quick CLI verb to switch an existing instance's model or toggle between LiteLLM-routed and direct provider access.

Proposed UX

# Switch model (still through LiteLLM)
obol openclaw set-model obol-agent --model gpt-4.1

# Switch to direct OpenAI (bypass LiteLLM)
obol openclaw set-model obol-agent --provider openai --direct --api-key sk-proj-...

# Switch back to LiteLLM-routed
obol openclaw set-model obol-agent --model claude-sonnet-4-6

Context

The infrastructure already supports both routing modes:

  • LiteLLM-routed: buildLiteLLMRoutedOverlay() — all traffic through litellm:4000/v1
  • Direct provider: buildDirectProviderOverlay() — native API access, key in per-instance Secret

Currently only accessible via obol openclaw onboard --interactive which recreates the full deployment. A set-model verb would patch the overlay and re-sync without full re-onboarding.

Scope

  • obol openclaw set-model <id> --model <name> — change primary model, keep current routing
  • obol openclaw set-model <id> --provider <name> --direct — switch to direct provider
  • obol openclaw set-model <id> --provider litellm — switch back to LiteLLM routing
  • Re-sync instance after overlay change (helmfile sync)
  • Validate model exists in LiteLLM config (for routed mode) or provider API (for direct mode)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the existing obol openclaw onboard --interactive flow and the buildLiteLLMRoutedOverlay() and buildDirectProviderOverlay() helpers. Define how set-model updates the per-instance overlay, handles routing and credentials, validates the requested model, and performs helmfile sync; done means all listed CLI modes work without full re-onboarding.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, helm, kubernetes
Domain
cli, devops, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.