Meta Muse Gadget SDK 开源解读:把 ESP32 和树莓派变成 AI 助理的"硬件外设"
facebookincubator/muse-gadget-sdk 是 Meta 官方在 GitHub 上以 Apache 2.0 协议开源的”硬件外设 SDK”,专门用于为 Meta 旗下的 AI 助理 Muse 自制配套设备。仓库目前已收获 1.7k+ Star / 342 Fork,主语言是 C(C 占 9.1 MB,Python 636 KB、C++ 431 KB),支持从一块 30 元的 ESP32-C5 到 7.5 寸墨水屏再到 Raspberry Pi 5 的几乎所有”工位上能找到的开发板”。
一句话总结它的定位:Muse 主管”动脑”,你的板子主管”动手”——手机 App 里开口说一句”Hey Muse,帮我关掉客厅灯”,指令就能落到你焊在面包板上的 ESP32 上。

一、Muse 是什么?为什么要给它做外设?
Muse 是 Meta 在 2026 年力推的 AI 助理/Agent 应用,与 OpenAI ChatGPT、Anthropic Claude、xAI Grok 同台竞技。它把 Llama 系列模型落到 C 端,主打”替你做事”而不是”陪你聊天”,免费、跨端(iPhone → iPad → Mac)。
Muse 在 AI Daily · 2026-10-08 的《Meta Muse 拓展到 iPad》一条里已经做过介绍:The Verge 将它和 OpenClaw、ChatGPT Dots、Grok Bot 并列,归为”agentic AI 工具”。它的下一步战略大概率是开放第三方插件生态,直接和 OpenAI 的 Apps SDK、Anthropic 的 MCP 生态正面碰撞。
问题来了:Agent 需要”手脚”。问 Muse”今天天气怎么样”它能调 API,但问 Muse”把咖啡机打开”、”把树莓派上的备份跑一下”、”把车库门状态推到我手机上”——这些 “环境里的物理操作” 就需要硬件外设来执行。Muse Gadget SDK 正是为这层”最后一公里”准备的:把任意 ESP32/Linux 设备接入 Muse 的命令系统,让它能跑 shell、读文件、控 GPIO、发消息。
二、仓库结构:双子 SDK 设计
仓库根目录只放了 LICENSE、README 和两个子目录,结构非常克制:
1 | muse-gadget-sdk/ |
两个 SDK 走完全独立的技术栈:ESP32 走 Espressif 官方 ESP-IDF v6.0.1(CMake 编译,idf.py 烧录),Linux 走 Python + uv + systemd(/opt/musegadget 安装路径),但对外暴露的接口语义一致——都能注册 system.run、file.read、file.write、device.health 这类”命令”,Muse 调度时无差别。
三、ESP32 SDK:固件、组件、模拟器三层
esp32/ 目录下又分成三块:
| 子目录 | 作用 |
|---|---|
components/muse/ |
Muse 协议核心:BLE 配对、Chat 链路、Audio、Avatar、Board 抽象、Camera、电池、按键、ADPCM、Pixel Font、minimp3 解码器 |
devices/ |
27 款开发板的 sdkconfig 适配,从最简的”只有状态灯”到带完整触控 UI 的 7 寸屏 |
simulator/ |
桌面端 SDL+LVGL 模拟器,412×412 窗口运行生产 UI,无需板卡就能开发头像/UI |
3.1 已适配的 27 款开发板
按 README 列表,开发板分为两类——“只显示状态”的轻量级(呼吸灯、LED 环),以及”完整 UI”的重量级(动画头像、push-to-talk、设置、图像显示):
- 极简派:ESP32-C5 DevKitC-1、ESP32-C6 无 PSRAM、Espressif ESP32-S3-DevKitC-1、ideaspark 1.9” 屏、Waveshare C6-LCD-1.47、Seeed reTerminal E1001/E1002(墨水屏)、Home Assistant Voice Preview Edition
- 完整 UI 派:Waveshare ESP32-S3-Touch-AMOLED-1.75 / 2.16、ESP32-S3-BOX-3、AIPI Lite、M5Stack Cardputer ADV / StickS3 / StopWatch / CoreS3 / Core2 / StickC Plus2、Seeed SenseCAP Watcher、Guition JC3248W535、Waveshare ESP32-S3-Touch-LCD-7、Freenove FNK0104B、VN 1.83” NV3023、FoloToy AI Passport
3.2 状态灯”七色呼吸”协议
设备没配对时是 橙色呼吸,提示等待设置;按下 BOOT 键后是 蓝色呼吸 等待物理确认;连上 Muse 是 绿色常亮;重连是 黄色闪烁;未配对是 紫色;出错是 红色闪烁。这套”灯语”和米家、Aqara 的”找队友”逻辑异曲工,是它开箱即用体验的核心。
3.3 三步烧录:ESP-IDF + idf.py
仓库不绑死 Muse Code,可以纯手工:
1 | git clone -b v6.0.1 --recursive https://github.com/espressif/esp-idf.git ~/esp/esp-idf-v6 |
切到别的板子:
1 | tools/board.sh waveshare-c6-lcd-147 build |
四、Linux SDK:把树莓派变成 Muse 的”运维代理”
linux/ 是纯 Python 写的服务端 SDK,安装体验接近”装一个 Node Agent”:
1 | curl -fsSL https://raw.githubusercontent.com/facebookincubator/muse-gadget-sdk/main/linux/install.sh -o install.sh |
它做三件事:
- 检查系统(Raspberry Pi OS Bullseye+/Debian 11+/Ubuntu 22.04+,32/64-bit 均可)
- 安装到
/opt/musegadget,注册 systemd 服务musegadget - 通过 BLE 打开配对窗口(10 分钟),这时手机端 Muse App 进 Settings > Devices > Developer mode > Add Device 就能搜到
MuseGadgetXXXXXX
配对成功后,Muse 就能在这个 Linux 账号下执行 4 个内建命令:
| 命令 | 行为 |
|---|---|
system.run |
跑 shell 命令,返回 stdout 和 exit code |
file.read |
按 64 KB 分片读文件 |
file.write |
写文件,完整写完才替换原文件 |
device.health |
上报 uptime、load、内存、磁盘、温度 |
权限等于这个账号本身——你 sudo 就能 sudo,你读得了 /etc/shadow 就能读,账号即权限。README 反复提醒”Proceed at your own risk”。
4.1 让 Muse 反向推消息:send-user-msg
最有意思的是反向通道——板子主动给 Muse 发消息,不用任何凭据:
1 | musegadget send-user-msg "The garage door has been open for an hour." |
仓库自带 examples/pebble_ring_bridge.py,演示把 Pebble 智能戒指的轻点动作转成 Muse 的侧栏聊天。任何”事件 → 文本”的桥 都可以这样搭——PIR 触发、PM2.5 超标、OpenWrt 重启、心跳丢失……
五、最黑客友好的设计:AGENTS.md + 模拟器
仓库有两个细节能看出 Meta 给”硬核玩家”留的入口:
每个子目录都有 AGENTS.md:给 Muse Code / Claude Code / Codex 这类 AI Agent 当工作指令。Agent 一进仓库就能自己挑板子、装工具链、烧录、读日志。README 里给的 prompt 模板直接可拷:
Watch the serial log and tell me when it’s ready to pair.
I have a Waveshare ESP32-S3 AMOLED board. Build the UI for it.
Add support for my board. It’s an ESP32-S3 with 16 MB flash, a button on GPIO 0 and no PSRAM.
simulator/桌面模拟器:在 macOS/Linux 上直接./simulator起一个 412×412 的 SDL 窗口,运行的是生产 UI 和头像渲染器,鼠标键盘模拟输入,还能无头跑截图脚本——做头像、做皮肤、调试字体,再也不用蹲在板子边看串口了。
六、动手门槛与安全注意
- 烧录可能砖:固件签的是仓库自带的开发 key,没开 Secure Boot,可以随便重刷;但刷别的固件确实会”砖化”原厂功能。
- SDK token 等同设备身份:它被编进固件里,所以要当标识符而不是密码。泄露就在 gadgets.muse.ai 撤销重发。
- NVS 加密强烈建议开:Wi-Fi 凭据和设备 token 默认存 flash,开
CONFIG_HOMEHUB_NVS_ENCRYPTION后会用 eFuse 派生密钥。 - OTA 默认关:只对跑完整 UI 的板卡默认开。商用前要自己设
CONFIG_HOMEHUB_OTA_ENABLED和PROJECT_VER。 - 配对无厂商验证:Muse 端只校验”按下 BOOT 键”这一物理动作,没有证书链,理论上有源中间人仍可劫持。在受信网络里配对。
七、和 Rabbit r1 / Humane Pin 的本质区别
Rabbit r1 和 Humane AI Pin 走的是”专用硬件 + 闭源 OS + 云端 Agent”路线,烧死了所有可玩性;Muse Gadget SDK 走的是 “云端 Agent + 开源外设 SDK” 路线——板子随便换、固件随便改、命令随便加。两者的”AI 助理”心智模型一样,但 Muse 把”硬件”这层做成了 乐高,而不是 整机。
这意味着:家里堆着的 ESP32 模组、吃灰的树莓派、柜子里落灰的 M5Stack 都能再就业,不必再花 $199 买一个”功能更少的手机”。
八、值得抄走的工程实践
- 每块板子一个
sdkconfig.<board>,叠在sdkconfig.defaults之上,加新板成本极低 tools/board.sh统一 build 入口,每个板子跑独立build-<board>目录,互不污染version.txt+PROJECT_VER控制 OTA,签名固件用开发 key 兜底- 测试双轨:Python 单元测试在主机跑,crypto 测试在装了 mbedtls 的环境跑
- Apache 2.0 + 第三方组件保留上游 License(minimp3 是 CC0,glcdfont 是 BSD-2)
九、总结与上手建议
如果你是 Maker / IoT 玩家,手里有 ESP32 板子又想试试 Agent 硬件——直接 git clone,配好 ESP-IDF v6.0.1,按 AGENTS.md 一路走,半小时内能在你手机上的 Muse App 里看到自己的设备呼吸橙光。
如果你是 DevOps / 树莓派用户,linux/install.sh 跑一下,Muse 立刻获得一个 sudo 级别的”运维代理”——这在 2026 年还属于新鲜事,OpenAI 和 Anthropic 都没把”任意 Linux 主机作为 Agent 节点”做到这种开箱即用度。
如果你是 AI 行业观察者,Muse Gadget SDK 揭示了 Meta 的一个明确信号:Agent 不会止于 App Store,要落地到工位上的每一块屏幕、每一个传感器。这是 2026 年下半年 AI 公司从”对话窗口”走向”行动网络”的标志性开源。
仓库地址:github.com/facebookincubator/muse-gadget-sdk
配对需要 SDK Token:https://gadgets.muse.ai/settings/sdk-tokens
社区 Discord:https://discord.gg/3bhjCkZdd6
延伸阅读:
- 《AI Daily · 2026-10-08》Meta Muse 拓展到 iPad 一节
- 《AI Daily · 2026-10-02》Muse 上线 iPhone 头两周
- 《AI 大模型运行机理解读》
觉得这篇解读有用?欢迎在下方留言,告诉我你打算用哪块板子接入 Muse——也许下一篇就是它的踩坑记录。