Open-source building blocks for agents and robots that interact with people.
At the core, wica-framework is a generic agent brain with multimodal inputs and outputs: any perception can flow in, and any capability can be exposed as an action. Around it, modular components handle the rest of the interaction: senses (speech recognition, vision), a voice (streaming TTS) and robot bodies (NAO, Reachy Mini).
┌──────────────────────────────────────────┐
Senses │ asr-engine vision-modules │ speech, faces, gestures
└───────────────┬──────────────────────────┘
▼
Brain ┌──────────────────────────────────────────┐
│ wica-framework (World · Inputs · │ any LLM: Anthropic, OpenAI,
│ Commands · Agent) │ Gemini, Mistral, HF Hub
└───────────────┬──────────────────────────┘
▼
Voice ┌──────────────────────────────────────────┐
│ tts-engine │ streaming TTS, 12+ providers
└───────────────┬──────────────────────────┘
▼
Bodies ┌────────────────────┐ ┌──────────────────┐
│ naoqi-bridge │ │ reachy-mini- │ real robot, simulator,
│ (NAO / Pepper) │ │ bridge │ or offline fake
└────────────────────┘ └──────────────────┘
Every block works on its own, and most ship an MCP server so you can plug them straight into an agent.
| Repo | What it does |
|---|---|
| wica-framework | Agent framework for multimodal, embodied interaction: a state-first World, reactive Inputs, cancellable Commands, provider-agnostic LLM loop. |
| Repo | What it does |
|---|---|
| asr-engine | Async, real-time speech recognition with pluggable providers, segmentation and an optional MCP server. |
| tts-engine | Streaming text-to-speech: speak an LLM's answer while it's still being generated. Cloud (ElevenLabs, OpenAI, Gemini, Cartesia…) and local (Kokoro, Piper, Qwen3-TTS…) providers. |
| vision-modules | Composable perception over a live video stream: hand detection, gesture recognition, faces. |
| Repo | What it does |
|---|---|
| reachy-mini-bridge | One async API for Reachy Mini: emotions, speech, face tracking, camera, mic. Same code on the robot, MuJoCo or an offline fake. |
| reachy-mini-lite-to-wireless-pi-setup | Turn a Reachy Mini Lite into a wireless robot with a Raspberry Pi — one-shot SD card setup. |
| Repo | What it does |
|---|---|
| naoqi-bridge | Intent-level async API for NAO/Pepper, with MCP and WebSocket servers for agents and apps. |
| naoqi-sim | A NAO in a box: NAOqi 2.1 / 2.8 running in Docker, so you can develop without a robot. |
| naoqi-viewer | Live 3D MuJoCo mirror of any NAOqi robot, and naoqi-sim's simulated world. |
| nao-unity | Unity scripts and a 3D NAO model to drive and visualize a NAO in real time. |
| naoqi-meshes | NAO meshes converted for MuJoCo, license-gated for naoqi-viewer. |
| Repo | What it does |
|---|---|
| libqi | NAOqi core framework (C++), the foundation the NAO toolkit talks to. |
| libqi-python | qi SDK Python bindings, with prebuilt wheels for macOS arm64, Linux x86_64 and Windows. |
| cozmo-python-sdk | Anki Cozmo Python SDK, kept usable for Cozmo projects. |
⭐ Star what's useful to you 🐛 Open an issue if you try it on a robot we haven't tested (wireless Reachy Mini, NAO v6, Pepper…) 💬 Ideas and PRs welcome.
Unofficial projects, not affiliated with Aldebaran or Pollen Robotics.