Personal_AI_Infrastructure icon indicating copy to clipboard operation
Personal_AI_Infrastructure copied to clipboard

feat(pai-voice-system): Add Linux support and CLI configuration

Open sti0 opened this issue 5 days ago • 1 comments

Summary

  • Re-Adds full Linux platform support for the voice server (audio playback + notifications)
  • Adds CLI arguments for runtime configuration (--port, --extra-args)
  • Enhances .env loading from $PAI_DIR/.env with quote stripping (closes #346 )
  • Adds devcontainer/PulseAudio documentation for containerized development

Changes

Linux Audio Support

  • Auto-detects mpg123 or mpv for audio playback on Linux
  • Falls back gracefully if no player is installed
  • macOS continues to use built-in afplay

Linux Notifications

  • Uses notify-send for desktop notifications on Linux
  • macOS continues to use osascript

CLI Arguments

  • --port / -p: Override server port
  • --extra-args: Pass extra arguments to audio player (e.g., -o pulse for PulseAudio)

Environment Variables

  • PAI_VOICE_SERVER_PORT: Server port (default: 8888)
  • PAI_VOICE_SERVER_EXTRA_ARGS: Extra audio player arguments
  • Enhanced .env parsing with quote stripping for values

Documentation

  • Added devcontainer setup guide for PulseAudio
  • Updated platform status to show Linux as fully supported
  • Added changelog entry for v1.1.0

Test Plan

  • [x] Voice notification plays on Linux with mpg123
  • [x] CLI --port argument works
  • [x] CLI --extra-args argument passes to audio player
  • [x] .env values with quotes are parsed correctly
  • [x] TypeScript compiles without errors

sti0 avatar Jan 08 '26 22:01 sti0