-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
[Feature]: Control UI: no cross-agent view when configuring or debugging multi-agent teams #69364
Copy link
Copy link
Open
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.ClawSweeper marked this issue as needing security-sensitive review.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.enhancementNew feature or requestNew feature or requestimpact:securitySecurity boundary, credential, authz, sandbox, or sensitive-data risk.Security boundary, credential, authz, sandbox, or sensitive-data risk.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Description
Metadata
Metadata
Assignees
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.ClawSweeper marked this issue as needing security-sensitive review.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.enhancementNew feature or requestNew feature or requestimpact:securitySecurity boundary, credential, authz, sandbox, or sensitive-data risk.Security boundary, credential, authz, sandbox, or sensitive-data risk.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Type
Fields
Priority
None yet
Summary
Control UI presents agents as a flat list. For teams coordinating via
sessions_spawn+shared-workspacesymlinks +TASK.json, reasoning about any single cross-agent relationship currently requires opening 5–10 files across 5 directories, because the UI surfaces each file individually but never the relationships between them.Problem to solve
I use the stock multi-agent pattern from
docs/concepts/multi-agent.mdanddocs/concepts/agent-workspace.md:sessions_spawn, permissions declared inopenclaw.jsonunderallowAgents.~/.openclaw/workspace-{id}/holding its five config files (IDENTITY.md/SOUL.md/AGENTS.md/TOOLS.md/HEARTBEAT.md).shared-workspace/projects/{id}/— the dataflow mechanism between agents.TASK.jsonunder a project tracks step order and per-step status.No custom runtime or glue — a team is N agents wired through
allowAgents(delegate) + symlinks (dataflow) +TASK.json(sequence).Once a team has more than 2–3 members, answering a question like "why did chief pick subagent X instead of Y?" requires:
~/.openclaw/openclaw.json— inspectallowAgentsfor the chiefAGENTS.md— see how subagents are describedIDENTITY.md+SOUL.md— see why one was preferredTOOLS.md— confirm capability overlapshared-workspace/projects/{id}/— see what was actually producedTASK.json— check step orderingEach file is correctly isolated for the runtime; it's the cross-reference cost between files that grows superlinearly with team size, and Control UI surfaces none of these relationships together. Configure hits the same cliff — editing one agent's five files, then walking back to check whether a sibling depends on what changed, is file-system spelunking, not a UI flow.
Proposed solution
A new Control UI tab rendering relationships already on disk + Gateway WS, with in-place editing of per-agent config. Staged as a focused PR series, each PR proposed only after the previous one lands:
openclaw.jsonallowAgents, dataflow fromshared-workspace/projects/symlinks, sequence fromTASK.jsonstep order) + per-session status badges from the Gateway WS.fs.watchpicks up the write.tools.allowediting — per-agent write access totools.allowinopenclaw.json; inherited entries from team/global rendered read-only.agents.list[].skills, respecting the absent-key / empty-array / explicit-list trinary (inherit defaults / explicitly disable all / explicit override).Each slice writes to files OpenClaw already owns (or uses the Gateway protocol as-is). No new storage, runtime state, or protocol changes.
Alternatives considered
agentstab. Rejected —agentsis list-shaped, and the core problem is the relationships between agents, which a list can't express. A separate tab preserves list ergonomics for the single-agent case.openclaw team graph --format dot). Useful for scripting, but doesn't address the live debugging loop where "click an edge to see the underlying record" is the actual need.Impact
CONTRIBUTING.md's "Current Focus" ("Improving the onboarding wizard and error messages").Evidence/examples
Concrete file-count for a 5-agent team (chief + 4 subagents, one active project):
openclaw.json— delegate graph + defaultsAGENTS.md— how each describes peersIDENTITY.md+ 5×SOUL.md— role/personalityTOOLS.md— capabilityshared-workspace/projects/{id}/— per-project dataflowTASK.json— step order= 22+ files to hold in mind for a single "why is this team misbehaving?" question.
I've prototyped the proposed solution locally over the past few months and have a short demo I can share if it would help the discussion.
Additional information
Explicitly NOT in this proposal:
agents/sessions/channels/skills/logstabs — a separate tab alongside them.Happy to reshape based on feedback, including splitting or dropping slices. If "not planned", that's equally useful to hear — I'll continue with my local workflow and stop looking for the right format.
Environment: OpenClaw CLI latest, Control UI latest, macOS. Prototype tested against local
~/.openclaw/only.