github →

New request

#719: Feature request: Teams and agents management panel with editable names, roles, and skills

We'll provision a sandbox, run an agent against the issue, and open a draft PR. You can pull the branch and iterate from there.

Issue
enhancementuxmonitoring

Summary

When Hermes orchestrates a multi-agent swarm, teams and their member agents are defined in config.yaml. There is currently no way to view, create, or edit teams and agents from the Web UI. Users must edit YAML manually.

Current behaviour

  • Teams and agents are configured entirely in config.yaml
  • The Web UI shows subagent activity in chat (delegation cards) but provides no panel to manage the team structure
  • There is no way to assign names, job titles, or skills to agents from the UI
  • Any changes made manually to config.yaml require a restart and are invisible to the UI

Proposed UI

A new Teams panel (alongside the existing Tasks / Skills / Memory panels in the right sidebar) showing:

Team list view

  • Each team displayed as a card with its name and a list of its member agents underneath
  • Each agent shows:
    • Display name (e.g. "Research Agent")
    • Role / job title (e.g. "Data Analyst")
    • Skills as tags (e.g. summarisation · fact-checking · web-search)
    • Active / inactive status indicator

Editing

  • Click any team or agent to open an edit form
  • Editable fields: team name, agent name, role/title, skills (add/remove tags), model assignment
  • Add agent button per team
  • Add team button at panel level
  • Remove button for teams and agents (with confirmation)

Each skill tag displayed on an agent should be individually clickable. Clicking a skill tag should take the user directly to an editable view for that skill, where they can edit the skill name, description, or remove it entirely. This avoids the user having to navigate separately to find and edit a specific skill — clicking the tag on the agent card is the shortcut directly into that skill's edit page.

Sync behaviour

  • On save, the WebUI writes changes back to config.yaml under the appropriate team/agent keys using the existing api/config.py write path
  • After saving, the orchestrator is notified to reload its configuration without requiring a full server restart — similar to the proposed discover_mcp_tools() rediscovery pattern in #538
  • A visible "last synced" timestamp so the user knows the orchestrator is up to date

Why this matters

Users running multi-agent swarms need to be able to inspect and adjust their team structure without touching config files. Edits made in the UI should be immediately reflected in the orchestrator — a one-way sync (UI writes to config, orchestrator picks it up) is the minimum; live two-way sync (orchestrator changes also surface in the UI) would be ideal.

Files likely involved

  • api/config.py — read/write team and agent keys
  • api/routes.py — new endpoints: GET /api/teams, POST /api/teams, PUT /api/teams/{id}, DELETE /api/teams/{id}, and equivalent /api/agents routes
  • static/panels.js — Teams panel rendering, edit forms, skill tag input
  • static/style.css — team card, agent row, skill tag styles
  • api/streaming.py — hook to signal orchestrator config reload after save
Assessmentadvisory
feature●● medium80% confidence

New team management panel with editable agent properties requiring both frontend UI and live config persistence.

Likely files
  • static/js/panels/teams.js
  • api/routes/teams.py
  • api/config/agent_config.py
  • static/templates/teams.html
  • static/css/teams.css
Create the request

This opens a fresh agent run and a draft PR for issue #719.

Cancel