Skip to content

Commit 3c6dc77

Browse files
committed
Update README for coffee voice agent UI
1 parent c33d2e2 commit 3c6dc77

File tree

1 file changed

+98
-13
lines changed

1 file changed

+98
-13
lines changed

coffee_ws/src/coffee_voice_agent_ui/README.md

Lines changed: 98 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -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
```
105106
VoiceAgentMonitorApp (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

122127
The 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
236321
python3 -c "from python_qt_binding.QtWidgets import QApplication; print('PyQt OK')"

0 commit comments

Comments
 (0)