Meta 发布 Muse Gadgets SDK:给 Muse 接上屏幕、按键和连接家里的设备
用现成开发板、树莓派或 Home Link,让 Muse 从聊天窗口走到桌面和家庭网络;三条路线的用途、条件和权限各不相同。
很多人对大语言模型的印象,还停留在手机屏幕里的聊天框或电脑网页上的问答。如果你想让 AI 帮你关掉房间里的灯、在桌上用小屏幕冲你眨眼、或者在你出门前把一天的日程用墨水屏静静显示出来,AI 就必须走出纯软件,触碰真实的物理世界。
Meta 在官方代码仓库中开源了 Muse Gadgets 的设备端 SDK 与固件。Gadgets 本质上是 Muse 的硬件接入工具:硬件设备负责屏幕显示、按键与音频输入、或本地指令执行,而背后的 Muse 模型理解、对话生成与转录等核心能力仍然依赖 Muse 云端服务。开发者可以使用现成的 ESP32 开发板或手头的树莓派,亲手将它们作为硬件终端或本地控制节点接入 Muse。
01. Muse 怎样从聊天窗口接到现实设备
要想让 AI 与家里的设备互动,需要建立本地的连接通道。Muse Gadgets 提供了一种本地中继思路:在局域网内放置一个硬件接入节点,让云端 Muse 通过它触达本地局域网设备的控制接口,或者直接通过硬件自身的屏幕和按键进行交互。
整套生态由三个部分构成:
- 端侧固件与 SDK(开源):官方在 GitHub 上开源了基于 Apache 2.0 协议的代码,支持 ESP32 微控制器和 Linux 电脑。
- 官方硬件 Home Link(限定赠送):一个仅供美国活跃订阅用户申领的小型 USB 网关,作为局域网通信基站。
- 社区技能库(Community Skills):一套基于 Markdown 编写的设备控制指令集,教 Muse 如何通过设备支持的本地接口调度飞利浦 Hue 灯泡、Sonos 音箱、Apple TV 等家电。
这套 SDK 面向喜欢动手改硬件的开发者。自己刷固件、加传感器、改界面都属于项目的玩法,也意味着要自己处理构建、接线和调试;刷写自定义固件可能损坏开发板或影响保修。
02. 官方硬件 Muse Home Link:局域网网桥
Muse Home Link 是一个 35 × 42 × 10 mm 的白色小设备,支持 USB-C 和 USB-A 连接。
它的固件基于开源的 ESP32 Device SDK,方便开发者了解其运行原理并在其他开发板上构建类似设备;但 Muse Home Link 本身仅运行官方固件,不能被重新刷机。
硬件规格与工作机制
- 核心主控:乐鑫 ESP32-C5 芯片(32 位 RISC-V 架构,主频 240 MHz)。
- 内存与存储:8 MB PSRAM(运行内存)+ 8 MB Flash 闪存。
- 网络支持:Wi-Fi 6(支持 2.4 GHz 与 5 GHz 双频)+ 低功耗蓝牙(BLE)。
- 交互指示:单颗状态指示灯,用于显示配对和网络连接。
设置和使用分为四步:
- USB 供电:将 Home Link 插入靠近路由器的任意 USB-C 或 USB-A 电源接口;
- BLE 手机设置:在手机上的 Muse App 中添加设备,设置过程通过低功耗蓝牙(BLE)进行;
- 加入 Wi-Fi:在 App 中选择让 Home Link 加入的家庭 Wi-Fi 网络;
- 通过本地接口与社区说明操作:Home Link 保持连接在家庭网络中,让 Muse 能够触达局域网内的兼容设备,以及你自行开发、提供本地 HTTP API 的设备;社区集成示例包括 Philips Hue、Sonos、Apple TV、Google Nest 音箱和三星电视。
能否成功控制具体设备,取决于该设备本身支持本地控制接口,且社区提供了可用的技能说明(Skills)。社区技能由社区开发者编写,可能随时发生变动或失效。
目前 Muse Home Link 仅面向美国地区的有效 Muse 订阅用户开放,每位订阅者限领一台,预计 10 月发货,先到先得。在官网申领登记只是在队列中排队保留名额,并不是正式订单;当设备具备发货条件时,官方会另行通知。如果你不在支持申领的地区,或者想要自行定制功能,官方推荐使用 ESP32-C5 DevKitC-1 等开发板,借助开源的 ESP32 Device SDK 编译固件来构建自己的硬件。
03. 自己动手:ESP32 和 Linux 各能做什么
如果你想自己动手做一台专属的 Muse 硬件,官方提供了两条路径:ESP32 嵌入式单片机路线与 Linux 电脑路线。结合官方硬件 Home Link,三种方案在定位、准备工作与权限边界上各有侧重:
| 路线 | 主要用途 | 前置准备 | 可改范围与权限 |
|---|---|---|---|
| 官方 Home Link | 家庭局域网网桥,让 Muse 触达局域网兼容设备与本地 HTTP API | 有效美国 Muse 订阅排队登记申领、USB 供电、手机 App(BLE + Wi-Fi) | 只能运行官方固件,不可重新刷机;社区 Skills 提供兼容设备的操作说明 |
| 自制 ESP32 设备 | 桌面屏幕挂件、按键对讲终端、状态灯或局域网隧道节点(视具体板卡配置而定) | 兼容 ESP32 开发板、数据线、电脑、ESP-IDF v6.0.1、SDK token、手机 App 开启开发者模式 | 可修改固件、引脚与界面配置;板卡支持时建议启用 NVS 加密保护凭证 |
| Linux 设备(如树莓派) | 运行后台服务,让 Muse 执行系统命令、读写文件、查询健康状态,或由脚本主动向 Muse 发消息 | 带 BLE 的树莓派或 Linux 电脑,使用受支持的系统版本、sudo 账户、SDK token、手机 App 开启开发者模式 | 开源服务脚本;Muse 严格继承安装时指定运行账户的系统权限(能 sudo 则 Muse 能 sudo,可用 --run-as 降权) |
路线 A:用 ESP32 做屏幕、按键和小设备
ESP32 是一种单芯片微控制器,功耗低、成本适中,适合做成桌面的小状态屏、按键对讲终端或通知灯。
1. 硬件内存差异:PSRAM 与局域网隧道
不同 ESP32 板卡的硬件配置存在差异,家庭网络隧道需要足够的运行内存(PSRAM):
- 带 PSRAM 的板卡(如 ESP32-C5、ESP32-S3 部分型号):外扩运行内存为家庭网络隧道提供必要空间;支持这一功能的板卡能运行家庭网络隧道(Home-Network Tunnel),让 Muse 经由它触达局域网内的其他设备。具体设备的屏幕、音频或按键交互能力仍取决于该开发板自身的硬件配置。
- 无 PSRAM 的板卡(如经典 ESP32、ESP32-C6 等):由于可用内存受限,运行固件时无法开启局域网穿透隧道;但 Muse 仍然能够连接并控制设备本身(例如驱动指示灯、在自带屏幕上显示画面等)。
2. 能录语音,不等于默认会朗读回答
部分开发板配备了麦克风和扬声器,但当前 SDK 默认的对话流程是:
- 按键对讲(Push-to-Talk):按下硬件按钮说话,板子录制音频发送给 Muse 云端转录成文字。
- Muse 的原生回复是文字:云端传回的是文本答复。带屏幕的板子(如 Waveshare 1.75C)会将回复内容以屏幕字幕的形式显示出来;没有屏幕的设备(如 Home Assistant Voice 预览版)的文字回答则会推送到你的手机 App 里。
- 如何让它开口发声:固件内虽然集成了 MP3 解码库(minimp3)和喇叭驱动,但并没有内置现成的文字转语音(TTS)云端服务。如果你想让它像智能音箱一样念出答案,必须自己在 C++ 代码中对接第三方的语音合成 API。
3. 硬件配对与指示灯语言
固件烧录完成后,设备指示灯呈橙色呼吸闪烁,表示已准备好进行设置。手机端打开 Muse App,在“设置 > 设备”中开启开发者模式并添加设备(前缀为 MuseGadget)。当指示灯变为蓝色呼吸闪烁时,需要按下板子上的 BOOT 物理按键确认配对;连接成功后指示灯常亮绿色。
每一次配对设置都会建立一个全新的加密会话。这些属于社区自制设备,配对过程没有厂商验证,无法防范主动中间人攻击,因此必须在自己信任的网络环境中进行设置。
| 指示灯状态 | 物理含义 | 用户操作指引 |
|---|---|---|
| 橙色,呼吸闪烁 | 准备就绪 | 在手机 App 中开启开发者模式并添加设备 |
| 蓝色,呼吸闪烁 | 等待按键确认 | 按下板子上的 BOOT 物理按键确认配对 |
| 蓝色,常亮 | 正在连接 | 正在接入 Wi-Fi 并连接 Muse |
| 绿色,常亮 | 已连接 | 正常连接,可进行交互 |
| 黄色,闪烁 | 正在重连 | 设备正在重新连接网络 |
| 紫色,常亮 | 未配对 | 需要在 App 中重新绑定设备 |
| 红色,闪烁 | 出现异常 | 检查串口日志排查问题 |
安全关键提醒:ESP32 会把你的 Wi-Fi 账号密码和配对令牌保存在内部 Flash(NVS 分区)中。如果没有开启硬件级 NVS 加密,任何拿到你板子物理硬件的人都可以通过工具提取出你的家庭 Wi-Fi 密码。SDK 支持基于 eFuse 硬件密钥的 NVS 加密,在正式使用时强烈建议打开。
路线 B:让 Muse 操作树莓派上的命令和文件
如果你手头有一台闲置的树莓派(Raspberry Pi 3B+、4、5 或 Zero 2 W),或者具备低功耗蓝牙(BLE)的 Linux 电脑,可以借助 Linux Device SDK 将其接入 Muse。系统支持的基线为 Raspberry Pi OS Bullseye 或更高版本、Debian 11+、或 Ubuntu 22.04+(支持 32 位与 64 位),且机器需已连入网络。准备好具有 sudo 权限的账户和从官网获取的 SDK token 后,运行官方安装脚本即可在系统后台安装并启动 musegadget 服务。随后在手机端 Muse App 开启开发者模式并添加设备;蓝牙配对窗口开放 10 分钟。设备配对成功后会在后台常驻,且在系统重启后依然保持连接。
1. Muse 在 Linux 上能干什么?
安装后台服务后,Muse 获得了直接操纵这台电脑的四大原生指令能力:
system.run:在后台执行 Shell 终端命令,并抓取执行结果与退出状态码。file.read:分块读取系统文件(每次读取 64 KB)。file.write:分块写入系统文件(每次 64 KB),仅在写入完整后替换原文件。device.health:汇报系统的运行时间、CPU 负载、内存占用、磁盘余量和芯片温度。
这意味着你可以直接在日常聊天里让 Muse 处理繁琐的运维杂活:“帮我看看树莓派磁盘为什么快满了”、“每天早上 7 点检查备份脚本有没有正常执行”。
2. 双向通信:让物理事件唤醒 AI 聊天
不仅你能给电脑派任务,电脑上的脚本也能主动敲响 Muse。通过内置的命令行工具:
musegadget send-user-msg "车库门已经开了一小时了,请注意检查。"
要让传感器自动触发提醒,需要自行编写监控脚本(例如检测传感器数值或特定系统事件),并在触发时调用上述命令。通过指定 --session-id 参数,还可以把系统通知归类到独立的侧边栏会话中,不打扰主聊天界面。
3. 运行账户与权限边界
Muse 获得的操作权限,与安装时选定的 Linux 运行账户权限完全一致:
如果该账户能够使用 sudo,Muse 也同样拥有 sudo 权限。安装脚本在配置时会提示该账户的 sudo 状态;如果希望降低风险,可以在安装时通过 --run-as <用户名> 指定一个权限受限的独立系统账户(如无 sudo 权限的用户),从而限定 Muse 在该机器上的操作范围。
04. 想做什么,决定用哪种屏幕和外壳
项目示例展示了不同硬件形态:口袋设备适合按键说话,桌面屏幕适合显示状态或提醒。选板时还要核对该型号的音频、图像和配置支持。
- 便携小挂件(M5Stack StickS3 / StickC Plus2 / AiPi Lite):自带彩色微型液晶屏、按键和外壳。体积如打火机般小巧,正面大按键非常适合做“按住说话”的对讲机,屏幕可以展示 Muse 当前的思考状态和像素形象。
- 精致桌面表(Waveshare ESP32-S3-Touch-AMOLED-1.75 / 1.75C):圆形全彩触摸屏,视觉观感优秀,支持完整的 UI 交互界面和按键对讲,适合做床头小摆件。
- 低功耗常显看板(Seeed reTerminal E1001 / E1002):电子墨水屏适合让 Muse 展示晨间简报、备忘提醒或购物清单等静态内容。官网展示了 E1002 彩色墨水屏的简报示例,但其“Source”链接指向的实际配置是
reterminal-e1001,且 SDK 支持列表中对 E1001 的描述为“7.5 英寸黑白墨水屏显示黑白图像”。准备复刻彩色屏项目时,应先核对型号与固件配置,不能直接沿用黑白屏配置。 - 电视棒形态(Muse on your TV):官网展示为插在电视 HDMI 接口上的形态,设想是将 Muse 内容呈现在大屏幕上,当前仍标为“Coming soon”(即将推出)。
05. 接上硬件之后,还需要设备操作说明
硬件有了,怎么让它听懂家里的设备?这就是 Community Device Skills 的用武之地。
技能不是编译进固件的,而是写给 AI 的“说明书”
这里的技能文件是纯 Markdown 文本(SKILL.md),也就是写给 Muse 的设备操作说明。
每一个技能文件本质上是用结构化的自然语言告诉 Muse:
- 某个局域网设备(比如飞利浦 Hue 网关)的局域网 API 接口长什么样;
- 打开某盏灯需要发送什么样的 HTTP POST 报文;
- 该设备有哪些控制限制。
你可以把技能仓库链接发送给 Muse,或在目录中找到对应设备的 SKILL.md 文本直接粘贴到对话中(若引用了 Google Cast 等共享技能需一并提供)。这些说明能否实际生效,仍取决于具体硬件型号是否兼容、设备是否处于同一网络、以及是否已完成相应的本地配对与权限配置。
动手前的最后提醒
- 固件编译环境:官方固件基于乐鑫 ESP-IDF v6.0.1 构建,官方仅支持该版本,其他版本并不在支持之列。
- 所有设备均需 SDK Token:无论自制 ESP32 还是 Linux 设备,配对前都需要在 gadgets.muse.ai 获取 SDK token;代码仓库中针对 Muse Code 等终端代码智能体准备了详尽的
AGENTS.md,可由具备权限的代码助手协助下载工具链并执行编译与烧录。 - 非官方技能与安全边界:社区技能并非官方集成,可能随时间发生变化或失效。不要依赖它们处理家庭安防、紧急情况或医疗需求等安全关键事务。
- 开源协议与素材授权范围:设备端 SDK 与固件源码采用 Apache 2.0 协议开源,但 Apache 2.0 授权不包含 Jollybot 头像;此外 minimp3(CC0-1.0)与像素字体(BSD-2-Clause)等第三方文件及编译时拉取的 ESP-IDF 组件各自遵循其上游开源协议。
Muse Gadgets 通过设备端 SDK 与固件,让现成硬件接入 Muse:设备负责显示、输入交互或局域网报文转发,核心的理解与生成依然依托 Muse 云端服务。想用它做桌面提醒,可以先从屏幕项目开始;想让它管理树莓派,就先选好运行账户与权限。实际要准备的东西,取决于你希望 Muse 在这台设备上做什么。
Meta 发布 Muse Gadgets SDK:给 Muse 接上屏幕、按键和连接家里的设备
让现成开发板成为 Muse 的屏幕、按键或本地控制节点;理解与生成仍由云端完成。
想把日程放到桌面小屏,或让 AI 调整家里的兼容灯具,聊天框还不够:需要一个硬件节点把 Muse 接到现实设备。Meta 开源的 Gadgets SDK 提供了这层连接。
设备负责显示、按键、拾音或执行指令,模型理解、对话生成和语音转录仍依赖 Muse 云端。开源的是设备端代码;屏幕、音频和控制能力要看实际板卡与设置。
硬件可以直接承担显示与输入,也可以在支持家庭网络隧道时转发局域网请求。两种用途的条件不同。
官方 Home Link 是家庭网桥,仅供美国有效订阅用户排队申领,预计 10 月发货;只能运行官方固件,不能重新刷机。
ESP32:先确认内存,再决定它能做什么
ESP32 芯片成本亲民、功耗低,适合制作床头钟、桌面通知灯或随身小盒。但自制硬件必须留意两项技术关键:
外扩运行内存为隧道提供必要空间。支持该功能的 ESP32-C5、部分 ESP32-S3 板卡,能让 Muse 经由它触达局域网内的其他设备。
经典 ESP32、ESP32-C6 因内存受限无法建立隧道;但 Muse 仍能控制板载屏幕、状态灯与按键交互。
Linux:能执行命令,也会继承账户权限
手头有闲置树莓派或带蓝牙的 Linux 电脑时,部署官方 musegadget 后台服务即可打通系统交互。Muse 获得操作该主机的四大原生指令:
控制家电,还需要一份可用的操作说明
硬件接入网络后,如何让 Muse 理解家电控制报文?这依托社区贡献的设备技能库:
Muse Gadgets: Open source hardware for your Muse
Muse gadgets are open source devices you build yourself. Program an off-the-shelf ESP32 board or set up a Raspberry Pi with our SDKs, then connect Muse to your displays, buttons, sensors, actuators, and whatever else you’ve got lying on your workbench.

