Vol. 1 · An open source framework · Apache 2.0

Alcove

The room inside the Haven. A dual-persona voice framework for Reachy Mini. Two voices, one robot, one continuous conversation. Yours to personalize.

Section i.

The pattern

Every capability inside Alcove lives here. Two personas share one session. The topic is passed like a baton.

  1. You Question about the first domain.
  2. Persona A Answers, using the tools they have.
  3. You Question about the second domain.
  4. Persona A "Let me hand you to Persona B for that."
  5. Signature move. The voice shifts. The seam.
  6. Persona B Picks up the thread. Different voice, different tools, same conversation.
Section ii.

What's in the box

A working repertoire — the framework, the tools, and the packaging patterns that took months to get right. Yours from day one.

i.

Handoff engine

The dual-persona pattern with response-cancel-before-create, so the incoming persona actually gets to speak.

ii.

Signature moves

Each persona configures a dance from the Reachy Mini library — the visible cue that the handoff happened.

iii.

Vision

A camera tool wired into the OpenAI Realtime image input. Point the robot at the world, ask about it.

iv.

Live web

A Tavily-powered search tool, so your personas ground their answers in current information.

v.

Motion & emotion

Dance, head movement, head tracking, and the emotion library — the full Reachy expressive kit.

vi.

Deploy patterns

Runtime.env for secrets, headless-mode fixes, fast-shutdown, package-data hygiene — the deployment battles fought and filed.

Slot i.
Persona A
who opens the conversation
Whoever this is, they take the first question. Answer in their domain, use their tools, hand off when the topic changes hands.
Voice
Any OpenAI Realtime voice
Move
Any move from the dances library
You write
nameinstructionstoolsvoicemove
Slot ii.
Persona B
who takes the handoff
Whoever this is, they pick up the thread. Different voice, different tools, same continuous conversation.
Voice
Any Realtime voice — pick a contrast
Move
Any move — visibly different from Slot A
You write
nameinstructionstoolsvoicemove
Section iv.

Fork it

Five steps from clone to a robot in your voice.

  1. i.

    Fork this Space

    Click the three-dot menu at the top of this page and choose Duplicate this Space. You'll get your own private copy under your account.

  2. ii.

    Rename the two profiles

    Inside profiles/, rename persona_a and persona_b to whoever your two characters are.

  3. iii.

    Write the instructions

    Each persona's instructions.txt is where you write who they are, how they speak, what they know, and when they hand off. This is the whole personality layer.

  4. iv.

    Pick voices and moves

    Each persona's voice.txt chooses a voice from OpenAI Realtime. Each has a signature move from Pollen's dances library, configured in persona_manager.py.

  5. v.

    Install on your Reachy Mini

    From the Discover Apps panel on the robot — or run the command:

    reachy-mini-app-assistant install your-username/your-fork

Alcove was extracted from Haven Kitchen — my private dual-persona kitchen companion. Haven stays closed; Alcove is the framework underneath, given away.

Take it, fork it, make it yours.