explaingit

wzpan/wukong-robot

7,114PythonAudience · vibe coderComplexity · 4/5Setup · hard

TLDR

Wukong-robot is an open-source Python framework for building your own Chinese-language voice assistant on a Raspberry Pi, with swappable speech recognition, text-to-speech, and ChatGPT dialogue support.

Mindmap

mindmap
  root((wukong-robot))
    What it does
      Voice recognition
      Wake word detection
      Smart home control
    Tech Stack
      Python
      Raspberry Pi
      MQTT
    Use Cases
      DIY smart speaker
      Home automation
    Integrations
      ChatGPT dialogue
      Cloud TTS services
    Audience
      Makers
      Hobbyists
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Build a DIY smart speaker on a Raspberry Pi that wakes on a trigger word and answers questions in Chinese using cloud or local AI.

USE CASE 2

Connect the voice assistant to HomeAssistant or Xiaomi smart home devices to control lights, appliances, or sensors by voice.

USE CASE 3

Replace the default dialogue engine with ChatGPT for natural multi-turn conversations.

USE CASE 4

Manage and configure the robot remotely through the built-in web management panel without touching the device.

Tech stack

PythonRaspberry PiMQTTPyTorch

Getting it running

Difficulty · hard Time to first run · 1day+

Requires Python 3.7-3.9, Raspberry Pi or Linux hardware, and API keys for cloud speech and TTS services.

In plain English

Wukong-robot is an open-source Chinese-language voice assistant framework built in Python. It is designed for hobbyists and makers who want to build their own smart speaker or voice-controlled device, primarily targeting Raspberry Pi and other Linux-based single-board computers, though it also runs on Intel Macs and Windows with the Linux subsystem. As of March 2023 the README reports it had been installed on over 13,000 devices and triggered more than 700,000 wake-word detections. The framework is modular. Speech recognition, text-to-speech synthesis, and the conversational dialogue engine are each interchangeable plugins. Supported speech recognition providers include Baidu, iFlytek, Alibaba, Tencent, OpenAI Whisper, Apple, and Microsoft Edge. Supported voice synthesis options include VITS voice cloning and several cloud TTS services. For conversation, the project supports a local question-answering engine, a third-party chatbot service, and ChatGPT for multi-turn dialogue. Wake-word detection works offline using either Porcupine or Snowboy, so the device listens for its trigger phrase without sending audio to a server. The README also mentions support for waking the robot via a Muse brain-computer interface headset, which the authors describe as possibly the first open-source smart speaker project to support that. Smart home integration is available through MQTT, HomeAssistant, and Xiaomi's Xiao Ai speaker. A built-in web management panel runs at a local address and lets you change settings, view logs, and interact with the robot remotely. The backend also exposes a REST API for building custom integrations. The README is written in Chinese and provides installation guides, plugin documentation, and configuration instructions. Requires Python 3.7 to 3.9.

Copy-paste prompts

Prompt 1
Help me set up wukong-robot on a Raspberry Pi with Baidu speech recognition and a VITS voice synthesis plugin, what are the steps?
Prompt 2
How do I configure wukong-robot to use ChatGPT as its conversation engine instead of the built-in dialogue system?
Prompt 3
Write a custom wukong-robot plugin that sends an MQTT message to toggle a smart home light when a specific voice command is heard.
Prompt 4
How do I enable offline wake-word detection with Porcupine in wukong-robot so it listens without sending audio to a server?
Prompt 5
Walk me through connecting wukong-robot to HomeAssistant so I can control devices by voice.
Open on GitHub → Explain another repo

← wzpan on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.