Spaces:
Running
Running
| <html lang="en"> | |
| <head> | |
| <meta charset="utf-8" /> | |
| <meta name="viewport" content="width=device-width,initial-scale=1" /> | |
| <meta name="description" content="An extensible Reachy Mini companion app for safe local control, privacy, camera, voice and optional Hermes agent capabilities." /> | |
| <title>Reachy Mini Hermes — companion and control app</title> | |
| <link rel="stylesheet" href="style.css" /> | |
| </head> | |
| <body> | |
| <header class="site-header"> | |
| <a class="brand" href="#top" aria-label="Reachy Mini Hermes home"><span class="brand-mark">H</span><span>Reachy Mini Hermes</span></a> | |
| <nav aria-label="Primary navigation"> | |
| <a href="#expect">Start here</a> | |
| <a href="#capabilities">Capabilities</a> | |
| <a href="#architecture">Architecture</a> | |
| <a class="nav-cta" href="https://github.com/Timverhoogt/reachy-mini-hermes" target="_blank" rel="noopener noreferrer" aria-label="View source on GitHub (opens in a new tab)">GitHub ↗</a> | |
| </nav> | |
| </header> | |
| <main id="top"> | |
| <section class="hero"> | |
| <div class="hero-copy"> | |
| <p class="eyebrow">AN EXTENSIBLE REACHY MINI COMPANION</p> | |
| <h1>Control locally.<br /><em>Add an agent.</em></h1> | |
| <p class="lede">Start with visible privacy states, guarded movement, camera controls, announcements and a local browser UI. Add Hermes Agent for voice, memory, skills and progressively gated tools. Hermes is central to the advanced experience—not required to understand the app.</p> | |
| <div class="hero-actions"> | |
| <a class="button primary" href="https://github.com/Timverhoogt/reachy-mini-hermes" target="_blank" rel="noopener noreferrer" aria-label="View source on GitHub (opens in a new tab)">View source on GitHub ↗</a> | |
| <a class="button secondary" href="https://github.com/Timverhoogt/reachy-mini-hermes/blob/main/docs/lite-raspberry-pi-4.md" target="_blank" rel="noopener noreferrer" aria-label="Read the Lite plus Raspberry Pi 4 setup guide (opens in a new tab)">Read the Pi setup guide ↗</a> | |
| </div> | |
| <div class="proof" aria-label="Project facts"> | |
| <span><strong>Early alpha</strong> reference-tested</span> | |
| <span><strong>Local first</strong> before cloud paths</span> | |
| <span><strong>Apache-2.0</strong> open source</span> | |
| </div> | |
| </div> | |
| <figure class="hero-media"> | |
| <img src="docs/assets/hero-reachy.webp" width="800" height="450" alt="An actual Reachy Mini on a desk raising its antennas in an official Pollen Robotics demonstration." fetchpriority="high" /> | |
| <figcaption>Actual Reachy Mini · official Pollen Robotics source, converted to a metadata-free static WebP under Apache-2.0.</figcaption> | |
| </figure> | |
| </section> | |
| <section class="mode-strip" id="expect" aria-label="What first-time visitors can expect"> | |
| <article> | |
| <p class="number">01 / CONNECT</p> | |
| <h2>Bring Reachy and an app host</h2> | |
| <p>Use Wireless, a Lite connected to a normal computer, or Tim's community Lite + Pi 4 reference pattern. The Pi pattern is not an official Wireless conversion.</p> | |
| </article> | |
| <article> | |
| <p class="number">02 / CHECK SAFETY</p> | |
| <h2>Start folded and local</h2> | |
| <p>Confirm Standby and released torque, wake with clear space, try one bounded look, press Stop, then verify safe fold before enabling camera or voice.</p> | |
| </article> | |
| <article> | |
| <p class="number">03 / EXPAND</p> | |
| <h2>Connect Hermes when wanted</h2> | |
| <p>The authenticated private bridge adds speech providers, interruptible conversation, memory, Kids experiences and gated agent tools while provider keys stay off Reachy.</p> | |
| </article> | |
| </section> | |
| <section class="capability-matrix section" id="capabilities"> | |
| <div class="section-heading"> | |
| <p class="eyebrow">VERIFIED VS GATED</p> | |
| <h2>Choose only what you need.</h2> | |
| <p>✅ means reference-tested. ◐ means implemented but still requires per-install or final hardware acceptance. Experimental features are not presented as production-ready.</p> | |
| </div> | |
| <div class="matrix-wrap" role="region" aria-label="Capability and setup matrix" tabindex="0"> | |
| <table> | |
| <thead><tr><th>Capability</th><th>Reachy + app</th><th>Lite + Pi 4</th><th>Hermes</th><th>Boundary</th></tr></thead> | |
| <tbody> | |
| <tr><th>Local dashboard, privacy and guarded movement</th><td>✅</td><td>✅</td><td>Optional</td><td>Physical acceptance still required</td></tr> | |
| <tr><th>Local live camera</th><td>✅</td><td>✅</td><td>Optional</td><td>Explicit opt-in; trusted UI only</td></tr> | |
| <tr><th>Voice, announcements and one-frame model vision</th><td>—</td><td>—</td><td>◐</td><td>Private bridge + configured providers</td></tr> | |
| <tr><th>Supervised Kids Mode and personal agent tools</th><td>—</td><td>—</td><td>◐</td><td>Adult supervision; progressively gated</td></tr> | |
| <tr><th>Sony Bluetooth controller</th><td>—</td><td>—</td><td>Optional</td><td>Wireless only; final hardware acceptance pending</td></tr> | |
| </tbody> | |
| </table> | |
| </div> | |
| </section> | |
| <section class="architecture section" id="architecture"> | |
| <div class="section-heading"> | |
| <p class="eyebrow">TRUST BOUNDARIES</p> | |
| <h2>Local controls first.<br />Private bridge second.</h2> | |
| <p>The app host owns local wake, safety, privacy, movement and camera controls. The optional Hermes host keeps identity, memory, tools and provider credentials. Dashed paths cross into private or external systems.</p> | |
| </div> | |
| <figure class="architecture-figure"> | |
| <p class="diagram-hint" aria-hidden="true">Swipe horizontally to explore the full-size diagram →</p> | |
| <div class="diagram-scroll" role="region" aria-label="Scrollable companion app architecture diagram" tabindex="0"> | |
| <img src="docs/assets/architecture.svg" alt="Reachy Mini connects locally to the companion app; an optional authenticated bridge connects to Hermes Agent, which may contact external providers across a separate trust boundary." /> | |
| </div> | |
| <figcaption>Camera live view stays local. One frame may leave only after explicit opt-in and a visual request. Provider credentials remain on the Hermes host.</figcaption> | |
| <p class="diagram-summary"><strong>Text summary:</strong> Reachy hardware connects to the local companion app, which owns safety, privacy, movement, wake, camera and UI controls. An optional authenticated LAN or VPN bridge connects the app to a private Hermes host. Only enabled capabilities cross from Hermes to external model, speech or approved tool providers.</p> | |
| </figure> | |
| </section> | |
| <section class="privacy section" id="privacy"> | |
| <div class="section-heading compact"> | |
| <p class="eyebrow">PHYSICAL STATES</p> | |
| <h2>Privacy you can see.</h2> | |
| </div> | |
| <div class="state-table" role="table" aria-label="Power and privacy modes"> | |
| <div class="state-row header-row" role="row"><span>Mode</span><span>Microphone</span><span>Wake word</span><span>Face tracking</span><span>Motor torque</span></div> | |
| <div class="state-row" role="row"><strong>Standby</strong><span>Local only</span><span class="on">Active</span><span>Post-wake only</span><span>Released</span></div> | |
| <div class="state-row" role="row"><strong>Awake</strong><span>Running</span><span class="on">Active</span><span>Optional post-wake</span><span class="on">Enabled</span></div> | |
| <div class="state-row" role="row"><strong>Meeting</strong><span class="off">Stopped</span><span class="off">Disabled</span><span class="off">Disabled</span><span>Released</span></div> | |
| <div class="state-row" role="row"><strong>Sleep</strong><span class="off">Stopped</span><span class="off">Disabled</span><span class="off">Disabled</span><span>Released</span></div> | |
| </div> | |
| <p class="privacy-note">Face tracking and wake-direction sensing stay local to Reachy. Explicit voice commands can select Standby, Awake, timed Meeting, or Sleep. Meeting and Sleep stop microphone capture and tracking, cancel physical actions, clear playback, and disable wake detection. Before any transition releases motor torque, Reachy checks its pose and folds the head gently when needed. Sleep requires the settings UI or a physical control to wake again.</p> | |
| </section> | |
| <section class="visuals section" id="visuals"> | |
| <div class="section-heading"> | |
| <p class="eyebrow">HARDWARE, SAFETY, PRIVACY</p> | |
| <h2>See what the setup means.</h2> | |
| <p>Official Reachy Mini imagery explains the real hardware. The project-authored Pi diagram shows the conservative community topology—not a final attached mount and not Wireless equivalence.</p> | |
| </div> | |
| <div class="visual-grid"> | |
| <figure class="visual-card visual-card-wide"> | |
| <p class="diagram-hint" aria-hidden="true">Swipe horizontally to explore the full-size diagram →</p> | |
| <div class="diagram-scroll" role="region" aria-label="Scrollable Lite and Raspberry Pi 4 topology diagram" tabindex="0"> | |
| <img src="docs/assets/lite-pi-overview.svg" alt="Conservative Reachy Mini Lite and Raspberry Pi 4 companion topology with separate power supplies, USB data, ventilation, strain relief and motor-clearance callouts." loading="lazy" /> | |
| </div> | |
| <figcaption><strong>Community Lite + Pi 4 topology.</strong> Start off-robot with two supplies; mounted placement and shared power remain unapproved.</figcaption> | |
| <p class="diagram-summary"><strong>Text summary:</strong> Keep the Pi off-robot on a ventilated, non-conductive surface. Power Reachy and the Pi from separate approved supplies, connect USB for data only, secure cable strain relief to a stationary support, and keep every cable, mount and device outside Reachy's movement zone. Shared power and robot-mounted placement are not approved.</p> | |
| </figure> | |
| <figure class="visual-card"> | |
| <img src="docs/assets/reachy-components.webp" width="1400" height="990" alt="Official exploded component comparison of Reachy Mini Lite and Reachy Mini Wireless." loading="lazy" /> | |
| <figcaption><strong>Lite and Wireless are different products.</strong> This official component view is why the guide makes no conversion-equivalence claim.</figcaption> | |
| </figure> | |
| <figure class="visual-card"> | |
| <img src="docs/assets/ui-dashboard.webp" width="1440" height="900" alt="Reachy Mini Hermes dashboard showing sanitized Standby, folded and torque-released demo status with power and privacy controls." loading="lazy" /> | |
| <figcaption><strong>Start folded and local.</strong> Real project UI with sanitized demo status; this capture is not a claim of a live robot connection.</figcaption> | |
| </figure> | |
| <figure class="visual-card"> | |
| <img src="docs/assets/ui-robot.webp" width="1440" height="900" alt="Reachy Mini Hermes Robot tab showing sanitized folded motor status, guarded wake, fold and Stop controls." loading="lazy" /> | |
| <figcaption><strong>Stop stays visible.</strong> Real project UI with sanitized demo status; motor controls remain guarded by physical acceptance.</figcaption> | |
| </figure> | |
| <figure class="visual-card"> | |
| <img src="docs/assets/mic-camera.webp" width="1400" height="990" alt="Official diagram identifying Reachy Mini's camera and microphone locations." loading="lazy" /> | |
| <figcaption><strong>Visible privacy boundaries.</strong> Camera is opt-in; Meeting and Sleep stop app-controlled microphone capture.</figcaption> | |
| </figure> | |
| </div> | |
| <div class="hero-actions"> | |
| <a class="button secondary" href="https://github.com/Timverhoogt/reachy-mini-hermes/blob/main/docs/IMAGE_CREDITS.md" target="_blank" rel="noopener noreferrer" aria-label="Read image sources, changes and license notes (opens in a new tab)">Image credits and license notes ↗</a> | |
| <a class="button secondary" href="https://github.com/Timverhoogt/reachy-mini-hermes/blob/main/docs/public-image-shot-list.md" target="_blank" rel="noopener noreferrer" aria-label="Read the optional owned-image shot list (opens in a new tab)">Optional owned-photo shot list ↗</a> | |
| </div> | |
| </section> | |
| <section class="install section" id="install"> | |
| <div class="install-copy"> | |
| <p class="eyebrow">OPEN SOURCE · EARLY ALPHA</p> | |
| <h2>Start with the right guide.</h2> | |
| <p>Baseline local evaluation needs Reachy Mini SDK 1.9+, Python 3.11+, supported Reachy hardware and a trusted local network. Hermes and provider access are required only for the connected voice, Kids, vision and agent paths.</p> | |
| <div class="install-links"> | |
| <a href="https://github.com/Timverhoogt/reachy-mini-hermes#install-the-reachy-app" target="_blank" rel="noopener noreferrer" aria-label="Read the app installation guide (opens in a new tab)">Read the app installation guide ↗</a> | |
| <a href="https://github.com/Timverhoogt/reachy-mini-hermes/blob/main/docs/lite-raspberry-pi-4.md" target="_blank" rel="noopener noreferrer" aria-label="Read the Lite plus Raspberry Pi 4 guide (opens in a new tab)">Read the Lite + Pi 4 guide ↗</a> | |
| <a href="https://github.com/Timverhoogt/reachy-mini-hermes/blob/main/OPERATIONS.md" target="_blank" rel="noopener noreferrer" aria-label="Read the operations runbook (opens in a new tab)">Read operations and troubleshooting ↗</a> | |
| <a href="https://github.com/Timverhoogt/reachy-mini-hermes/blob/main/SECURITY.md" target="_blank" rel="noopener noreferrer" aria-label="Read the security model (opens in a new tab)">Read the security model ↗</a> | |
| </div> | |
| </div> | |
| <pre class="terminal" aria-label="Installation commands"><span>$</span> git clone https://github.com/Timverhoogt/reachy-mini-hermes | |
| <span>$</span> cd reachy-mini-hermes | |
| <span>$</span> uv build --wheel | |
| <span>$</span> uv pip install --reinstall dist/reachy_mini_hermes-*.whl | |
| <span class="terminal-comment"># Then open Reachy’s app settings and say any local wake phrase:</span> | |
| <span class="terminal-accent">“Hey Hermes” · “Okay Nabu” · “Hey Reachy”</span></pre> | |
| </section> | |
| </main> | |
| <footer> | |
| <div><strong>Reachy Mini Hermes</strong><span>Local companion controls with an optional Hermes agent backend.</span></div> | |
| <nav aria-label="Footer navigation"> | |
| <a href="https://github.com/Timverhoogt/reachy-mini-hermes" target="_blank" rel="noopener noreferrer" aria-label="View source on GitHub (opens in a new tab)">GitHub ↗</a> | |
| <a href="https://github.com/NousResearch/hermes-agent" target="_blank" rel="noopener noreferrer" aria-label="Open Hermes Agent on GitHub (opens in a new tab)">Hermes Agent ↗</a> | |
| <a href="https://huggingface.co/docs/reachy_mini/" target="_blank" rel="noopener noreferrer" aria-label="Read official Reachy Mini documentation (opens in a new tab)">Official Reachy docs ↗</a> | |
| </nav> | |
| </footer> | |
| </body> | |
| </html> | |