Debugging Index
Last Updated: 2025-12-02 Version: 1.1.0 Audience: Developers, SREs, AI Assistants
Note: Voice/Realtime rows now target the Thinker-Talker pipeline at
/api/voice/pipeline-ws. The legacy OpenAI Realtime API is documented separately.
This is the central hub for all VoiceAssist troubleshooting documentation. Use this index to quickly find the right debugging guide, logs, metrics, and runbooks for any subsystem.
Debug by Symptom
| Symptom | Likely Subsystem | First Doc to Read | Key Commands |
|---|---|---|---|
| API returns 500 errors | Backend | Backend Debugging | docker logs voiceassist-server --tail 100 | grep ERROR |
| WebSocket disconnects | Voice/Realtime | Voice Debugging | websocat "wss://assist.asimo.io/api/voice/pipeline-ws" |
| Voice input not working | Voice/Realtime | Voice Debugging | Check browser audio permissions |
| Pages return 404 | Docs Site | Docs Site Debugging | ls /var/www/assistdocs.asimo.io/ |
| Slow response times | Backend | Backend Debugging | curl /metrics | grep http_request_duration |
| Authentication failing | Backend | Backend Debugging | Check JWT token expiry, Redis status |
| Search not returning results | Backend | Backend Debugging | Check Qdrant connection, embedding status |
| UI renders incorrectly | Frontend | Frontend Debugging | Browser DevTools Console & Network |
| SSL certificate errors | Infrastructure | Debugging Overview | sudo certbot certificates |
| Service won't start | Infrastructure | Debugging Overview | sudo systemctl status <service> |
AI Agent Playbook
For AI assistants debugging VoiceAssist issues:
Required Information to Collect
- Error context: Exact error message, timestamp, affected endpoint
- Logs: Last 100 lines from relevant service (
journalctl -u <service> -n 100) - Health status: Output of
/healthand/readyendpoints - Recent changes: Any deployments or config changes in past 24h
Standard Investigation Steps
# 1. Check container status docker ps --filter name=voiceassist docker logs voiceassist-server --tail 50 # 2. Check recent errors docker logs voiceassist-server --since "30m" 2>&1 | grep -i error # 3. Check health endpoints curl -s https://assist.asimo.io/health | jq curl -s https://assist.asimo.io/ready | jq # 4. Check dependencies docker exec voiceassist-redis redis-cli ping curl -s http://localhost:6333/collections | jq # Qdrant
What "Good" vs "Bad" Looks Like
| Check | Good | Bad |
|---|---|---|
/health | {"status": "healthy"} | Non-200 or timeout |
/ready | {"status": "ready", "dependencies": {...}} | Any dependency false |
| Service status | active (running) | failed or inactive |
| Redis | PONG | Connection refused |
| Apache | Syntax OK from configtest | Syntax errors |
Quick Reference: Subsystem Overview
| Subsystem | Primary Guide | Key Logs | Health Endpoint |
|---|---|---|---|
| Backend/API | Backend Debugging | docker logs voiceassist-server | /health, /ready |
| Frontend/Web | Frontend Debugging | Browser Console, Network Tab | N/A (static) |
| Voice/Realtime | Voice Debugging | docker logs voiceassist-server | /ws endpoint |
| Docs Site | Docs Site Debugging | /var/log/apache2/assistdocs-*.log | /agent/index.json |
| Infrastructure | Overview | docker logs, Apache logs | Docker health, systemd status |
Debugging Guides by Subsystem
Backend Services
Primary Guide: Backend Debugging
Key Logs:
# API Gateway logs (Docker container) docker logs voiceassist-server -f # With error filtering docker logs voiceassist-server --tail 100 2>&1 | grep -i error
Key Health Endpoints:
GET /health- Basic health checkGET /ready- Readiness (includes dependencies)GET /metrics- Prometheus metrics
Related Runbooks:
Frontend (Web App & Admin Panel)
Primary Guide: Frontend Debugging
Key Logs:
- Browser DevTools → Console
- Browser DevTools → Network Tab
- React DevTools → Profiler
Debugging Tools:
- Chrome DevTools
- React Developer Tools extension
- Redux DevTools (if applicable)
Related Documentation:
Voice & Realtime (WebSocket, STT, TTS)
Primary Guide: Voice & Realtime Debugging
Key Logs:
# Voice service logs (Docker container) docker logs voiceassist-server --since "10m" 2>&1 | grep -i "websocket\|stt\|tts\|voice"
Key Endpoints:
- Voice Pipeline (T/T):
wss://assist.asimo.io/api/voice/pipeline-ws - Chat Streaming:
wss://assist.asimo.io/api/realtime/ws - Test tools:
websocat,wscat
Related Documentation:
Documentation Site
Primary Guide: Docs Site Debugging
Key Logs:
# Apache logs for docs site sudo tail -f /var/log/apache2/assistdocs-error.log sudo tail -f /var/log/apache2/assistdocs-access.log
Key Health Endpoints:
GET /- HomepageGET /agent/index.json- AI agent discovery endpointGET /agent/docs.json- Documentation listGET /agent/tasks.json- Common agent tasksGET /agent/schema.json- JSON Schema for API typesGET /search-index.json- Search indexGET /sitemap.xml- Sitemap
Related Documentation:
Infrastructure
Primary Guide: Debugging Overview
Key Services:
# Check all major Docker containers docker ps --filter name=voiceassist # Check Apache sudo systemctl status apache2 # Check systemd for failures sudo systemctl list-units --failed
Key Health Checks:
# Database psql -h localhost -U voiceassist -d voiceassist -c "SELECT 1" # Redis redis-cli ping # Apache sudo apachectl configtest
Related Documentation:
Key Metrics & Monitoring
Prometheus Metrics (from /metrics)
| Metric | Description | Alert Threshold |
|---|---|---|
http_requests_total | Request count by status | > 10 5xx/min |
http_request_duration_seconds | Request latency | > 2s p95 |
db_connection_pool_size | Active DB connections | > 80% pool |
redis_connection_errors | Redis connection failures | > 0 |
Application Logs
Log format is structured JSON with trace IDs:
{ "timestamp": "2025-11-27T12:00:00Z", "level": "ERROR", "trace_id": "abc123", "message": "Database connection failed", "service": "api-gateway" }
Common Investigation Workflows
1. API Error Investigation
- Check health endpoints:
curl /health && curl /ready - Review recent errors:
docker logs voiceassist-server --tail 100 | grep ERROR - Check dependencies: Redis, PostgreSQL, Qdrant
- Look for trace ID in logs to follow request path
2. Frontend Issue Investigation
- Open Browser DevTools (F12)
- Check Console for JavaScript errors
- Check Network tab for failed API calls
- Verify environment variables
3. WebSocket/Voice Issue Investigation
- Test voice pipeline:
websocat "wss://assist.asimo.io/api/voice/pipeline-ws?token=..." - Check browser console for connection errors
- Verify Apache WebSocket proxy configuration
- Check audio permissions in browser
4. Docs Site Investigation
- Verify static files exist:
ls /var/www/assistdocs.asimo.io/ - Test with explicit .html:
curl /ai/onboarding.html - Check Apache rewrite rules
- Run validation:
pnpm validate:metadata
Runbooks & Operations
| Scenario | Runbook |
|---|---|
| Production Deployment | Production Deployment Runbook |
| Disaster Recovery | Disaster Recovery Runbook |
| Performance Investigation | Performance Tuning Guide |
| Load Testing | Load Testing Guide |
Related Documentation
- Implementation Status - Component status overview
- API Reference - API endpoint documentation
- Backend Architecture - System design
- Service Catalog - Service inventory