-
Notifications
You must be signed in to change notification settings - Fork 1
feat: Add Model Status Monitoring to Web Dashboard #11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
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
Add comprehensive model monitoring system to robOS dashboard: Backend (ESP32): - Extended agx_monitor to parse model_status_update WebSocket events - New data structures for model status (agx_model_status_t, agx_model_monitor_data_t) - API functions: agx_monitor_get_model_data(), agx_monitor_is_model_data_valid() - Thread-safe model data storage with mutex protection - New HTTP endpoint: /api/model_status with CORS support Frontend (Web Dashboard): - New "模型状态监控" (Model Status Monitor) section with collapsible UI - "模型拉起状态" (Model Loading Status): * Three progress bars for LLM, embedding, and reranker models * Real-time progress tracking (0%-100%) * Shimmer animation for loading states * Dynamic color coding (gray/green) based on status * Display model name and API port when complete - "模型运行日志" (Model Runtime Logs): * Three collapsible log windows (default collapsed) * Auto-refresh every 5 seconds when expanded * Fetch logs from http://10.10.99.98:58090/api/model_logs/<type> * HTML escaping for XSS prevention * Auto-scroll to bottom * Proper handling of disabled models - Collapsible sections for inference/application/model monitors (saved to localStorage) - Translation support (Chinese/English) for all new UI elements - Responsive design for mobile and desktop UI/UX Improvements: - Progress bars show "--" when no data available - "未启用" message for disabled models - "等待状态数据..." when waiting for backend connection - Right-aligned status text with proper contrast - Smooth transitions and animations - State persistence across page reloads Integration: - Connects to rm01OrinStatus backend for model status - WebSocket: model_status_update events (every 2s polling) - HTTP API: /api/model_logs/<type> (on-demand fetching) - Proper error handling and fallback states Documentation: - Add MODEL_MONITORING_IMPLEMENTATION.md for technical details
- Move model status monitor section above inference module monitor - Fix log section collapse icons overlapping (add position: relative) - Remove emojis from card headers - Update subtitle to '模型加载进度和运行日志监控' - Fix HTML structure (model section was outside main-panel) - Fix model section header collapse icon CSS for proper flex layout
- Change collapse icons color to green (#4CAF50) to match progress bars - Change log window background from dark (#1e1e1e) to light gray (#f8f9fa) - Change log text color from light gray to dark gray (#333) - Update scrollbar colors to match light theme - Add border to log windows for consistency with other cards
- Change year from 2025 to 2026 - Update company name to 'RMinte (Chengdu) Artificial Intelligence Technology Co., Ltd.' - Add website URL: www.RMinte.com - Remove 'Panidea' from copyright text
Add translation keys for model log window messages:
- 'waiting-for' / 'status-data': '等待 X 状态数据...'
- 'click-to-view-logs' / 'logs': '点击展开查看 X 日志...'
- 'no-logs-output': '暂无日志输出'
Changes:
- Replace hardcoded Chinese text with getTranslation() calls
- Add English translations for all dynamic log messages
- Call updateModelLogs() in translatePage() to refresh log text on language switch
- Update condition check to include English equivalents ('Not Enabled', 'Waiting')
This ensures all model log messages display correctly when switching between Chinese and English.
Change .model-section-title color to #555 to match the color used in model loading status labels (主模型, 嵌入模型, 重排模型)
Changes: - Change .model-section-title font-weight from 600 to 500 to match model loading status labels - Adjust .model-section-header padding from '10px 15px' to '10px 10px 10px 0' to align titles with model loading status section - Now '主模型', '嵌入模型', '重排模型' labels have consistent styling and alignment across both sections
- Change checkModelStatus() to call rm01OrinStatus directly - Remove dependency on ESP32's /api/model_status endpoint for model monitoring - Model data now flows: rm01OrinStatus -> Web Frontend (direct) - ESP32 components remain unchanged but model monitoring endpoint is no longer needed
- Restore agx_monitor.c to original state (remove model data parsing) - Restore agx_monitor.h to original state (remove model data structures) - Restore web_server.c to original state (remove /api/model_status endpoint) - Remove MODEL_MONITORING_IMPLEMENTATION.md documentation - Model monitoring now handled entirely by direct frontend-to-rm01OrinStatus communication
1. Add translateStatusText() to translate model status text (模型/端口) when switching to English mode 2. Fix log window auto-closing bug in updateModelLogs(): - Only update placeholder text when window is COLLAPSED - When EXPANDED, let fetchModelLogs() handle content updates - This prevents actual logs from being replaced with placeholder 3. Refresh model status display after language switch
- Change model status text font-weight from bold to 400 (regular) - Change all card backgrounds from 95% to 85% opacity
1. Use INFERENCE_SERVER_URL constant in checkModelStatus() instead of hardcoded IP 2. Move INFERENCE_SERVER_URL definition to before its first usage 3. Remove ineffective CSS selectors that never matched actual inline styles
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.
robOS Pull Request 信息
目标仓库
massif-01/robOS(main)thomas-hiddenpeak/robOS(main)PR 标题
feat: Add Model Status Monitoring to Web Dashboard
PR 描述
概述
为 robOS Web Dashboard 添加完整的模型状态监控功能,支持实时监控 vLLM 模型的加载进度和运行日志。
✨ 主要功能
1. 模型状态监控模块
2. 模型拉起状态
显示三个模型的实时加载进度:
特性:
3. 模型运行日志
三个独立的可折叠日志窗口:
🏗️ 架构设计
数据流:
关键特点:
rm01OrinStatus获取模型数据📝 修改内容
仅修改文件:
sdcard/web/index.htm(+631, -14 行)变更类型:
🎨 UI/UX 改进
🌐 国际化支持
完整的中英文翻译:
🐛 Bug 修复
INFERENCE_SERVER_URL常量✅ 测试状态
📊 统计
🔗 相关项目
配合
rm01OrinStatus项目的模型监控模块使用。截图(如有)
Checklist