Summary
Enable multiple isolated chat sessions in the webchat interface, each with custom agent-defined labels that appear in the session selector dropdown.
Problem to solve
Current Limitation
- Webchat supports only 1 main session per agent
- All browser tabs share the same conversation history
- Switching contexts (Zabbix → Ansible → General topics) mixes everything in one timeline
- No way to organize conversations by project/topic/context
Proposed solution
Session Storage
Option A: Session-scoped history
sessions/
├─ main/ # Default session
│ └─ history.jsonl
├─ zabbix-d4f2/ # Labeled session
│ ├─ history.jsonl
│ └─ metadata.json # {label: "Zabbix Integration"}
└─ ansible-cfgs-8a1c/
├─ history.jsonl
└─ metadata.json
Option B: Single history with session tags
{"sessionId": "main", "role": "user", "content": "..."}
{"sessionId": "zabbix-d4f2", "role": "assistant", "content": "..."}
UI Changes
Webchat Interface:
┌─────────────────────────────────────────┐
│ [Webchat (Zabbix) ▼] [+ New] │
├─────────────────────────────────────────┤
│ User: Configure Zabbix LLD │
│ Jarvis: Sure! Let's set up... │
│ ... │
└─────────────────────────────────────────┘
Dropdown Menu:
┌─────────────────────────────────┐
│ ● Webchat (Zabbix) │ ← Active
│ Webchat (Ansible Playbooks) │
│ Webchat (General) │
│ ─────────────────────────────── │
│ + Create New Session │
└─────────────────────────────────┘
Agent Tool API
interface SessionLabelTool {
action: "set" | "get" | "create";
label?: string; // For set/create
sessionId?: string; // Optional target session
}
// Example usage in agent
await session_label_set({ action: "set", label: "Zabbix Integration" });
Backward Compatibility
- Default session remains
main (no breaking changes)
- Existing single-session behavior preserved
- Opt-in feature (users create additional sessions)
Alternatives considered
No response
Impact
Similar Features in Other Tools
- ChatGPT: Multiple conversations with titles
- Claude: Conversation organization
- Cursor IDE: Multiple chat panels per project
- Discord: Multiple channels (but those are shared)
Evidence/examples
No response
Additional information
Benefits
-
1000x Productivity Gain
- Context switching without pollution
- Clear mental model (1 chat = 1 topic)
- Easier to resume work days/weeks later
-
Better Agent Performance
- Focused context per session
- Less noise in conversation history
- Agent can maintain topic-specific state
-
Improved UX
- Visual organization (labeled tabs/dropdown)
- Quick context switching
- History preserved per topic
-
Scalability
- Power users can manage 10+ concurrent projects
- Teams can share session patterns
- Enables specialized workflows
Summary
Enable multiple isolated chat sessions in the webchat interface, each with custom agent-defined labels that appear in the session selector dropdown.
Problem to solve
Current Limitation
Proposed solution
Session Storage
Option A: Session-scoped history
Option B: Single history with session tags
{"sessionId": "main", "role": "user", "content": "..."} {"sessionId": "zabbix-d4f2", "role": "assistant", "content": "..."}UI Changes
Webchat Interface:
Dropdown Menu:
Agent Tool API
Backward Compatibility
main(no breaking changes)Alternatives considered
No response
Impact
Similar Features in Other Tools
Evidence/examples
No response
Additional information
Benefits
1000x Productivity Gain
Better Agent Performance
Improved UX
Scalability