← all repositories
idootop/mi-gpt

Your Xiaomi speaker's midlife crisis: ChatGPT therapy

Replaces Xiao AI's brain with ChatGPT or Doubao so your smart speaker stops giving dumb answers.

12.4k stars TypeScript AgentsChat AssistantsLanguage Models
mi-gpt
Velocity · 7d
+14
★ / day
Trend
steady
star history

What it does

MiGPT hijacks Xiaomi’s Xiao AI smart speakers and swaps out the stock voice assistant for ChatGPT, Doubao, or other LLMs. You get AI Q&A, role-play personas, streaming responses, conversation memory, and custom TTS voices — all triggered by the usual “Xiao Ai” wake word. Runs via Docker or Node.js with a config file and your Xiaomi account credentials.

The interesting bit

The project treats the speaker as a dumb I/O endpoint and pipes everything through a proper LLM backend, effectively turning a walled-garden IoT device into an open-ended conversational agent. The “Agent” features for smart-home automation are crossed out in the README, suggesting the vision outran the implementation.

Key highlights

  • Supports most Xiao AI speaker models; Pro recommended for “perfect” operation
  • Docker one-liner or NPM package for Node developers
  • Custom TTS via Doubao voices (or third-party providers)
  • Long/short-term memory for multi-turn conversations
  • Active ecosystem: GUI config tools, video tutorials, community forks including one with camera support

Caveats

  • Explicitly unmaintained: the README opens with a warning that updates and support have ended
  • No support for Baidu, Tmall Genie, HomePod, or non-Xiaomi speakers
  • Smart-home “Agent” automation features appear abandoned (struck through in docs)
  • Requires handing over Xiaomi account credentials to a third-party service

Verdict

Grab the code if you already own a Xiao AI speaker and want to tinker with LLM voice interaction without buying new hardware. Skip it if you need ongoing maintenance, security guarantees, or don’t speak Chinese — the docs, tutorials, and voice interfaces are Mandarin-first.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.