ShellRS
ShellRS is a free, open-source SSH client written in Rust: host management, terminals, WinSCP-style SFTP and port forwarding in one GPU-rendered window, for macOS, Windows and Linux.
Voice assistant on a Raspberry Pi Zero 2 W: custom wake word, Groq STT/TTS, Hermes agent
Translation pending
Developer toolsPython · ShellGitHub @FlopsstuffOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
R-Pi AI pod
Translation pending
Loading the full README.
Read the full README ↗Voice assistant on a Raspberry Pi Zero 2 W: wake word ("hey peedor"; custom openWakeWord model) → greeting → utterance recording → Groq STT → Hermes LLM agent → Groq TTS, with each stage animated on a NeoPixel ring.
Documentation: flopsstuff.github.io/raspidr (sources in docs/) · Demo video: flopsstuff.github.io/raspidr/demo
| docs/index.md | documentation contents — start here |
| docs/demo.md | demo video and photos of the device |
| docs/architecture.md | how the system works: loop, modules, audio, configuration, deployment, measurements |
| docs/hardware.md | the speaker hardware: pins, WM8960, UPS-Lite, ring, encoder, known issues |
| docs/wakeword_training.md | how the wake word model was trained and how to retrain it |
src/ speaker code (deployed to the Pi): assistant.py is the entry point
src/tools/ hardware checks and utilities (hwtest, micmeter, micprobe, record_samples, make_sounds)
training/ wake word training scripts (datasets in training/data are downloaded/generated, not in git)
models/ hey_peedor.npz — wake word model (Git LFS)
sounds/ greetings, «секунду…» ("one sec…"), waiting sound (Git LFS)
docs/ documentation, published with VitePress
deploy.sh deploy to the Pi; requirements.txt — Pi dependencies; .env.example — configuration template
Voice recordings and phrase samples (hey-peedor/, recordings/) are personal and gitignored —
docs/wakeword_training.md explains how to generate and record your own.
git lfs install && git clone [email protected]:Flopsstuff/raspidr.git && cd raspidr
cp .env.example .env # fill in the Pi host, Hermes URL and API keys
./deploy.sh --install --restart # sync to the Pi, install deps, start the assistant
./deploy.sh --logs # follow the log; say «хэй пидор»
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
.venv/bin/python src/assistant.py --text "Привет, кто ты?" # on the Mac, no microphone
Code and documentation: MIT.
The wake word model models/hey_peedor.npz is trained on openWakeWord's negative feature set, and openWakeWord
distributes its pre-trained models under CC BY-NC-SA 4.0 because of its training data. Treat this model the same
way: non-commercial use only. Retrain it yourself (see docs/wakeword_training.md)
if you need different terms.