Context
PR #381 adds Hermes as the stack-managed default agent runtime while keeping OpenClaw available as an optional manual runtime. Review feedback called out that putting Obol lifecycle commands directly under obol hermes risks duplicating and diverging from Hermes's native CLI surface.
Hermes already has a broad native CLI (chat, gateway, setup, auth, config, skills, dashboard, logs, profile, and more). Obol should not shadow or partially reimplement that command space.
Proposed UX
Move Obol-owned lifecycle and operational management to obol agent:
obol agent init
obol agent new --id research
obol agent new --runtime openclaw --id legacy
obol agent list
obol agent list --runtime hermes
obol agent sync research
obol agent auth obol-agent
obol agent auth obol-agent --regenerate
obol agent wallet address obol-agent
obol agent wallet list
obol agent delete research --force
Reserve obol hermes for native Hermes CLI passthrough against a deployed Hermes instance:
obol hermes chat -q "hello"
obol hermes skills list
obol hermes dashboard --no-open
obol hermes config show
obol hermes logs -f
obol hermes --agent research skills list
Keep obol openclaw as the explicit manual OpenClaw runtime path for now, while optionally adding equivalent obol agent --runtime openclaw management aliases where the behavior is genuinely shared.
Acceptance Criteria
obol agent owns stack/Obol lifecycle commands: create, onboard, sync, auth/token, wallet, list, delete.
obol hermes is raw/native Hermes CLI passthrough, with Obol only resolving the target deployed Hermes instance and execution context.
obol hermes <native args> defaults to the stack-managed obol-agent when available.
obol hermes --agent <id> <native args> targets a non-default Hermes instance.
- Existing stack-managed paths (
stack up, agent init, model sync, tunnel sync, inference token lookup) continue targeting Hermes only.
- OpenClaw remains manually deployable and does not get auto-selected by stack-managed flows.
- Docs and smoke flows use
obol agent for lifecycle and obol hermes only for native Hermes commands.
Notes
The Hermes implementation should continue using /Users/bussyjd/Development/R&D/hermes-agent as the grounding source for native CLI behavior, not OpenClaw assumptions.
Context
PR #381 adds Hermes as the stack-managed default agent runtime while keeping OpenClaw available as an optional manual runtime. Review feedback called out that putting Obol lifecycle commands directly under
obol hermesrisks duplicating and diverging from Hermes's native CLI surface.Hermes already has a broad native CLI (
chat,gateway,setup,auth,config,skills,dashboard,logs,profile, and more). Obol should not shadow or partially reimplement that command space.Proposed UX
Move Obol-owned lifecycle and operational management to
obol agent:Reserve
obol hermesfor native Hermes CLI passthrough against a deployed Hermes instance:obol hermes chat -q "hello" obol hermes skills list obol hermes dashboard --no-open obol hermes config show obol hermes logs -f obol hermes --agent research skills listKeep
obol openclawas the explicit manual OpenClaw runtime path for now, while optionally adding equivalentobol agent --runtime openclawmanagement aliases where the behavior is genuinely shared.Acceptance Criteria
obol agentowns stack/Obol lifecycle commands: create, onboard, sync, auth/token, wallet, list, delete.obol hermesis raw/native Hermes CLI passthrough, with Obol only resolving the target deployed Hermes instance and execution context.obol hermes <native args>defaults to the stack-managedobol-agentwhen available.obol hermes --agent <id> <native args>targets a non-default Hermes instance.stack up,agent init, model sync, tunnel sync, inference token lookup) continue targeting Hermes only.obol agentfor lifecycle andobol hermesonly for native Hermes commands.Notes
The Hermes implementation should continue using
/Users/bussyjd/Development/R&D/hermes-agentas the grounding source for native CLI behavior, not OpenClaw assumptions.