| --- |
| config: |
| layout: dagre |
| flowchart: |
| htmlLabels: true |
| --- |
| flowchart TB |
| User(["<span style='font-size:16px;font-weight:bold;'>User</span><br><span style='font-size:13px;color:#01579b;'>Person interacting with system</span>"]) |
| -- audio stream --> |
| UI@{ label: "<span style='font-size:16px;font-weight:bold;'>UI Layer</span><br><span style='font-size:13px;color:#0277bd;'>Gradio/Console</span>" } |
|
|
| UI -- audio stream --> |
| OpenAI@{ label: "<span style='font-size:17px;font-weight:bold;'>gpt-realtime API</span><br><span style='font-size:13px; color:#7b1fa2;'>Audio+Tool Calls+Vision</span>" } |
|
|
| OpenAI -- audio stream --> |
| Motion@{ label: "<span style='font-size:16px;font-weight:bold;'>Motion Control</span><br><span style='font-size:13px;color:#f57f17;'>Audio Sync + Tracking</span>" } |
| |
| OpenAI -- tool calls --> |
| Handlers@{ label: "<span style='font-size:16px;font-weight:bold;'>Tool Layer</span><br><span style='font-size:12px;color:#f9a825;'>Built-in tools + profile-local tools<br/>+ external tools (optional)</span>" } |
|
|
| Profiles@{ label: "<span style='font-size:16px;font-weight:bold;'>Selected Profile</span><br><span style='font-size:12px;color:#6a1b9a;'>built-in or external<br/>instructions.txt + tools.txt</span>" } |
|
|
| Profiles -- defines enabled tools --> Handlers |
|
|
| Handlers -- movement |
| requests --> Motion |
|
|
| Handlers -- camera frames, head tracking --> |
| Camera@{ label: "<span style='font-size:16px;font-weight:bold;'>Camera Worker</span><br><span style='font-size:13px;color:#f57f17;'>Frame Buffer + Head Tracking</span>" } |
| |
| Handlers -. image for |
| analysis .-> OpenAI |
|
|
| Camera -- head tracking --> Motion |
|
|
| Camera -. frames .-> |
| Vision@{ label: "<span style='font-size:16px;font-weight:bold;'>Vision Processor</span><br><span style='font-size:13px;color:#7b1fa2;'>Local VLM (optional)</span>" } |
|
|
| Vision -. description .-> Handlers |
|
|
| Robot@{ label: "<span style='font-size:16px;font-weight:bold;'>reachy_mini</span><br><span style='font-size:13px;color:#c62828;'>Robot Control Library</span>" } |
| -- camera |
| frames --> Camera |
|
|
| Motion -- commands --> Robot |
|
|
| Handlers -- results --> OpenAI |
|
|
| User:::userStyle |
| UI:::uiStyle |
| OpenAI:::aiStyle |
| Motion:::coreStyle |
| Profiles:::toolStyle |
| Handlers:::toolStyle |
| Camera:::coreStyle |
| Vision:::aiStyle |
| 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 |
|
|