Meta 发布 Muse Gadgets SDK:给 Muse 接上屏幕、按键和连接家里的设备

用现成开发板、树莓派或 Home Link,让 Muse 从聊天窗口走到桌面和家庭网络;三条路线的用途、条件和权限各不相同。

作者:Meta / Muse10-03 · 12 分钟

很多人对大语言模型的印象,还停留在手机屏幕里的聊天框或电脑网页上的问答。如果你想让 AI 帮你关掉房间里的灯、在桌上用小屏幕冲你眨眼、或者在你出门前把一天的日程用墨水屏静静显示出来,AI 就必须走出纯软件,触碰真实的物理世界。

Meta 在官方代码仓库中开源了 Muse Gadgets 的设备端 SDK 与固件。Gadgets 本质上是 Muse 的硬件接入工具:硬件设备负责屏幕显示、按键与音频输入、或本地指令执行,而背后的 Muse 模型理解、对话生成与转录等核心能力仍然依赖 Muse 云端服务。开发者可以使用现成的 ESP32 开发板或手头的树莓派,亲手将它们作为硬件终端或本地控制节点接入 Muse。

01. Muse 怎样从聊天窗口接到现实设备

要想让 AI 与家里的设备互动,需要建立本地的连接通道。Muse Gadgets 提供了一种本地中继思路:在局域网内放置一个硬件接入节点,让云端 Muse 通过它触达本地局域网设备的控制接口,或者直接通过硬件自身的屏幕和按键进行交互。

Muse Gadgets 家族硬件合照
Muse Gadgets 家族多形态硬件合照:从左至右依次为圆形 AMOLED 屏幕模组、M5Stack 口袋小盒、官方 Home Link 白色网关、树莓派主板与桌面电子墨水屏。

整套生态由三个部分构成:

  1. 端侧固件与 SDK(开源):官方在 GitHub 上开源了基于 Apache 2.0 协议的代码,支持 ESP32 微控制器和 Linux 电脑。
  2. 官方硬件 Home Link(限定赠送):一个仅供美国活跃订阅用户申领的小型 USB 网关,作为局域网通信基站。
  3. 社区技能库(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)。
  • 交互指示:单颗状态指示灯,用于显示配对和网络连接。

设置和使用分为四步:

  1. USB 供电:将 Home Link 插入靠近路由器的任意 USB-C 或 USB-A 电源接口;
  2. BLE 手机设置:在手机上的 Muse App 中添加设备,设置过程通过低功耗蓝牙(BLE)进行;
  3. 加入 Wi-Fi:在 App 中选择让 Home Link 加入的家庭 Wi-Fi 网络;
  4. 通过本地接口与社区说明操作: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。
Waveshare 1.75 英寸圆形 AMOLED 模组展示海报
Waveshare 1.75 英寸圆形 AMOLED 模组展示海报:屏幕显示像素角色、READY 状态提示,以及扬声器、麦克风和电源图标。

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 便携硬件实物图
M5Stack StickS3 便携硬件实物:屏幕显示 87% 电量、NO WI-FI 状态提示、设备标识 DA647C、像素角色与麦克风图标,正面配备蓝色控制按键。
  • 便携小挂件(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”(即将推出)。
Seeed 桌面墨水屏今日简报实拍照片
Seeed 桌面电子墨水屏实拍照片:白框彩色屏幕左侧显示金门大桥插画,右侧呈现今日简报(包含时间 3:11 PM、气温 75°F 及倒垃圾、晚餐和骑行三项日程提醒)。

05. 接上硬件之后,还需要设备操作说明

硬件有了,怎么让它听懂家里的设备?这就是 Community Device Skills 的用武之地。

技能不是编译进固件的,而是写给 AI 的“说明书”

这里的技能文件是纯 Markdown 文本(SKILL.md),也就是写给 Muse 的设备操作说明。

每一个技能文件本质上是用结构化的自然语言告诉 Muse:

  1. 某个局域网设备(比如飞利浦 Hue 网关)的局域网 API 接口长什么样;
  2. 打开某盏灯需要发送什么样的 HTTP POST 报文;
  3. 该设备有哪些控制限制。

你可以把技能仓库链接发送给 Muse,或在目录中找到对应设备的 SKILL.md 文本直接粘贴到对话中(若引用了 Google Cast 等共享技能需一并提供)。这些说明能否实际生效,仍取决于具体硬件型号是否兼容、设备是否处于同一网络、以及是否已完成相应的本地配对与权限配置。

动手前的最后提醒

  1. 固件编译环境:官方固件基于乐鑫 ESP-IDF v6.0.1 构建,官方仅支持该版本,其他版本并不在支持之列。
  2. 所有设备均需 SDK Token:无论自制 ESP32 还是 Linux 设备,配对前都需要在 gadgets.muse.ai 获取 SDK token;代码仓库中针对 Muse Code 等终端代码智能体准备了详尽的 AGENTS.md,可由具备权限的代码助手协助下载工具链并执行编译与烧录。
  3. 非官方技能与安全边界:社区技能并非官方集成,可能随时间发生变化或失效。不要依赖它们处理家庭安防、紧急情况或医疗需求等安全关键事务。
  4. 开源协议与素材授权范围:设备端 SDK 与固件源码采用 Apache 2.0 协议开源,但 Apache 2.0 授权不包含 Jollybot 头像;此外 minimp3(CC0-1.0)与像素字体(BSD-2-Clause)等第三方文件及编译时拉取的 ESP-IDF 组件各自遵循其上游开源协议。

Muse Gadgets 通过设备端 SDK 与固件,让现成硬件接入 Muse:设备负责显示、输入交互或局域网报文转发,核心的理解与生成依然依托 Muse 云端服务。想用它做桌面提醒,可以先从屏幕项目开始;想让它管理树莓派,就先选好运行账户与权限。实际要准备的东西,取决于你希望 Muse 在这台设备上做什么。

来源
Muse Gadgets: Open source hardware for your MuseMeta / Muse·查看主材料
↑ 正文结束
✓ 本篇全文免费开放

会员可复制、下载全文 Markdown,还能让你的 AI 订阅和提问。

阅读原文 ↗
📮 新解读第一时间进邮箱

读完觉得有用?留个邮箱,每篇新解读发布就送达,随时退订。