lair404 Multi-Session Orchestrator
VS Code extension for monitoring and controlling Claude Code multi-session workflows with real-time user action handling.
Features
📊 Active Tasks View
- Real-time monitoring of running tasks
- Task statistics (running, completed, failed, success rate)
- Cost and token usage tracking
- Clickable task output logs
📋 Task Queue Management
- View Queue: See all queued tasks with details (model, category, budget, timeout)
- Add Task: Create new tasks via interactive dialog
- Edit Task: Modify queued tasks (disabled for running tasks)
- Delete Task: Remove tasks from queue (disabled for running tasks)
- Queue Summary: See estimated costs and duration
⚠️ User Actions Required (v2.1.0 - NEW!)
- Real-time Choice Detection: Automatically detects when tasks need user input
- Interactive Choice Selection: View tasks waiting for choices/approvals in tree view
- Multi-step Prompts: Expand tasks to see all available options
- Status Bar Integration: See count of waiting tasks at a glance (click to view)
- Notifications: Optional popups when tasks need input (configurable)
- Dashboard API: Responds to choice APIs on dashboard server
- Offline Fallback: Automatically falls back to bash CLI when dashboard unavailable
- Force Proceed: Continue tasks without choosing if needed
How it works:
- FileWatcherManager monitors
.output files for choice patterns
- When detected, task appears in "⚠️ User Actions Required" view
- Expand task to see all options (Option 1/2/3, Choice A/B/C, etc.)
- Click on choice or use context menu to respond
- Status bar shows count of waiting tasks (yellow badge when > 0)
🎮 Sprint Control
- Start Sprint: Launch multi-session orchestrator from VS Code
- Pause Sprint: Move queue to paused state (orchestrator stops picking up tasks)
- Resume Sprint: Restore paused queue
- Cancel Sprint: Terminate running sprint immediately
📜 Session Logs
- Browse Logs: View session logs grouped by sprint
- Open Log: Click to open session files in editor
- Real-time Streaming: Stream logs to Output channel as tasks run
- Auto-refresh: Logs update automatically when new sessions complete
🎯 Parallel Task Selector (v1.8.0 - NEW!)
- View Parallel Tasks: See interference-free task sets from enriched-todos MCP
- Reload Tasks: Click refresh icon to fetch latest parallel tasks
- Postpone Task: Mark tasks as low priority (right-click → Postpone)
- Assign to Queue: Add tasks to spawn-queue.json (right-click → Assign to Queue)
- Resource Tracking: See CPU/IO/Network/Memory usage across parallel tasks
- Interference Detection: View excluded tasks with reasons (scope conflicts, resource limits)
- Task Details: Expand tasks to see description, type, scope, resource class, estimate, affected paths
- Visual Indicators: Color-coded icons (green=ready, yellow=warning, red=excluded)
💬 Pipeline Chat (Phase 5)
- Full Chat Interface: Claude-style chat directly in VS Code
- Pipeline Templates: 5 pre-configured pipeline types (Quick Fix, Feature Build, Test Suite, Refactor, Deploy Check)
- Interactive Prompting: Type your prompt and send to queue
- Message History: See all your prompts and responses
- Export Chat: Save conversation history as JSON
- Clear Chat: Reset conversation anytime
🔍 Web Search (v1.70.0 - UPGRADED!)
- Multi-Provider Search: Query multiple search engines simultaneously (Tavily, Brave, Google, Bing, Serper)
- AI Synthesis: Optional Groq-powered answer generation with citations
- Markdown Rendering: Beautiful formatted AI answers with headings, lists, code blocks (using marked.js)
- Interactive Citations: Clickable
[1] references with hover previews showing title, URL, and snippet
- Quality Badges: Visual indicators (High/Medium/Low) based on consensus percentage and source count
- Keyboard Shortcuts:
Cmd+K - Focus search input
Ctrl+Enter - Submit search
Ctrl+L - Clear chat
- Search History: Automatic persistence across sessions (max 20 searches)
- Provider Selection: Choose specific providers or search all at once
- Result Fusion: CombMNZ algorithm ranks results by consensus
- Chat Interface: Conversation-style search history with state persistence
- Performance Metrics: See search time, consensus stats, and cache hits
- Export: Save search history to Markdown
Installation
Quick Install (if you have .vsix package)
code --install-extension multi-session-orchestrator-1.8.0.vsix
Development Install (from source)
cd extensions/multi-session-orchestrator
npm install
npm run compile
Then press Cmd+Shift+P → "Debug: Start Debugging" (or Cmd+Shift+D → click ▶ Run Extension)
See INSTALL.md for detailed installation instructions.
Usage
Adding a Task
- Open Multi-Session sidebar
- Click "Task Queue" section
- Click "+" icon or run command "Add Task to Queue"
- Fill in task details
Using Pipeline Chat
- Open Multi-Session sidebar
- Click "Pipeline Chat" section
- Select a Template (left sidebar):
- 🚀 Quick Fix - Fast bug fix (haiku, $3)
- ✨ Feature Build - End-to-end feature (sonnet, $10)
- 🧪 Test Suite - Comprehensive tests (sonnet, $8)
- 🔧 Refactor Code - Improve quality (sonnet, $7)
- ✅ Deploy Check - Pre-deployment (haiku, $5)
- Type Your Prompt in the text area (Ctrl+Enter to send)
- Send - Task gets added to queue automatically
- View Messages - See your conversation history
- Export - Save chat as JSON file
- Clear - Reset conversation
Managing Sprints
Start Sprint: Click ▶️ play icon in Task Queue toolbar
Pause Sprint: Click ⏸ pause icon - Queue moves to paused state
Resume Sprint: Click ▶️ continue icon - Paused queue restores
Cancel Sprint: Click ⏹ stop icon - Terminates entire sprint
Viewing Logs
Browse Session Logs: Expand sprint groups in Session Logs view
Stream Logs in Real-time: Right-click log → "Stream Log (Real-time)"
Stop All Streams: Click 🛑 stop icon in Session Logs toolbar
Using Parallel Task Selector
- Open Multi-Session sidebar
- Click "🎯 Parallel Task Selector" section (after Task Queue)
- Click Refresh Icon to load parallel tasks from enriched-todos.json
- View Parallel Tasks:
- See count of ready tasks
- Expand to see details (description, type, scope, resource, estimate, paths)
- Hover for full tooltip
- Right-click Task for actions:
- Assign to Queue - Adds task to spawn-queue.json for execution
- Postpone - Marks task as low priority
- View Resource Usage:
- See CPU/IO/Network/Memory task distribution
- View Excluded Tasks:
- See why tasks were excluded (scope conflicts, resource limits, max tasks)
Requirements:
.claude/enriched-todos.json must exist (created by enriched-todos MCP)
- Run
bulk_enrich via enriched-todos MCP to populate data
Using Web Search
- Open Multi-Session sidebar
- Click "Web Search" section
- Select Providers (left top):
- 🌐 All - Search all providers
- Individual providers: Tavily, Brave, Google, Bing, Serper
- Configure Options:
- ☑️ AI Synthesis - Toggle Groq-powered answer generation
- Max Results: 5, 10, or 20 results per provider
- Enter Query in text area (
Cmd+K to focus, Ctrl+Enter to search)
- View Results:
- 🤖 AI-synthesized answer with markdown formatting and interactive citations
[1] (if enabled)
- 🏅 Quality badge (High/Medium/Low consensus)
- 📑 Ranked search results with links, snippets, and scores
- 📊 Fusion statistics (consensus, total results)
- ⏱️ Performance metrics (timing, cache status)
- 💡 Hover over
[1] to see citation preview (title, URL, snippet)
- 🔗 Click
[1] to open source in browser
- Export - Save search history to Markdown file
- Clear - Reset search history
Requirements:
- Multi-web search server must be running at http://localhost:3000
- Start server:
cd tools/multi-web && npm start
Version History
v1.8.0 (2026-01-10) 🎯 Parallel Task Selector & Multi-Web Search v1.70.0
Major Features:
- 🎯 Parallel Task Selector: View interference-free task sets from enriched-todos MCP
- Reload, postpone, assign actions
- Resource usage tracking (CPU, IO, Network, Memory)
- Interference detection with exclusion reasons
- Tree view with expandable task details
- Color-coded visual indicators
- 🔍 Multi-Web Search v1.70.0 Upgrade: Full parity with multi-dashboard UX
- ✨ Markdown Rendering: AI answers beautifully formatted with headings, lists, code blocks (using marked.js v11.1.1)
- 🔗 Interactive Citations: Click
[1] to open source, hover for preview with title/URL/snippet
- 🏅 Quality Badges: Visual indicators (High/Medium/Low) based on consensus % and source count
- ⌨️ Keyboard Shortcuts:
Cmd+K focus search, Ctrl+Enter submit
- 💾 Search History: Automatic persistence across sessions (max 20 searches)
- 🎨 AI Answer Highlight: Blue gradient border for synthesized answers
- 🔧 MCP Client Integration: Abstracted MCP server communication layer
- MCPClient.ts utility class for enriched-todos MCP
- JSON-RPC request/response handling
- Simplified interference detection (MVP: scope-based blocking)
- Error handling and fallbacks
Technical Improvements:
- Created ParallelTaskSelectorProvider (489 lines)
- Created MCPClient utility (150 lines)
- Updated WebSearchPanelProvider with v1.70.0 features
- Added marked.js CDN integration (CSP-compliant)
- State persistence for search history
- TypeScript compilation: 0 errors, 0 warnings
Known Limitations:
- MCP integration MVP: Reads enriched-todos.json directly (future: full stdio MCP)
- Simple interference detection: Same-scope blocking only (future: 5x5 matrix)
- No real-time updates: Manual refresh required (future: file watcher)
- Markdown rendering: Requires internet for CDN (fallback: plain text)
Related:
v1.7.0 (2026-01-10) 🔍 NEW - Multi-Web Search Integration
Phase 6: Web Search & UX Improvements
- 🔍 Web Search Panel: Integrated multi-provider search with AI synthesis
- 🌐 Multi-Provider Support: Query Tavily, Brave, Google, Bing, Serper simultaneously
- 🤖 AI Synthesis: Optional Groq-powered answer generation with citations
- 📊 Result Fusion: CombMNZ algorithm ranks results by consensus across providers
- 💬 Chat Interface: Conversation-style search history with state persistence
- 📈 Performance Metrics: Search time, consensus stats, cache hits displayed
- 📤 Export to Markdown: One-click export of search history with results and stats
- ⌨️ Keyboard Shortcuts: Ctrl+Enter to search, integrated with existing accessibility features
- 🎨 UX Improvements: Session Logs moved to bottom of sidebar for better workflow
Technical Improvements:
- WebSearchPanelProvider with full webview UI
- Integration with multi-web search API (http://localhost:3000)
- Provider selection buttons (all providers or specific ones)
- Synthesize toggle and max results configuration
- State persistence across webview reloads
- Real-time result display with fusion statistics
- Markdown export with formatted results
- Accessibility: ARIA labels, keyboard navigation, screen reader support
Related:
- goal-multi-session-014: Multi-Web Search Integration
- tools/multi-web: Multi-web search backend server
- WebSearchPanelProvider.ts: Main implementation
v1.6.0 (2026-01-10) 🚀 Production Excellence
Phase 3: Robustness & State Management
- 💾 State Persistence: Chat history and active pipeline survive webview reloads
- 🔄 Retry Logic: Failed API calls retry up to 3 times with exponential backoff (1s → 2s → 4s)
- ⏱️ Request Timeouts: 10-second timeout for all API calls with clear error messages
- 🛡️ Error Boundaries: Comprehensive error handling with descriptive messages
- 📊 Network Resilience: Graceful degradation when dashboard temporarily unavailable
Phase 4: Accessibility & Polish
- ♿ ARIA Labels: Full screen reader support for all interactive elements
- ⌨️ Keyboard Shortcuts:
Ctrl+Enter - Send message
Ctrl+L - Clear chat
Ctrl+E - Export chat
Ctrl+/ - Focus input
Arrow keys - Navigate pipeline templates
Enter/Space - Select pipeline
Escape - Blur input
- 🎯 Focus Management: Clear focus indicators following VS Code design system
- 🎨 High Contrast Support: Proper focus borders and theme-aware styling
- 📋 Keyboard Navigation: Full functionality without mouse
Technical Improvements:
- Retry with exponential backoff for network resilience
- AbortController for request timeout management
- In-memory state persistence across webview reloads
- Comprehensive ARIA roles (navigation, main, log, button)
- Tab order optimization with tabindex attributes
- Screen-reader-only hints for keyboard shortcuts
v1.5.0 (2026-01-10) ✨ Backend Integration & Security
- 🔒 Security Hardening: Content Security Policy (CSP) with nonce-based script validation
- 🔌 Backend Integration: HTTP + WebSocket connection to multi-dashboard (port 3333)
- 🔄 Real-time Updates: WebSocket notifications for task completions and sprint events
- 📋 Dynamic Templates: Load pipeline templates from dashboard API (40+ endpoints)
- 🎯 Smart Sprint Detection: Automatically detects active sprint file (no more sprint999 hardcoding)
- 🔀 Graceful Fallback: Works offline with file-based mode when dashboard unavailable
- ✅ Auto-reconnect: WebSocket automatically reconnects on connection loss (5 attempts)
- 📊 Extended API Access: Templates, learnings, statistics, sprint status from dashboard
- 🎨 Enhanced Chat: Pipeline templates loaded from backend, fallback to local defaults
v1.4.0 (2026-01-10)
- ✨ Phase 5: Pipeline Chat with full webview interface
- 💬 Claude-style chat directly in VS Code
- 📋 5 pre-configured pipeline templates
- 💾 Export conversation history
- 🎨 Beautiful UI matching VS Code theme
v1.3.0 (2026-01-10)
- ✨ Phase 4: Session Logs & Real-time Streaming
- ✨ Phase 3C: Queue Management Actions (Edit, Delete, Pause, Resume, Cancel)
v1.2.0 (2026-01-10)
- ✨ Phase 3B: Add Task to Queue
v1.1.0 (2026-01-10)
- ✨ Phase 3A: Queue Visualization
v1.0.0 (2026-01-09)
- ✨ Initial release with Active Tasks monitoring
| |