--- config: layout: dagre flowchart: htmlLabels: true --- flowchart TB User(["User
Person interacting with system"]) -- audio stream --> UI@{ label: "UI Layer
Web UI / Console" } UI -- audio stream --> Backend@{ label: "Realtime Backend
Audio + Tool Calls + Vision" } Backend -- audio stream --> Motion@{ label: "Motion Control
Audio Sync" } Backend -- tool calls --> Handlers@{ label: "Tool Layer
Built-in + external tools
+ MCP Tool Spaces
" } Profiles@{ label: "Selected Profile
profile.md
+ instance-local tool access
" } Profiles -- defines enabled tools --> Handlers Handlers -- movement requests --> Motion Handlers -. image for analysis .-> Backend Robot@{ label: "reachy_mini
Robot Control Library" } -- camera frames --> Handlers Motion -- commands --> Robot Handlers -- results --> Backend User:::userStyle UI:::uiStyle Backend:::aiStyle Motion:::coreStyle Profiles:::toolStyle Handlers:::toolStyle Robot:::hardwareStyle classDef userStyle fill:#e1f5fe,stroke:#01579b,stroke-width:3px classDef uiStyle fill:#b3e5fc,stroke:#0277bd,stroke-width:2px classDef aiStyle fill:#e1bee7,stroke:#7b1fa2,stroke-width:3px classDef coreStyle fill:#fff9c4,stroke:#f57f17,stroke-width:2px classDef hardwareStyle fill:#ef9a9a,stroke:#c62828,stroke-width:3px classDef toolStyle fill:#fffde7,stroke:#f9a825,stroke-width:1px