@@ -15,6 +15,7 @@ The Coffee Voice Agent UI is a standalone ROS2 application that provides compreh
1515- ** 💬 Live Conversation Flow** : Real-time transcript with user speech and agent responses
1616- ** 🔧 Tool Activity Monitor** : Function tool execution tracking with performance metrics
1717- ** 📊 Analytics Dashboard** : Usage statistics, performance trends, and system health
18+ - ** 👑 Admin Override Monitor** : VIP user detection, conversation extensions, and session management
1819- ** ⚙️ Manual Controls** : Testing interface for virtual requests and debug commands
1920
2021## 📋 Prerequisites
@@ -103,12 +104,14 @@ Voice Agent ←→ Voice Agent Bridge ←→ ROS2 Topics ←→ Monitor UI
103104
104105```
105106VoiceAgentMonitorApp (QMainWindow)
106- ├── Agent Status Widget (connection, state, metrics)
107- ├── Emotion Display Widget (current emotion, transitions, timeline)
107+ ├── Left Column Container (vertical layout)
108+ │ ├── Agent Status Widget (connection, state, metrics)
109+ │ ├── Emotion Display Widget (current emotion, transitions, timeline)
110+ │ └── Admin Override Widget (VIP detection, extensions, history)
108111├── Conversation Widget (live transcript, timeouts, turn tracking)
109112├── Tool Monitor Widget (function tool usage, performance)
110113├── Analytics Widget (usage trends, performance metrics)
111- └── Controls Widget (manual testing, debug commands )
114+ └── Virtual Request Widget (manual testing, virtual coffee requests )
112115```
113116
114117### ROS2 Integration
@@ -117,11 +120,12 @@ The monitor subscribes to these topics:
117120- ` voice_agent/status ` (AgentStatus) - Unified agent state information
118121- ` voice_agent/tool_events ` (ToolEvent) - Function tool execution events
119122- ` voice_agent/user_speech ` (String) - User speech transcriptions
123+ - ` voice_agent/vip_detections ` (VipDetection) - VIP user detection events
124+ - ` voice_agent/extension_events ` (ExtensionEvent) - Conversation extension events
120125- ` voice_agent/connected ` (Bool) - Connection status updates
121126
122127The monitor publishes to these topics:
123128- ` voice_agent/virtual_requests ` (String) - Test virtual coffee requests
124- - ` voice_agent/commands ` (String) - Debug and control commands
125129
126130## 📊 Dashboard Layout
127131
@@ -132,10 +136,15 @@ The monitor publishes to these topics:
132136│ • Connection │ • Live Chat │ • Usage Stats │
133137│ • Session Info │ • Timeouts │ • Trends │
134138├─────────────────┼─────────────────┼─────────────────┤
135- │ 🎭 Emotion │ 🔧 Tool Monitor │ ⚙️ Controls │
136- │ Center │ • Active Tools │ • Virtual Reqs │
137- │ • Current │ • Recent Calls │ • Commands │
139+ │ 🎭 Emotion │ 🔧 Tool Monitor │ ☕ Virtual │
140+ │ Center │ • Active Tools │ Requests │
141+ │ • Current │ • Recent Calls │ • Test Orders │
138142│ • Transitions │ • Statistics │ • Debug Tools │
143+ ├─────────────────┼─────────────────┼─────────────────┤
144+ │ 👑 Admin │ │ │
145+ │ Override │ │ │
146+ │ • VIP Status │ │ │
147+ │ • Extensions │ │ │
139148└─────────────────┴─────────────────┴─────────────────┘
140149```
141150
@@ -171,11 +180,81 @@ The monitor publishes to these topics:
171180- ** Emotion trends** : Emotional state patterns over time
172181- ** System metrics** : Message rates, connection health, queue status
173182
174- ### Controls Panel
175- - ** Quick actions** : End conversation, reset state, pause wake word
176- - ** Virtual request testing** : Simulate coffee orders with different priorities
177- - ** Command interface** : Send debug commands with parameters
178- - ** Debug tools** : Connection testing, log export, tool triggers
183+ ### Admin Override Panel
184+ - ** VIP status display** : Real-time VIP user detection with status indicators
185+ - ** Extension monitoring** : Active conversation extensions with progress bars
186+ - ** VIP history table** : Recent VIP detections with timestamps and actions
187+ - ** Session management** : Visual feedback for unlimited VIP sessions vs timed regular sessions
188+ - ** Extension tracking** : Shows who granted extensions (auto_vip_detection, tool, manual)
189+
190+ ### Virtual Request Panel
191+ - ** Test virtual requests** : Simulate coffee orders with different priorities
192+ - ** Request type selection** : NEW_COFFEE_REQUEST, ORDER_READY, ORDER_UPDATE, etc.
193+ - ** Priority control** : Normal, urgent priority testing
194+ - ** Tool testing** : Trigger function tools for development and debugging
195+
196+ ## 👑 VIP Session Monitoring
197+
198+ The UI provides comprehensive monitoring of VIP user detection and session management:
199+
200+ ### ** 🔍 VIP Detection Display**
201+
202+ The Admin Override widget shows real-time VIP detection status:
203+
204+ ```
205+ ⚙️ ADMIN OVERRIDE
206+ ┌─────────────────────────────────┐
207+ │ STATUS │
208+ │ VIP User: ✅ Sui Foundation │
209+ │ Extension: [██████████] Active │
210+ │ │
211+ │ VIP HISTORY │
212+ │ Time User Action │
213+ │ 20:38 Sui Foundation VIP │
214+ │ 20:38 System Extension │
215+ └─────────────────────────────────┘
216+ ```
217+
218+ ### ** 📊 Session Management Indicators**
219+
220+ - ** VIP Status Light** : Green when VIP user is detected
221+ - ** Extension Progress** : Visual progress bar for active extensions
222+ - ** Session Type Display** : "Unlimited" for VIP sessions, timer for regular users
223+ - ** History Table** : Chronological log of VIP detections and extension events
224+
225+ ### ** 🎯 Real-Time Updates**
226+
227+ The UI automatically updates when:
228+ - VIP users are detected (via ` /voice_agent/vip_detections ` topic)
229+ - Conversation extensions are granted (via ` /voice_agent/extension_events ` topic)
230+ - Sessions transition between regular and VIP modes
231+ - Extension timers expire or are renewed
232+
233+ ### ** 🔄 Message Integration**
234+
235+ ** VipDetection Message Processing:**
236+ ``` python
237+ # Displays matched keywords, importance level, and recommendations
238+ user_identifier: " Sui Foundation"
239+ matched_keywords: [" sui foundation" ]
240+ importance_level: " vip"
241+ recommended_extension_minutes: 0 # 0 = unlimited
242+ ```
243+
244+ ** ExtensionEvent Message Processing:**
245+ ``` python
246+ # Shows extension status and progress
247+ action: " vip_session" # or "granted", "expired"
248+ extension_minutes: 0 # 0 = unlimited
249+ granted_by: " auto_vip_detection" # or "tool", "manual"
250+ ```
251+
252+ ### ** ⚙️ UI Layout Integration**
253+
254+ The Admin Override widget is positioned in the left column for easy monitoring:
255+ - ** Compact Design** : Fixed 400x300 size to fit alongside other status widgets
256+ - ** Always Visible** : Positioned in main dashboard for constant visibility
257+ - ** Status Reset** : Automatically clears when conversations end
179258
180259## 📁 Launch Files
181260
@@ -230,7 +309,13 @@ ros2 run coffee_voice_agent_ui voice_agent_monitor
230309- Verify topic publications: ` ros2 topic list | grep voice_agent `
231310- Check topic data: ` ros2 topic echo voice_agent/status `
232311
233- ** 4. UI Won't Start**
312+ ** 4. Admin Override Widget Shows No VIP Data**
313+ - Verify VIP detection topics are active: ` ros2 topic list | grep vip `
314+ - Check VIP detection messages: ` ros2 topic echo voice_agent/vip_detections `
315+ - Check extension events: ` ros2 topic echo voice_agent/extension_events `
316+ - Ensure voice agent is running with VIP detection enabled
317+
318+ ** 5. UI Won't Start**
234319``` bash
235320# Check PyQt installation
236321python3 -c " from python_qt_binding.QtWidgets import QApplication; print('PyQt OK')"
0 commit comments