Agent Charm
garavitgabriel/agent-charm
Pocket ESP32-S3 AMOLED device with an animated character that talks to a Hermes or OpenAI-compatible agent
Agent Charm is a pocket ESP32-S3 device with a 1.8 inch AMOLED screen, a mic and a speaker, where an animated character named Dex acts as a voice remote for your AI agent. The agent can be a Hermes Agent you already run or any OpenAI-compatible model.
What Agent Charm does
You hold the button and speak. A small Python server transcribes the audio with faster-whisper, sends it to your agent, then replies with a short card on screen and two spoken sentences using Edge TTS. Answers stream, so Dex starts speaking after the first sentence. The device talks to the server over a single WebSocket that carries JSON frames and 16 kHz PCM audio, with a JSON Schema for every card kind, and a turn-based HTTP API exists for clients that cannot hold a WebSocket.
The screen only shows states the backend has confirmed. Cards ask for approve, reject or later, with a stated default and deadline, and payments need a 2-second hold rather than a tap. Other modes include a reading mode with no spoilers past your chapter, verbatim 'Save this' notes stored as Markdown files, a six-card morning edition built from agent feeds and a second character, Coach Beard. The same LVGL UI builds into a macOS simulator, so it runs without hardware. Voice input supports English and Spanish.
Key features
- Hold-to-talk voice interface in English or Spanish with streamed answers
- Hermes Agent or any OpenAI-compatible backend, including Ollama and LM Studio
- Decision cards with approve, reject and later, and a 2-second hold for payments
- Reading mode that avoids spoilers past your current chapter
- macOS simulator built from the same LVGL UI code
- Documented WebSocket protocol and HTTP API
When to use it
- Asking a Hermes Agent a question by voice from a pocket device
- Approving small agent actions with a physical hold
- Prototyping the UI on a Mac with the simulator before buying hardware
Who it is for: Hardware tinkerers and agent users who want a physical voice remote for an agent they already trust.
How it fits with Hermes Agent
Hermes Agent is one of two agent backends, selectable as hermes next to a generic OpenAI-compatible backend, and the repository carries the hermes-agent topic.
Requirements: A Waveshare ESP32-S3-Touch-AMOLED-1.8 board (V2 only), a USB-C cable and a 5 V 2 A supply; the server and simulator run on a Mac or Linux box, and the macOS simulator needs uv, cmake, ffmpeg and SDL2
FAQ
What is Agent Charm?
Agent Charm is a pocket ESP32-S3 gadget with an AMOLED screen, mic and speaker that lets you talk to an AI agent. An animated character named Dex shows answers as short cards and speaks two sentences aloud.
Does Agent Charm work with Hermes Agent?
Yes. The server has a hermes agent backend alongside an openai-compatible backend, so Dex can front a Hermes Agent you already run.
What do I need to run Agent Charm?
You need the Waveshare ESP32-S3-Touch-AMOLED-1.8 board in its V2 revision, a USB-C cable and a real 5 V 2 A power supply. The Python server runs on a Mac or Linux machine, and a simulator lets you try it with no hardware.
Similar interfaces for Hermes Agent
All interfacesAndroid client for self-hosted Hermes Agent with multi-profile chat, cron task view and model switching
upmeister Hermes Desktop RURussian localization mod for Hermes Desktop covering hardcoded UI strings, Bots and Kanban
Beyond-Horizons-Institute Symbio BasicDesktop AI companion with a 3D VRM avatar, screen vision and voice that can connect to Hermes Agent
teknium1 Hermes Pixel OfficeVS Code extension that shows Hermes agents working as pixel characters in a virtual office
arm64be TheiaVisualizes Hermes Agent sessions as a three.js semantic constellation, with a dashboard plugin
123mikeyd hermes-vtuberHermes Agent integration for Open-LLM-VTuber, a voice-driven Live2D AI companion
Related guides: Connect Hermes agents on several machines with Hermes Desktop · How to install Hermes Agent