feat: Chat hierarchy threading with agent tree selector#9
Merged
Conversation
- New AgentProfilePanel component (480px slide-out from right) - Tabs: Summary, Skills, Config, Activity - Clicking any agent card opens the panel (replaces direct edit dialog) - Edit buttons within panel bridge to existing EditAgentDialog - Focus trap, ESC to close, backdrop click to close - Loading skeletons for all tabs - Agent color used for accent bar, tab states, activity icons
Clicking the agent name/callsign on cards now opens the slide-out panel (same as clicking anywhere else on the card). The detail page link is still accessible from the panel header.
- Added Terminal tab with AgentOutputViewer (live logs) - Added AgentControlPanel (start/stop/restart) to panel header - Replaced /agents/[callsign] page with redirect to /team - Updated all internal links (dashboard, agent-card, org-chart, team-canvas) to route through /team instead of detail page - No more navigating away from the team page to manage agents
Replace flat agent dropdown with hierarchy-aware tree selector that renders agents in their reportsTo tree structure. Each agent gets their own thread backed by a gateway sessionKey (the agent's callsign). - Add AgentTreeSelector component with recursive tree rendering, unread badges, status dots, and depth-based indentation - Per-agent localStorage for thread messages (keyed by callsign) - Default selection to top-level agent (team lead) - Chat header shows agent title + reporting chain - Unread count tracking state for cross-thread notifications - Input placeholder shows active agent callsign Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds hierarchical chat threading — each agent owns their own conversation thread, with a tree-based agent selector in the chat UI.
Changes
New:
AgentTreeSelectorcomponentreportsTofieldfindDefaultAgent()andfindParentAgent()helpersModified:
chat/page.tsx<AgentTreeSelector>crewcmd-chat-{callsign}) — switching agents saves/loads separate thread historiesactiveSessionKeyderived from selected agent's callsign, passed to/api/chatas theagentparamunreadCountsstate ready for cross-thread notificationsSpec
docs/specs/chat-hierarchy-threading.md— full design specTesting