How wzpan/wukong-robot works
wukong-robot is a modular Chinese voice-conversation robot and smart-speaker runtime. Its principal interaction is wake detection, audio capture and ASR, NLU and skill matching, plugin handling, then TTS and playback. It also supports online/local dialogue engines, reminders, alternative wake sources, and a web administration/API surface. The graph reflects the README’s workflow and sampled lifecycle, speech, plugin, and server excerpts; wiring for unsampled subsystems is shown only where documented capabilities support it.
Main entry points: Conversation.py Conversation · LifeCycleHandler.py Lifecycle handler · server.py Web API server · ASR.py Speech recognition
Components 22
Voice interaction
- Wake detection
snowboy/snowboydecoder.py - Conversation
robot/Conversation.py - Speech recognition
robot/ASR.py - Intent parsing
robot/NLU.py - Speech synthesis
robot/TTS.py - Audio playback
robot/Player.py
Skills and dialogue
- Plugin loader
robot/plugin_loader.py - Skill plugins
plugins - Dialogue engines
robot/AI.py - Reminder scheduler
robot/Scheduler.py - Reminder skill
plugins/Reminder.py
Runtime and devices
- Robot entry
wukong.py - Lifecycle handler
robot/LifeCycleHandler.py - BCI wake
robot/BCI.py - Configuration
robot/config.py - Device drivers
robot/drivers
Web management
- Web API server
server/server.py - Admin interface
server/static
Other components
- User
- Speech services
- Dialogue services
- Smart-home services
Connections 32
- User → Wake detection: speaks wake word
- Robot entry → Lifecycle handler: initializes
- Lifecycle handler → Wake detection: starts listening
- Lifecycle handler → BCI wake: starts optionally
- BCI wake → Conversation: triggers listening
- Wake detection → Conversation: triggers listening
- User → Conversation: provides speech
- Conversation → Speech recognition: requests transcription
- Speech recognition → Speech services: transcribes audio
- Speech recognition → Intent parsing: passes text
- Conversation → Intent parsing: parses text
- Conversation → Plugin loader: matches skill
- Plugin loader → Skill plugins: loads skills
- Conversation → Dialogue engines: requests dialogue
- Dialogue engines → Dialogue services: queries service
- Conversation → Speech synthesis: synthesizes response
- Speech synthesis → Speech services: requests synthesis
- Conversation → Audio playback: plays response
- Audio playback → User: returns audio
- Skill plugins → Reminder scheduler: schedules reminders
- Reminder skill → Reminder scheduler: adds or removes jobs
- Lifecycle handler → Reminder scheduler: restores reminders
- Reminder skill → Audio playback: speaks alarm
- Lifecycle handler → Device drivers: signals device state
- Conversation → Configuration: reads settings
- Lifecycle handler → Configuration: loads and watches
- User → Admin interface: uses admin tools
- Admin interface → Web API server: calls API
- Web API server → Conversation: submits text chat
- Web API server → Configuration: reads or updates
- Web API server → User: returns chat and status
- Skill plugins → Smart-home services: integrates optionally