agentscope-ai / agentscope-ai/QwenPaw
[Feature] Agent Grouping in Console UI
- Dominant language
- Python
- Stars
- 34.9k
- Forks
- 3.1k
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 225
Description
# [Feature] Agent Grouping in Console UI β
## π Summary /
**EN:** Add the ability to organize agents into groups/folders in the QwenPaw Console UI. Currently, agents are displayed as a flat list regardless of count. When users have 10+ agents (e.g., multi-agent coding teams), a flat list becomes hard to navigate. A collapsible group/folder structure would allow users to logically organize agents by team, role, or project.
---
## π Feature Description /
### UI Mockup /
```
π§βπΌ Coding Brothers (4) β group, expandable
βββ π§βπΌ Supervisor Brother β agent in group
βββ π§ Big Brother
βββ π» Code Brother
βββ π Review Brother
π¨ Design Team (2) β another group
βββ π¨ Design Brother
βββ πΌοΈ Visualization Expert
π Unassigned (3) β default group for ungrouped
βββ π€ QA Agent
βββ π Data Analyst
βββ π§ Email Agent
```
### Proposed API Changes /
1. **New field in agent config:** `group` (optional string) for group/category name
```json
{
"profiles": {
"CodingAgent": {
"name": "π» Code Brother",
"group": "Coding Brothers", // β NEW
"description": "..."
}
}
}
```
2. **New API endpoint** or modification to `GET /api/agents`:
```json
{
"agents": [...], // flat list (backward compatible)
"groups": { // β NEW
"Coding Brothers": ["Supervisor", "Orchestrator", "CodingAgent", "ReviewAgent"],
"Design Team": ["DesignAgent"],
"__ungrouped__": ["QA", "DevOps"]
}
}
```
3. **UI enhancement /
- Groups displayed as collapsible sections
- Default group (`__ungrouped__`) for agents without a group
- Drag-and-drop to reorganize between groups (optional, future)
- Group headers remain visible when collapsed
---
## π― Problem /
**EN:** We have a multi-agent coding team of 9 specialized agents (Supervisor, Planner, Coder, Reviewer, Designer, DevOps, Security, QA, Doc). The flat list UI makes it hard to:
- Find a specific agent quickly
- Understand which agents belong to which functional area
- Navigate when the list grows beyond 10-15 agents
The `agent_order` in `config.json` helps with ordering but not with categorization.
## π‘ Proposed Solution /
### Phase 1 β Backend (config + API):
- Add optional `group` field to `AgentProfileRef` in `config.py`
- Add `groups` field to `AgentListResponse`
- Update config watcher to include group changes
- Auto-create `__ungrouped__` for agents without a group
### Phase 2 β Frontend (Console UI):
- Add collapsible group sections
- Group header with agent count badge
- Persist expanded/collapsed state
- Drag-and-drop between groups (future enhancement)
### Complexity Estimate /
- Backend: ~50-100 lines of Python (config + router changes)
- Frontend: ~100-200 lines of Vue/React (depends on console framework)
- **Good first issue for contributors** β self-contained, clear scope
---
## π Alternatives Considered /
| Approach | Pros | Cons |
|----------|------|------|
| **Naming convention** (e.g., `Team/Name`) | Zero code change | No real collapsible UI |
| **Agent tags** | Flexible | More complex API change |
| **Third-party UI** (custom frontend) | Full control | Loses QwenPaw integration |
| **Proposed: group field** | Minimal change, backward compatible, clean API | Requires both backend + frontend work |
---
## πΈ Use Case /
I manage a multi-agent coding team with this setup:
```
User β default (Noah) β Supervisor Brother β Big Brother β Coding Brothers pipeline
```
With 9 agents + default = 10 agents in the list. Grouping them would look like:
```
π€ Coding Brothers (4)
βββ π§βπΌ Supervisor
βββ π§ Big Brother
βββ π» Code Brother
βββ π Review Brother
π¨ Creative Team (2)
βββ π¨ Design Brother
βββ πΌοΈ Visualization Expert
π‘οΈ Quality Team (3)
βββ π Security Brother
βββ π QA Brother
βββ π οΈ DevOps Brother
π Documentation (1)
βββ π Doc Brother
```
This would make the UI drastically more usable for multi-agent workflows.
---
## π Related /
- Issue #929: Session grouping feature request (similar concept, different entity)
- [QwenPaw Multi-Agent Docs](https://github.com/agentscope-ai/QwenPaw#multi-agent)
- Agent config structure: `config.py` β `AgentProfileRef`, `MultiAgentManager`
---
## β Willing to Contribute /
Contributor guide
Assessment
This issue has not been assessed yet.