Architecture
The Current Core Model
ClawGo is currently best described as an Agent Runtime, not as a world runtime.
Default collaboration flow:
user -> main -> worker -> main -> userThe main objects to understand are:
main agentsubagentsruntime store
Four Runtime Layers
The current system can be understood in four layers:
- Entry layer CLI, Gateway, WebUI, cron, and channels
- Orchestration layer
main agent, router, session planner, and message bus - Execution layer local subagents, tools, skills, and MCP
- Persistence and observability layer subagent runs, events, threads, messages, sessions, logs, memory, and task audit
main agent
main is responsible for:
- user entry
- routing and dispatch
- subtask merge
- final response assembly
It is the coordination center of the runtime, not just a static system prompt.
subagents
Local subagents are declared in config.json -> agents.subagents.
Each subagent can define:
roledisplay_namesystem_prompt_filememory_namespacetools.allowlistruntime.provider
Typical roles are still:
maincodertester
Router and Planner
Routing is handled by agents.router, with fields such as:
main_agent_idstrategyrulesmax_hopsdefault_timeout_sec
The planner can split suitable user requests into multiple execution units and hand them to the subagent runtime.
Runtime Store
The core persisted artifacts are:
subagent_runs.jsonlsubagent_events.jsonlthreads.jsonlagent_messages.jsonl
These files preserve execution state, internal messaging, and recovery points, not just chat text.
The Current Role Of The WebUI
The WebUI is focused on inspection and management of:
- Dashboard
- agent topology
- config viewing
- OAuth accounts and provider runtime
- logs and memory
The README currently stresses two things:
- WebUI is for inspection, status, and account management
- the canonical path for runtime configuration is still file-driven
What Was Removed Recently
Recent cleanup removed several legacy surfaces. The most important docs-level changes are:
runtime_controlhas been removed- the public task-runtime control surface has been reduced
- the older node runtime surface is no longer part of the default upstream product
The resulting mental model is simpler:
- configuration through
config.json - role prompts through
AGENT.md - execution through
main + subagents - observability through WebUI, logs, memory, and audit