Get started

Session Context

How Quox maintains context across conversations and sessions.

Use this document to maintain continuity between development sessions.


Current State (Last Updated: 2025-01-14)

Completed Features

  • HAL-9000 style homepage with audio-reactive visualizer
  • Voice mode selector (JARVIS/Cyberpunk/HAL)
  • Text input fallback with subtitles
  • n8n workflow engine running in Docker
  • quox-chat webhook for Claude integration
  • quox-speak webhook for TTS (ElevenLabs)
  • quox-transcribe webhook for STT (Whisper)
  • Context injection - Claude knows all 50+ hosts
  • Session continuity via session_id
  • Quick actions panel with visual feedback
  • React Router navigation structure
  • Activity logging in n8n
  • Comprehensive documentation suite

In Progress

  • Voice testing with actual API keys
  • Multi-agent development team architecture
  • Settings page UI implementation

Not Started

  • Self-modification with approval gates
  • RAG integration with Qdrant
  • Grafana dashboard synchronization
  • Prometheus exporter automation
  • System update automation agents

API Keys Status

ServiceKey VariableStatus
Anthropic (Claude)ANTHROPIC_API_KEYConfigured in n8n
OpenAI (Whisper)OPENAI_API_KEYNEEDS SETUP
ElevenLabs (TTS)ELEVENLABS_API_KEYNEEDS SETUP

To configure:

bash
sudo nano /opt/n8n/.env
# Add keys, then:
cd /opt/n8n && docker compose restart n8n

Next Session Priorities

Priority 1: Voice Testing

  1. Add OpenAI API key for Whisper
  2. Add ElevenLabs API key for TTS
  3. Test full voice conversation flow
  4. Fix any issues discovered

Priority 2: Automation Agents

Create n8n workflows for:

  • apt-update - Check for updates on hosts
  • apt-upgrade - Full system upgrade
  • grafana-sync - Update dashboards with current hosts

Priority 3: Bastion Tool Exploration

SSH to nw-edge-gw-01 and document bastion tool features:

  • SSH key management
  • MOTD configuration
  • Prometheus exporter installation
  • Firewall port management

Priority 4: RAG Setup

  • Deploy Qdrant container
  • Create embedding pipeline
  • Index n8n workflow templates
  • Test context-aware queries

Key Files Reference

Dashboard

FilePurpose
src/pages/HALHome.jsxMain HAL interface
src/components/hal/HALVisualizer.jsxAudio-reactive eye
src/components/hal/VoiceControls.jsxMic/speaker buttons
src/components/hal/Subtitles.jsxText display
src/styles/hal.cssHAL styling
src/App.jsxRouter and routes

Infrastructure

FilePurpose
/opt/n8n/docker-compose.ymlService config
/opt/n8n/.envAPI keys
/opt/n8n/data/n8n persistence

Workflows (JSON)

FilePurpose
/tmp/quox-speak.jsonTTS workflow
/tmp/quox-transcribe.jsonSTT workflow

Architecture Decisions

Voice Flow

User speaks → Browser MediaRecorder → WebM blob
    → POST /webhook/transcribe → Whisper API → text
    → POST /webhook/chat → Claude API → response
    → POST /webhook/speak → ElevenLabs API → audio
    → Browser Audio playback

State Machine (HAL Eye)

IDLE (red) → LISTENING (blue) → THINKING (orange) → SPEAKING (green) → IDLE

SSH Access Pattern

Dashboard → n8n → Bastion (nw-edge-gw-01) → Target hosts

Known Issues

  1. SSH intermittent - nw-edge-gw-01 sometimes rejects connections
  2. Browser audio - Some browsers block autoplay
  3. Large responses - May need truncation handling

Useful Commands

bash
# Restart services
cd /opt/n8n && docker compose restart

# View n8n logs
docker logs n8n -f

# Rebuild dashboard
cd /home/control/quox-dashboard && npm run build

# Check workflow status
docker exec n8n n8n list:workflow

Session Notes

2025-01-14 Session

  • Built complete HAL interface with voice support
  • Created comprehensive documentation
  • Designed automation agents (not yet implemented)
  • Planned RAG integration with Qdrant
  • Ready for voice testing once API keys configured

Next Session Goals

  • Configure and test voice features
  • Implement at least one automation agent
  • Explore bastion tool capabilities
  • Begin RAG implementation