Imported from mayukh4/huskylens-agent (
SKILL.md). Install upstream withnpx skills add mayukh4/huskylens-agent. Copyright stays with the author (MIT).
tars-vision
Physical embodiment for Hermes Agent. The Pi drives three independent loops that share a single HuskyLens camera over I2C:
- Always-on gesture control — open palm, fist, and victory sign trigger Home Assistant switches and Hermes web-search queries.
- Heartbeat (every 5 min) — sequentially runs face recognition then emotion recognition, feeds
"<name> is here, they seem <mood>"to Hermes, and speaks the reply. - Tap-to-speak voice — touch the screen to record, transcribe with Whisper, route through Hermes, speak the reply with OpenAI TTS (Onyx voice).
The face is rendered in the browser (Chromium kiosk) from assets/static/ and driven by a Flask API on localhost:5555. Hermes can push face state with POST /state from any skill.
Install
git clone https://github.com/MayukhBuilds/huskylens-agent.git
cd huskylens-agent
bash scripts/install.sh
# edit .env with your OPENAI_API_KEY
bash scripts/start.sh
Full hardware wiring, HuskyLens I2C setup, and optional Home Assistant config: see references/SETUP.md.
Architecture deep-dive (threading model, heartbeat rationale, why I2C won over UART/USB-MCP): see references/ARCHITECTURE.md.
TARS personality prompt (copied to ~/.hermes/SOUL.md by install.sh): references/SOUL.md.
Face API
curl -X POST localhost:5555/state -d '{"state":"happy"}'
curl -X POST localhost:5555/expression -d '{"expression":"surprised","duration":3}'
curl localhost:5555/health
States: idle, listening, recording, thinking, speaking, happy, curious, surprised, sleeping.