Goal
Provide a better user experience for monitoring by adding a live-updating web dashboard alongside the existing terminal output.
Proposal
Create an optional HTTP server that serves an HTML dashboard showing real-time system metrics with auto-refresh capabilities.
Implementation Ideas
- Add a
--web or --dashboard flag to launch the web interface
- Serve on localhost with a configurable port (e.g., http://localhost:8080)
- Use WebSockets or Server-Sent Events for live updates
- Display metrics in a clean, responsive HTML interface
- Keep terminal output as the default for simplicity
Technology Options
- Python built-in: Use
http.server or socketserver with minimal dependencies
- Flask/FastAPI: Lightweight web frameworks (adds dependencies)
- Caddy: While Caddy is a great web server, it doesn't have a Python package - it's a standalone Go binary that would need to be bundled/installed separately
Features
- Real-time CPU, memory, and process metrics
- Historical graphs/charts
- Process list with sorting/filtering
- Auto-refresh with configurable intervals
- Mobile-friendly responsive design
Considerations
- Should remain an optional feature (don't force web server dependency)
- Keep the package lightweight
- Terminal output should remain the primary interface
Goal
Provide a better user experience for monitoring by adding a live-updating web dashboard alongside the existing terminal output.
Proposal
Create an optional HTTP server that serves an HTML dashboard showing real-time system metrics with auto-refresh capabilities.
Implementation Ideas
--webor--dashboardflag to launch the web interfaceTechnology Options
http.serverorsocketserverwith minimal dependenciesFeatures
Considerations