Files
Assistant/CLAUDE.md

1.4 KiB

Assistant project

Voice assistant on a Raspberry Pi, talking to OpenAI Realtime API for voice I/O.

Target device

  • Host: assistant (hostname), IP 192.168.50.115
  • mDNS name assistant.local is NOT resolvable from this sandbox — use the IP.
  • OS: Debian (Raspberry Pi OS), kernel 6.12.75+rpt-rpi-v8, aarch64
  • SSH user: pi, password: assistant

SSH access from this sandbox

ping and ssh/sshpass are installed via apt (iputils-ping, openssh-client, sshpass). The host key is already in ~/.ssh/known_hosts.

Run a command on the Pi:

sshpass -p 'assistant' ssh pi@192.168.50.115 '<command>'

Copy a file to the Pi:

sshpass -p 'assistant' scp <local> pi@192.168.50.115:<remote>

Prototype + probe findings

findings.md is the canonical record of what we proved during the prototype + C# probe phase. Read it before starting any audio, wakeword, or Pi-client work — it captures hardware constraints (USB Speaker Phone is 48 kHz-native, mic and speaker are the same device), the .NET-on-Linux env-var gotcha (Environment.SetEnvironmentVariable does NOT reach libc getenv(); you must P/Invoke setenv for libportaudio and onnxruntime to see env knobs), and the punch list of items to redesign before the main assistant. The Python prototypes live at tests/01-record-play/ and tests/02-wakeword/; the C# Test 1 port at tests/01-record-play-cs/ (deployed via bin/probe-cs).