01 / ON YOUR HARDWARE
Make your own
We open sourced the code you need to make a Muse gadget. It’s built by hackers, for hackers, just for fun. Side effects of tinkering may include bricked boards, voided warranties, brownouts, or bankruptcies. Proceed at your own risk!
Get started by grabbing an SDK token and one of our featured project ideas. Then tinker and customize to your heart’s delight. Or build support for an entirely new board if that’s more your thing.
Connect your ESP32 board to Muse through our open source SDK. Throw in a screen to show images, add audio in and out, or wire up other sensors.
Turn that spare Raspberry Pi or Linux box into a Muse gadget. Hack in your own commands to let Muse handle sysadmin chores or your Home Assistant setup.
03 / BUILD TOGETHER
Meet other hackers who are building and customizing Muse gadgets in our community Discord. Get inspired, support each other, and share what you make.
219 members online now
04 / OPEN IT UP
Source
Explore the source code for our device SDKs and firmware. Use it as a starting point for your projects and contribute your improvements back to the community.
The device SDKs and firmware are open source under the Apache 2.0 license and provided as-is, without warranty.
05 / MUSE GADGET EXAMPLES
Raspberry Pi 5Give Muse a way to work with Home Assistant and other popular Linux applications.BuySource

Waveshare ESP32-S3-Touch-AMOLED-1.75CA round 1.75″ AMOLED touch screen with push-to-talk, a speaker and mic, and a battery.BuySource


Muse on your TVA stick that plugs into your TV’s HDMI port so you can ask Muse to put things up on the big screen.Coming soon

Seeed reTerminal E1002Give your Muse a color e-ink display. Muse can show a morning briefing, reminders, shopping list, or anything else you think of.BuySource

M5Stack StickS3A pocket-size M5Stack device with a color screen showing Muse’s status and a front button.BuySource

AiPi LiteA tiny desk buddy for Muse. Press a button to talk, and Muse answers out loud and shows pictures on the color screen.BuySource
ideaspark ESP32 with 1.9″ displayGive Muse a little status screen. See what Muse is up to at a glance, and let it draw pictures on the 1.9″ color display.BuySource
Home Assistant Voice Preview EditionTalk to Muse with push-to-talk on its speaker and mic, and see Muse’s status on its LED ring.BuySource
Devices shown here are made and sold by other companies, and Meta doesn’t endorse or warrant them. Names and logos belong to their owners.
