11 KiB
MCP ベースのチャットボット
はじめに
👉 人間:AIにカメラを装着 vs AI:その場で飼い主が3日間髪を洗っていないことを発見【bilibili】
👉 手作りでAIガールフレンドを作る、初心者入門チュートリアル【bilibili】
シャオジーAIチャットボットは音声インタラクションの入口として、Qwen / DeepSeekなどの大規模モデルのAI能力を活用し、MCPプロトコルを通じてマルチエンド制御を実現します。
バージョンノート
現在のv2バージョンはv1パーティションテーブルと互換性がないため、v1からv2へOTAでアップグレードすることはできません。パーティションテーブルの詳細については、partitions/v2/README.mdをご参照ください。
v1を実行しているすべてのハードウェアは、ファームウェアを手動で書き込むことでv2にアップグレードできます。
v1の安定版は1.9.2です。git checkout v1でv1に切り替えることができます。v1ブランチは2026年2月まで継続的にメンテナンスされます。
実装済み機能
- Wi-Fi / ML307 Cat.1 4G
- オフライン音声ウェイクアップ ESP-SR
- 2種類の通信プロトコルに対応(Websocket または MQTT+UDP)
- OPUSオーディオコーデックを採用
- ストリーミングASR + LLM + TTSアーキテクチャに基づく音声インタラクション
- 話者認識、現在話している人を識別 3D Speaker
- OLED / LCDディスプレイ、表情表示対応
- バッテリー表示と電源管理
- 多言語対応(中国語、英語、日本語)
- ESP32-C3、ESP32-S3、ESP32-P4チッププラットフォーム対応
- デバイス側MCPによるデバイス制御(音量・明るさ調整、アクション制御など)
- クラウド側MCPで大規模モデル能力を拡張(スマートホーム制御、PCデスクトップ操作、知識検索、メール送受信など)
- カスタマイズ可能なウェイクワード、フォント、絵文字、チャット背景、オンラインWeb編集に対応 (カスタムアセットジェネレーター)
ハードウェア
ブレッドボード手作り実践
Feishuドキュメントチュートリアルをご覧ください:
ブレッドボードのデモ:
70種類以上のオープンソースハードウェアに対応(一部のみ表示)
- 立創・実戦派 ESP32-S3 開発ボード
- 楽鑫 ESP32-S3-BOX3
- M5Stack CoreS3
- M5Stack AtomS3R + Echo Base
- マジックボタン2.4
- 微雪電子 ESP32-S3-Touch-AMOLED-1.8
- LILYGO T-Circle-S3
- エビ兄さん Mini C3
- CuiCan AIペンダント
- 無名科技Nologo-星智-1.54TFT
- SenseCAP Watcher
- ESP-HI 超低コストロボット犬
ソフトウェア
ファームウェア書き込み
初心者の方は、まず開発環境を構築せずに書き込み可能なファームウェアを使用することをおすすめします。
ファームウェアはデフォルトで公式 xiaozhi.me サーバーに接続します。個人ユーザーはアカウント登録でQwenリアルタイムモデルを無料で利用できます。
開発環境
- Cursor または VSCode
- ESP-IDFプラグインをインストールし、SDKバージョン5.4以上を選択
- LinuxはWindowsよりも優れており、コンパイルが速く、ドライバの問題も少ない
- 本プロジェクトはGoogle C++コードスタイルを採用、コード提出時は準拠を確認してください
開発者ドキュメント
- カスタム開発ボードガイド - シャオジーAI用のカスタム開発ボード作成方法
- MCPプロトコルIoT制御使用法 - MCPプロトコルでIoTデバイスを制御する方法
- MCPプロトコルインタラクションフロー - デバイス側MCPプロトコルの実装方法
- MQTT + UDP ハイブリッド通信プロトコルドキュメント
- 詳細なWebSocket通信プロトコルドキュメント
大規模モデル設定
すでにシャオジーAIチャットボットデバイスをお持ちで、公式サーバーに接続済みの場合は、xiaozhi.me コンソールで設定できます。
👉 バックエンド操作ビデオチュートリアル(旧インターフェース)
関連オープンソースプロジェクト
個人PCでサーバーをデプロイする場合は、以下のオープンソースプロジェクトを参照してください:
- xinnan-tech/xiaozhi-esp32-server Pythonサーバー
- joey-zhou/xiaozhi-esp32-server-java Javaサーバー
- AnimeAIChat/xiaozhi-server-go Golangサーバー
シャオジー通信プロトコルを利用した他のクライアントプロジェクト:
- huangjunsen0406/py-xiaozhi Pythonクライアント
- TOM88812/xiaozhi-android-client Androidクライアント
- 100askTeam/xiaozhi-linux 百問科技提供のLinuxクライアント
- 78/xiaozhi-sf32 思澈科技のBluetoothチップファームウェア
- QuecPython/solution-xiaozhiAI 移遠提供のQuecPythonファームウェア
プロジェクトについて
これはエビ兄さんがオープンソースで公開しているESP32プロジェクトで、MITライセンスのもと、誰でも無料で、商用利用も可能です。
このプロジェクトを通じて、AIハードウェア開発を理解し、急速に進化する大規模言語モデルを実際のハードウェアデバイスに応用できるようになることを目指しています。
ご意見やご提案があれば、いつでもIssueを提出するか、QQグループ:1011329060 にご参加ください。
