3.5 KiB
Runtime Profiles
Claw3D now treats runtime backends as named saved profiles instead of one global URL/token pair.
Current Profiles
openclawhermesdemolocalclaw3dcustom
Each profile keeps its own saved URL and token in Studio settings.
What Each Profile Means
openclaw
The normal OpenClaw gateway flow over Studio's WebSocket bridge.
This is the provider-rich path. OpenClaw already knows how to sit in front of many upstream model providers, so Claw3D should treat it as a first-class gateway adapter rather than flattening it into custom.
Typical URL:
ws://localhost:18789
hermes
The bundled Hermes adapter over the same gateway-shaped WebSocket flow.
This is also a provider-aware runtime path. Hermes can own its own provider/account setup behind the gateway boundary.
Typical URL:
ws://localhost:18789
demo
The built-in demo gateway for a no-framework office.
If that gateway is not available, the office can still fall back to a seeded local main agent so the scene is explorable instead of dead-ending on the connect overlay.
Typical URL:
ws://localhost:18789
local
A direct HTTP runtime boundary for local orchestrators or local model routers.
Typical URL:
http://localhost:7770
claw3d
A Claw3D-shaped HTTP runtime profile for stacks that want to keep Claw3D transcript and chat conventions while still using the direct runtime seam.
Typical URL:
http://localhost:3000/api/runtime/custom
custom
The generic HTTP runtime seam when you want to point Claw3D at any compatible orchestrator boundary.
Typical URL:
http://localhost:7770
Current Runtime Contract
The direct runtime seam currently probes for:
GET /healthGET /stateGET /registryPOST /v1/chat/completions
That means local, claw3d, and custom are first-class saved profiles today.
On top of the normal chat/session calls, runtime providers now expose a shared multi-agent message seam:
agents.messageagents.handoff
These methods currently route through the existing gateway/runtime session model rather than inventing a second transcript transport.
Multi-Agent Message Contract
agents.message supports:
targetAgentIdmessagemode: "direct" | "interval"- optional
sourceAgentId - optional
sourceLabel - optional
cadenceHint
agents.handoff supports:
targetAgentIdtask- optional
context - optional
deliverables - optional
acceptanceCriteria - optional
sourceAgentId - optional
sourceLabel
The intent is to keep one stable message/handoff contract while different runtime adapters decide how to deliver it.
What Is Not Wired Yet
These are not first-class connection profiles yet in this branch:
- Anthropic
- Claude Code
- OpenRouter
- other provider-native transports
Those should land as real adapters, not as buttons that pretend the HTTP runtime seam already understands provider-specific auth and event semantics.
The current provider review path should borrow from existing Hermes/OpenClaw wizard flows where possible, but land as Claw3D-native adapters instead of hard-coupling Claw3D UI state to another project's connector code.
Why This Matters For Multi-Agent Work
The profile split is the first step toward:
- separate per-runtime saved connection state
- agent-to-agent chat and handoff across backends
- shared-floor and coworking flows without flattening every runtime into one transport
- future provider adapters that do not require rewriting Studio UI state