Add Reachy Mini OpenShell demo project - #1
Merged
Conversation
johnnygreco
force-pushed
the
johnny/reachy-openshell
branch
from
June 24, 2026 17:35
11bfa3c to
90500da
Compare
johnnygreco
commented
Jun 26, 2026
johnnygreco
left a comment
Collaborator
Author
There was a problem hiding this comment.
Panel Review Update
Launched a three-pass panel review after pushing the final refactor:
- Backend/runtime pass found a P1 Realtime tool-call race: the app requested a follow-up response before sending
function_call_output. Fixed in78193daby waiting until the tool result is sent before queueing the Realtime follow-up, with a regression test covering the no-pre-result-response behavior. - UX/docs and repo-hygiene passes found a P1 launcher readiness issue:
scripts/start-local.shtreated any HTTP-ish daemon status as healthy. Fixed in78193daby requiring/api/daemon/statusJSON withtype == "daemon_status"andstate == "running". - Docs pass also noted the local-STT
app-flow/--real-reachyvalidation wording could confuse Realtime users. Fixed in78193daby scoping that section explicitly toBACKEND_PROVIDER=local_stt.
Remaining note: pyproject.toml intentionally keeps uv lock resolution scoped to Darwin for the local Reachy/MuJoCo demo workflow. This is documented, but Linux CI would need its own lock/platform handling before treating this project as a normal cross-platform CI target.
Validation after fixes:
uv run ruff format .uv run ruff check .uv run ty checkuv lock --checkuv run pytest -q(166 passed)git diff --checkuv run python -m reachy_mini_conversation_app --helpreachy-mini-backend-checkdry-run validation for OpenAI Realtime, HF Realtime, and local-STT example env filesuv run reachy-mini-backend-check --env-file .env.openai-realtime.example --livescripts/smoke-local-stt.sh
johnnygreco
marked this pull request as ready for review
June 26, 2026 20:19
johnnygreco
force-pushed
the
johnny/reachy-openshell
branch
from
July 7, 2026 16:05
28aa9ce to
15a93ef
Compare
johnnygreco
force-pushed
the
johnny/reachy-openshell
branch
from
July 7, 2026 16:12
15a93ef to
9122d6f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a Reachy Mini conversation demo for OpenShell under
projects/reachy-mini-openshell. The project provides a simulator-first local workflow, Gradio browser UI, Reachy movement tools, selectable model backends, and onboarding docs for running the app with minimal setup.What This Adds
reachy_mini_conversation_apppackage withreachy-mini-conversation-appandreachy-mini-backend-checkcommands../scripts/start-local.sh, that syncs dependencies, validates config, starts the Reachy Mini simulator daemon, and launches the browser app..env.exampletemplate copied to.env; credentials and model routing stay out of the browser UI.BACKEND_PROVIDER:openai_realtimefor OpenAI Realtime speech, tool use, and speech output.hf_realtimefor the Pollen/Hugging Face realtime path.local_sttfor OpenAI-compatible STT -> Chat Completions + Reachy tools -> TTS.Local Demo Flow
Open the printed Gradio URL, then choose
Microphonefor voice input orTextfor typed prompts.Validation
uv run ruff check .uv run ruff format --check .uv run ty checkuv run pytest -q(165 passed)env OPENAI_API_KEY=dummy uv run reachy-mini-backend-check --env-file .env.examplegit diff --check