Spaces:
Running
Running
| title: Alcove | |
| emoji: π―οΈ | |
| colorFrom: green | |
| colorTo: yellow | |
| sdk: static | |
| pinned: false | |
| license: apache-2.0 | |
| short_description: The open-source dual-persona voice framework for Reachy Mini | |
| tags: | |
| - reachy_mini | |
| - voice-assistant | |
| - dual-persona | |
| - conversational-ai | |
| - openai-realtime | |
| # Alcove | |
| **The room inside the Haven.** | |
| An open-source dual-persona voice framework for [Reachy Mini](https://github.com/pollen-robotics/reachy-mini). Two voices, one robot, one continuous conversation. Yours to personalize. | |
| Alcove was extracted from *Haven Kitchen* β a private, personal dual-persona kitchen companion. Haven stays closed; Alcove is the framework underneath, given away. | |
| --- | |
| ## What's in the box | |
| - **Dual-persona architecture** β two personas share a single OpenAI Realtime session, with the topic handed off between them. | |
| - **Handoff engine** β the response-cancel-before-create pattern that makes the incoming persona actually get to speak. | |
| - **Signature moves** β each persona configures a dance from the Reachy Mini library as their handoff cue. | |
| - **Vision** β a camera tool wired into the OpenAI Realtime image input. | |
| - **Live web** β a Tavily-powered search tool. | |
| - **Motion & emotion** β dance, head movement, head tracking, and the full Reachy expressive kit. | |
| - **Deploy patterns** β runtime.env for secrets, headless-mode fixes, fast-shutdown, package-data hygiene. | |
| ## How to fork it | |
| 1. **Duplicate this Space** β three-dot menu β *Duplicate this Space*. You get your own copy under your account. | |
| 2. **Rename the two profiles** β inside `profiles/`, rename `persona_a` and `persona_b` to whoever your two characters are. | |
| 3. **Write the instructions** β each persona's `instructions.txt` is where you write who they are, how they speak, and when they hand off. | |
| 4. **Pick voices and moves** β each persona's `voice.txt` chooses a voice from OpenAI Realtime; each configures a signature move in `persona_manager.py`. | |
| 5. **Install on your Reachy Mini** β from the Discover Apps panel on the robot, or run: | |
| ```bash | |
| reachy-mini-app-assistant install your-username/your-fork | |
| ``` | |
| ## Requirements | |
| - A Reachy Mini robot | |
| - An OpenAI API key (with Realtime API access) | |
| - A [Tavily API key](https://tavily.com) (optional, for the web search tool) | |
| ## License | |
| Apache 2.0. Take it, fork it, make it yours. | |
| ## Credits | |
| Built by [@AccidentalCoder80](https://huggingface.co/AccidentalCoder80) on [Reachy Mini](https://github.com/pollen-robotics/reachy-mini) and OpenAI Realtime. | |