Skip to content
0
/ Embedded/XiaoAi
6/1/2026
24.6m
AI 摘要

通过 SSH 刷机后,可使用 tts_play.shubus 控制小爱音箱语音播放,支持文本转语音、音色切换、内置语音播放及状态管理。

小爱音箱

参考 idootop/open-xiaoai 进行刷机,可以通过 SSH 访问小爱音箱

播放语音

在终端中执行下面的命令,可以让小爱音箱用小爱的默认声音读取出文本的内容

$ /usr/sbin/tts_play.sh 用小爱的声音说一句话吧

并且还比较地智能,可以智能分词停顿,例如明显能听出下面的两句文案读的时候的节奏区别

$ /usr/sbin/tts_play.sh 用小爱的声音说一句话吧  # 这里是“吧”
$ /usr/sbin/tts_play.sh 用小爱的声音说一句话把  # 这里是“把”

我们查看 tts_play.sh 内容:

$ cat tts_play.sh
source /usr/share/libubox/jshn.sh

play_text()
{
    local _result=$(ubus call mibrain text_to_speech "{\"text\":\"$1\",\"save\":1}")
    [ x"$_result" == x"" ] && exit 1
    json_init
    json_load "$_result"
    json_get_var _info info
    json_cleanup
    echo $_info
    json_init
    json_load "$_info"
    json_get_var _path path
    json_cleanup
    my_log "play text tts created $_path"
    echo $_path
    #[ x"$_path" == x"" ] && {
    #    miplayer -f /usr/share/sound/mibrain_service_unavailable.opus
    #    return 1
    #}
    miplayer -f $_path
    rm $_path
    return 0
}

player_stat=`/usr/bin/mphelper mute_stat`
/usr/bin/mphelper pause
play_text "$1"
[ x"$player_stat" == x"1" ] && {
    /usr/bin/mphelper play
}

会发现其实内部是通过 ubus call mibrain 调用 mibrain 的一些方法来实现的

生成语音

通过 text_to_speech 方法可以生成/播放语音,当同时传入了 save 参数为 1 时,会保存到文件,否则直接播放语音

$ ubus call mibrain text_to_speech '{"text":"生成语音测试","save":1}'
{
  "code": 0,
  "info": "{ \"path\": \"\\\/tmp\\\/tts\\\/tts_0c089cb4c7bf99c91418430172487da5_1767882456_906072.mp3\" }"
}
$ miplayer --file /tmp/tts/tts_0c089cb4c7bf99c91418430172487da5_1767882456_906072.mp3

通过 miplayer 可以播放生成的语音

直接播放语音

play 参数为 1 时,可以通过文本直接播放语音,不需要保存到文件,同时可以通过 volume 参数调整音量

$ ubus call mibrain text_to_speech '{"text":"我是蜜糖女声,音量调大啦","play":1,"volume":8,"save":0}'

生成语言依赖联网

使用过小爱音箱的都知道,当没有网络的时候,会播放:“网络服务遇到问题”。这句语音其实是内置在小爱音箱中的,所以不需要联网就可以播放:

$ miplayer -f /usr/share/sound/mibrain_service_unavailable.opus

所有方法

通过 ubus -v list mibrain 可以查看 mibrain 支持的所有方法

$ ubus -v list mibrain
'mibrain' @f6417737
"nlp_result_get":{}
"text_to_speech":{"text":"String","caller":"String","vendor":"String","codec":"String","volume":"Integer","save":"Integer","play":"Integer"}
"vendor_switch":{"vendor_name":"String"}
"vendor_who":{}
"ai_service":{"bypass":"String","caller":"String","duration":"Integer","id":"String","asr":"Integer","nlp":"Integer","tts":"Integer","asr_audio":"String","nlp_text":"String","nlp_execute":"Integer","tts_text":"String","tts_type":"String","tts_vendor":"String","tts_volume":"Integer","tts_codec":"String","tts_save":"Integer","tts_play":"Integer"}
"aivs_miio_token_update":{"token":"String","session_id":"String"}
"aivs_authorization_get":{}
"aivs_event_post":{"namespace":"String","name":"String","payload":"String"}
"aivs_track_post":{"event":"String","dialog_id":"String","extend":"String"}
"aivs_env_switch":{}
"tts_vendor_switch":{"vendor_name":"String","language_name":"String","switch_src":"String","dialog_id":"String","tone_type":"Integer"}
"tts_vendor_show":{}
"get_lan_tone_status":{}

查看所有音色

可以看到小爱音箱支持多种音色,我们在手机上可以通过 小爱音箱 应用来切换音色

$ ubus call mibrain tts_vendor_show
{
  "code": 0,
  "info": "{ \"vendor\": [ { \"name\": \"AiNiRobot\", \"desc\": \"蜜糖(甜美可爱女声)\", \"selected\": false }, { \"name\": \"XiaoMi\", \"desc\": \"茉莉(温柔知性女声)\", \"selected\": false }, { \"name\": \"XiaoMi_M88\", \"desc\": \"青葱(阳光活力男声)\", \"selected\": true } ], \"language\": [ { \"name\": \"cmn-Hans-CN\", \"desc\": \"普通话\", \"selected\": true }, { \"name\": \"yue-Hans-cant1236\", \"desc\": \"粤语\", \"selected\": false } ] }"
}

切换音色

也可以通过 tts_vendor_switch 方法来切换音色

$ ubus call mibrain tts_vendor_switch '{"vendor_name":"XiaoMi_M88"}'
{
  "code": 0
}

$ ubus call mibrain tts_vendor_switch '{"vendor_name":"XiaoMi"}'
{
  "code": 0
}

授权信息

通过 aivs_authorization_get 方法可以查看当前的授权信息

$ ubus call mibrain aivs_authorization_get
{
  "code": 0,
  "info": "MIOT-TOKEN-V1 app_id:1128715154251318272,session_id:21979_980525808_1767800780656986197,token:vt850oy6k7,device_id:62833\/A4ZD31783"
}

语言信息

通过 get_lan_tone_status 方法可以查看当前的语言信息

$ ubus call mibrain get_lan_tone_status
{
  "code": 0,
  "info": "{ \"language_name\": \"cmn-Hans-CN\", \"vendor_name\": \"AiNiRobot\" }"
}

其他内置语音

内置了多套音色的系统语音包,位于 /usr/share/sound-vendor 目录下

  • AiNiRobot: 蜜糖(甜美可爱女声)
  • XiaoMi: 茉莉(温柔知性女声)
  • XiaoMi_M88: 青葱(阳光活力男声)
  • XiaoMi_male: 男性音色
$ cd /usr/share/sound-vendor
$ ls
AiNiRobot    XiaoMi       XiaoMi_M88   XiaoMi_male
$ cd AiNiRobot
$ ls
bluetooth_already_connected.opus  mibrain_network_unreachable.opus  tip_shuoba.opus
bluetooth_connect.opus            mibrain_service_timeout.opus      tip_zaine.opus
bluetooth_disconnect.opus         mibrain_service_unavailable.opus  tip_zaine2.opus
bluetooth_discoverable.opus       mibrain_service_unreachable.opus  tts_vendor_demo.opus
bluetooth_failure.opus            mibrain_start_failed.opus         unknown_action.opus
bluetooth_noPhone.opus            mic_off.opus                      unknown_domain.opus
closeAlarm.opus                   mic_on.opus                       unknown_service.opus
enter_config_mode.opus            no_channel.opus                   upgrade_later.opus
enter_config_mode_l07a.opus       prompt_power_connected.opus       upgrade_now.opus
enter_config_mode_pre.opus        reset.opus                        wakeup_ei_01.wav
first_voice.opus                  reset_wait.opus                   wakeup_ei_02.wav
hourly_chime.opus                 service_timeout.opus              wakeup_mitv.opus
init_wifi_config.opus             setup_failure.opus                wakeup_wozai.wav
init_wifi_success.opus            tip_ai.opus                       wakeup_zai_01.wav
internet_disconnect.opus          tip_en.opus                       wakeup_zai_02.wav
mibrain_auth_failed.opus          tip_qingshaodeng.opus             wifi_disconnect.opus
mibrain_auth_failed_loading.opus  tip_shaodengo.opus                wifi_timeout_exit_config.opus
mibrain_connect_timeout.opus      tip_shenme.opus

播放一些内置语音:

$ miplayer -f /usr/share/sound-vendor/AiNiRobot/enter_config_mode.opus
# 已进入配置模式
$ miplayer -f /usr/share/sound-vendor/AiNiRobot/init_wifi_config.opus
# 小爱正在配网中
$ miplayer -f /usr/share/sound-vendor/AiNiRobot/init_wifi_success.opus
# 配网成功啦

其他内置声音

比如一些铃声、通知、警告等声音,和人声无关的,都在 /usr/share/common_sound 目录下

$ cd /usr/share/common_sound
$ ls
alarmDefault.opus        key_prev_next.opus       notice.opus              shutdown.opus            voip_ringing.opus
alarmDefault7s.opus      mesh_connecting.opus     notify.opus              timer_default.opus       volume.opus
bootup.opus              mesh_scanning.opus       power_connected.opus     voip_off.opus            wakeup.opus
brainTurnDownVol.opus    multirounds_tone.opus    power_disconnected.opus  voip_on.opus             welcome.opus
brainTurnUpVol.opus      network_done_miio.opus   reminder_default.opus    voip_ringback.opus

播放状态

通过 mphelper mute_stat 方法可以查看当前的状态

  • 0: 处于唤醒状态,等待用户说话中
  • 1: 处于播放状态,正在播放语音
  • 2: 处于暂停态,比如播放音乐后,再让小爱同学暂停音乐
  • 3: 处于休眠状态,用户说话的内容不会被处理
$ /usr/bin/mphelper mute_stat
# 0 | 1 | 2 | 3

状态机示意:

打断播放

通过 mphelper pause 方法可以打断/暂停当前小爱同学的播放

一些场景:

  1. 询问小爱同学问题,小爱开始回答后,执行 mphelper pause 方法,回答被终止播放
  2. 小爱同学播放音乐中,执行 mphelper pause 方法,音乐被暂停。执行 mphelper pause 方法,音乐被继续播放
$ /usr/bin/mphelper pause
{
  "code": 0
}

其他 ubus 功能

查看有哪些 ubus,ubus list

root@OH2P:/data# ubus list
ai_crontab
alarm
ir_agent
led
mdplay
mediaplayer
messagingagent
mibluealsa
mibrain
mibt
mibt_mesh
mic_audio
miio
miplay
nightmode
notify
path_child_mode
pnshelper
qplayer
service
sound_effect
system
ultrasense
usb_audio
voice_print
voip

查看具体 ubus 功能 ubus list -v xxx

ai_crontab

$ ubus list -v ai_crontab
'ai_crontab' @343a3df9
  # 新建定时任务
  "new":{"personal_skill":"String"}
  # 触发事件通知
  "notify":{"src":"String","event":"String","id":"String"}
  # 删除所有定时任务
  "remove_all":{}
  # 查看定时任务状态
  "dump":{"busy":"Integer","free":"Integer"}

alarm

$ ubus list -v alarm
'alarm' @99d4b80e
  # 小爱大脑调度操作(内部指令)
  "mibrain_operation":{"mibrain":"String"}
  # 创建闹钟(完整参数)
  "alarm_create":{"type":"String","timestamp":"Integer","circle":"Integer","volume":"Integer","event":"String","extra":"String","behavior":"String","ringtone_query":"String","ringtone_type":"String","display_txt":"String","time_reminder":"String"}
  # 查询闹钟列表(按类型筛选)
  "alarm_query":{"type":"String"}
  # 删除闹钟(类型+ID)
  "alarm_delete":{"type":"String","id":"String"}
  # 关闭指定闹钟
  "alarm_close":{"type":"String","id":"String"}
  # 打开指定闹钟
  "alarm_open":{"type":"String","id":"String"}
  # 修改闹钟
  "alarm_modify":{"type":"String","id":"String","timestamp":"Integer","circle":"Integer","volume":"Integer","event":"String","extra":"String","behavior":"String","ringtone_query":"String","ringtone_type":"String","display_txt":"String","time_reminder":"String"}
  # 简化版创建闹钟
  "create":{"type":"String","timestamp":"Integer","circle":"Integer","volume":"Integer","event":"String","extra":"String","behavior":"String","ringtone_query":"String","ringtone_type":"String","display_txt":"String","time_reminder":"String"}
  # 简化版查询闹钟
  "query":{"type":"String"}
  # 简化版删除闹钟
  "delete":{"type":"String","id":"String"}
  # 简化版关闭闹钟
  "close":{"type":"String","id":"String"}
  # 简化版打开闹钟
  "open":{"type":"String","id":"String"}
  # 简化版修改闹钟
  "modify":{"type":"String","id":"String","timestamp":"Integer","circle":"Integer","volume":"Integer","event":"String","extra":"String","behavior":"String","ringtone_query":"String","ringtone_type":"String","display_txt":"String","time_reminder":"String"}
  # 设置麦克风自动静音时间(时分秒)
  "micmute":{"hour":"Integer","minute":"Integer","second":"Integer"}
  # 取消麦克风自动定时静音
  "micmute_remove":{}
  # 设置整点报时(开关+报时配置数组)
  "chime_hourly_set":{"status":"String","chime_hourly":"Array"}
  # 获取当前整点报时配置
  "chime_hourly_get":{}
  # 获取闹钟音量
  "alarm_get_volume":{}
  # 设置闹钟音量(音量值+是否预览)
  "alarm_set_volume":{"volume":"Integer","isPreview":"Integer"}
  # 设置闹钟工作模式
  "alarm_set_work_mode":{"mode":"Integer"}
  # 设置商店展示模式(静音、音量等)
  "set_store_show_status":{"status":"Integer","auto_silent_status":"Integer","auto_default_volume_status":"Integer","silent_count_down_min":"Integer","default_volume":"Integer"}
  # 获取展示模式状态
  "get_store_show_status":{}
  # 唤醒通知(系统内部)
  "wakeup_notify":{}
  # 触摸板事件通知
  "touchpad_notify":{}
  # 调试接口
  "debug":{}

ir_agent

$ ubus list -v ir_agent
'ir_agent' @a5988c0d
  # 发送单条红外码
  "play":{"async":"Integer","freq":"Integer","code":"String","head":"String"}
  # 批量发送红外码(带间隔)
  "play_batch":{"async":"Integer","freq":"Integer","interval":"Integer","code":"String","head":"String"}
  # 开始学习红外码(指定按键名)
  "learn":{"key":"String"}
  # 停止红外学习
  "learn_stop":{"key":"String"}
  # 读取已学习的红外码
  "read":{"key":"String"}
  # 红外码编码/解码转换
  "codec":{"type":"String","code":"String","length":"Integer"}

led

$ ubus list -v led
'led' @4dd35f4d
  # 点亮/显示指定LED灯(L=灯号,pos=位置/模式)
  "show":{"L":"Integer","pos":"Integer"}
  # 关闭指定LED灯(L=灯号)
  "shut":{"L":"Integer"}
  # 设置休眠模式(0=正常,1=休眠息屏/熄灯)
  "sleepmode":{"sleep":"Integer"}
  # 获取当前LED状态
  "status":{}
  # 设置LED服务日志级别(调试用)
  "loglevel":{"level":"Integer"}

mdplay

$ ubus list -v mdplay
'mdplay' @556e3005
  # 获取当前播放状态(播放/暂停/停止)
  "get_mdplay_status":{}
  # 获取小米串联播放延迟(多音箱同步)
  "get_miplay_delay":{}
  # 通知唤醒状态(0=未唤醒,1=唤醒中)
  "notify_wakeup_status":{"status":"Integer"}
  # 通知语音指令NLP解析结果
  "notify_nlp_result":{"method":"String","param":"String"}
  # 设置播放器音量(音量值+媒体类型)
  "player_set_volume":{"volume":"Integer","media":"String"}
  # 播放控制(play/pause/stop/next/prev等)
  "player_play_operation":{"action":"String","param":"String"}
  # 通知TTS播报状态(0=结束,1=播报中)
  "notify_tts_status":{"status":"Integer"}
  # 通知播放列表变更
  "notify_mdplay_play_list":{"method":"String","param":"String"}
  # 通知通用指令
  "notify_common_cmd":{"method":"String","param":"String"}
  # 设置播放时间偏移(同步/校准用)
  "set_mdplay_time_offset":{"time_offset":"(unknown)"}
  # 获取投屏/串联播放状态
  "casting_status":{}
  # 退出投屏/串联播放
  "casting_quit":{}
  # 暂停投屏/串联播放
  "casting_pause":{}
  # 恢复投屏/串联播放
  "casting_resume":{}
  # 切换投屏/串联播放状态
  "casting_toggle":{}
  # 执行投屏自定义指令
  "casting_do":{"cmd":"String","args":"String"}
  # 设置投屏/串联播放音量
  "casting_set_volume":{"volume":"Integer"}
  # 通知媒体播放器全量状态
  "notify_mediaplayer_status":{"volume":"Integer","loop_type":"Integer","media_type":"Integer","audio_id":"String","status":"Integer","position":"Integer","duration":"Integer","cp_id":"String","cp_name":"String"}
  # 通知播放源延迟信息
  "notify_play_source":{"latency":"String"}
  # 通知播放采样率
  "notify_play_samplerate":{"rate":"Integer"}
  # 播放器订阅通知
  "player_subs_notify":{"looptype":"Integer","playlist":"Integer"}
  # 设备探测(刷新/超时)
  "device_detect":{"refresh":"Integer","timeout":"Integer"}
  # 修改音箱组(立体声/左/右/主/从)
  "change_speaker_group":{"groupInfo":"String"}
  # 查询设备组信息
  "query_device_groupInfo":{}
  # 查询音箱网络在线状态
  "speaker_network_online":{}

mediaplayer

$ ubus list -v mediaplayer
'mediaplayer' @93728fb5
  # 唤醒提示音/唤醒动作控制
  "player_wakeup":{"action":"String","source":"String"}
  # 播放控制(最常用:play/pause/stop/next/prev)
  "player_play_operation":{"media":"String","action":"String","message":"String","group":"String","dialog_id":"String","instruction_id":"String"}
  # 播放网络音频URL
  "player_play_url":{"url":"String","type":"Integer","group":"String","media":"String","src":"String","dialog_id":"String","id":"String","instruction_id":"String","duration":"Integer","auth":"Boolean","tts_point":"String"}
  # 设置播放指示灯状态
  "set_playled_status":{"status":"Integer"}
  # 设置播放灯效动作
  "set_playled_action":{"action":"String"}
  # 设置DLNA投屏状态
  "set_dlna_status":{"status":"Integer"}
  # 获取当前播放状态(核心)
  "player_get_play_status":{}
  # 通知播放状态(内部)
  "player_play_status":{}
  # 媒体控制状态获取
  "media_control_play_status":{}
  # 播放私人FM
  "player_play_private_fm":{}
  # 获取最近播放列表
  "player_get_latest_playlist":{}
  # 获取播放灯状态
  "get_playled_status":{}
  # 获取DLNA状态
  "get_dlna_status":{}
  # 设置播放进度(跳曲)
  "player_set_positon":{"position":"Integer","media":"String"}
  # 设置循环模式(0=关闭 1=单曲 2=列表)
  "player_set_loop":{"type":"Integer","media":"String"}
  # 播放指定音乐
  "player_play_music":{"music":"String","startaudioid":"String","startOffset":"Integer","group":"String","media":"String","src":"String","dialog_id":"String","id":"String","instruction_id":"String","duration":"Integer"}
  # 设置音量(核心)
  "player_set_volume":{"volume":"Integer","media":"String","beep":"Integer","type":"String","unit":"String","tts_silence":"Boolean","lednum":"Integer"}
  # 连续渐变音量
  "player_set_continuous_volume":{"volume":"Integer","media":"String"}
  # 增减音量
  "player_modify_volume":{"isVolumeUp":"Integer","value":"Integer","type":"String","unit":"String","tts_silence":"Boolean"}
  # 获取播放上下文信息
  "player_get_context":{}
  # 播放列表指定序号曲目
  "player_play_index":{"index":"Integer","media":"String"}
  # 播放闹钟/提醒
  "player_play_alarm_reminder":{"id":"String","type":"Integer","reminder":"String","volume":"Integer","timeReminder":"String","query":"String"}
  # 播放系统内置提示音资源
  "player_play_resource":{"message":"String","src":"String","volume":"Integer"}
  # 播放专辑/歌单
  "player_play_album_playlist":{"type":"Integer","id":"String","startOffset":"Integer","media":"String"}
  # 执行播放指令(内部)
  "player_play_commad":{"type":"String","dialogid":"String","messages":"String"}
  # 通用媒体控制
  "media_control":{"player":"String","action":"String","volume":"Integer"}
  # 设置定时关机
  "player_set_shutdown_timer":{"action":"String","hour":"Integer","minute":"Integer","second":"Integer","media":"String"}
  # 测试接口
  "test":{}
  # 获取定时关机时间
  "get_shutdown_timer":{}
  # 获取媒体音量
  "get_media_volume":{}
  # 获取闹钟音量
  "get_alarm_volume":{}
  # 重置播放器
  "player_reset":{}
  # 恢复上一次音量
  "player_retore_last_volume":{}
  # 设置网络通话状态
  "set_voip_status":{"voip_status":"String"}
  # 设置播放器静默模式(核心静音)
  "set_player_quiet":{"quiet":"Boolean"}
  # 设置播放倍速
  "set_playrate":{"rate":"String"}
  # AUX音频输入控制
  "player_aux_operation":{"aux_operation":"String","aux_tip":"Integer"}
  # 通知多设备播放状态
  "notify_mdplay_status":{"status":"Integer","type":"Integer"}
  # 设置多设备信息
  "set_mdplay_info":{"volume":"Integer","play_status":"Integer","loop_type":"Integer","media_type":"Integer","audio_id":"String","audio_pos":"Integer","audio_length":"Integer","cp_name":"String","cp_id":"String"}
  # 多设备动作同步
  "mdplay_action_sync":{"action":"String","source":"String"}
  # 获取多设备控制状态
  "get_mdc_active_status":{}
  # 小米播放订阅设置
  "miplay_set_subs":{"looptype":"Integer","playlist":"Integer"}
  # 播放器事件通知
  "player_event":{"event":"Integer","ext1":"Integer","ext2":"Integer"}

messagingagent

$ ubus list -v messagingagent
'messagingagent' @572b44ee
  # 通用通知(系统消息、TTS、提示音调度)
  "notify":{"payload":"String"}
  # 设备标识识别/认证
  "identify_device":{}
  # MIoT 设备协议消息推送
  "miot_push":{"payload":"String"}
  # 事件上报(云端埋点、状态上报)
  "report_events":{"payload":"String"}
  # 写入设备日志
  "add_device_log":{"mac":"String","payload":"String"}
  # 键值对存储(简单配置持久化)
  "set_kv":{"key":"String","value":"String"}
  # 关闭代理服务
  "close":{}
  # 获取当前进程 PID
  "get_pid":{}
  # 故障上报
  "fault":{}
  # 管理员账号信息同步
  "sync_admin":{}
  # 获取 AI 服务(米脑)授权 Token
  "get_ai_service_token":{}
  # 设置长连接保活开关
  "keep_alive":{"set":"Boolean"}

mibluealsa

$ ubus list -v mibluealsa
'mibluealsa' @9c76b8d9
  # 通知导出PCM音频原始数据(录音/调试用)
  "notify_dump_pcm":{"channel":"String"}
  # 通知立体声模式(声道、采样率、输出格式)
  "notify_stereo_mode":{"mode":"String","output":"String","format":"String","channel":"Integer","samplerate":"Integer"}
  # 通知底层音频播放状态
  "notify_play_status":{"status":"String"}
  # 通知系统音频底层状态(硬件事件)
  "notify_sys_status":{"src":"String","event":"String","detail":"String"}

mibrain

$ ubus list -v mibrain
'mibrain' @cedcbb7c
  # 获取上一轮NLP语义理解结果(意图、槽位)
  "nlp_result_get":{}
  # 文本转语音TTS(核心接口)
  "text_to_speech":{"text":"String","caller":"String","vendor":"String","codec":"String","volume":"Integer","save":"Integer","play":"Integer"}
  # 切换AI引擎厂商
  "vendor_switch":{"vendor_name":"String"}
  # 查询当前使用的AI厂商
  "vendor_who":{}
  # 一站式AI调用:ASR+NLP+TTS全链路
  "ai_service":{"bypass":"String","caller":"String","duration":"Integer","id":"String","asr":"Integer","nlp":"Integer","tts":"Integer","asr_audio":"String","nlp_text":"String","nlp_execute":"Integer","tts_text":"String","tts_type":"String","tts_vendor":"String","tts_volume":"Integer","tts_codec":"String","tts_save":"Integer","tts_play":"Integer"}
  # 更新小米AIoT授权令牌
  "aivs_miio_token_update":{"token":"String","session_id":"String"}
  # 获取AI服务授权信息
  "aivs_authorization_get":{}
  # 上报AI事件
  "aivs_event_post":{"namespace":"String","name":"String","payload":"String"}
  # 上报对话日志/埋点
  "aivs_track_post":{"event":"String","dialog_id":"String","extend":"String"}
  # 切换AI环境(正式/测试)
  "aivs_env_switch":{}
  # 切换TTS发音人/音色
  "tts_vendor_switch":{"vendor_name":"String","language_name":"String","switch_src":"String","dialog_id":"String","tone_type":"Integer"}
  # 查询支持的TTS发音人列表
  "tts_vendor_show":{}
  # 获取方言发音人状态
  "get_lan_tone_status":{}

mibt

$ ubus list -v mibt
'mibt' @5dbffd76
  # 唤醒电视/蓝牙设备联动
  "wakeup_tv":{"mac":"String","name":"String","recent":"String","action":"String","btmode":"String","volume":"Integer","connect":"Integer","discover":"Integer","btrole":"String","src":"String"}
  # 连接指定蓝牙设备
  "connect":{"mac":"String","name":"String","recent":"String","action":"String","btmode":"String","volume":"Integer","connect":"Integer","discover":"Integer","btrole":"String","src":"String"}
  # 获取蓝牙连接状态
  "status":{"mac":"String","name":"String","recent":"String","action":"String","btmode":"String","volume":"Integer","connect":"Integer","discover":"Integer","btrole":"String","src":"String"}
  # 解除蓝牙配对
  "unpair":{"mac":"String","name":"String","recent":"String","action":"String","btmode":"String","volume":"Integer","connect":"Integer","discover":"Integer","btrole":"String","src":"String"}
  # 启用蓝牙功能
  "enable":{"mac":"String","name":"String","recent":"String","action":"String","btmode":"String","volume":"Integer","connect":"Integer","discover":"Integer","btrole":"String","src":"String"}
  # 断开当前蓝牙连接
  "disconnect":{"mac":"String","name":"String","recent":"String","action":"String","btmode":"String","volume":"Integer","connect":"Integer","discover":"Integer","btrole":"String","src":"String"}
  # 控制蓝牙设备音量
  "volume":{"mac":"String","name":"String","recent":"String","action":"String","btmode":"String","volume":"Integer","connect":"Integer","discover":"Integer","btrole":"String","src":"String"}
  # 设置蓝牙设备信息
  "set_device_info":{"mac":"String","name":"String","recent":"String","action":"String","btmode":"String","volume":"Integer","connect":"Integer","discover":"Integer","btrole":"String","src":"String"}
  # 蓝牙播放控制
  "play":{"mac":"String","name":"String","recent":"String","action":"String","btmode":"String","volume":"Integer","connect":"Integer","discover":"Integer","btrole":"String","src":"String"}
  # 蓝牙立体声模式通知
  "notify_stereo_mode":{"mode":"String","output":"String","format":"String","channel":"Integer","samplerate":"Integer"}
  # 蓝牙状态变更通知
  "notify_state":{"src":"String","event":"String","detail":"String"}

mibt_mesh

$ ubus list -v mibt_mesh
'mibt_mesh' @ecc0b58e
  # 查询蓝牙 Mesh 当前状态(是否开启、已绑定设备等)
  "mesh_status":{}
  # 扫描蓝牙 Mesh 设备
  "mesh_scan":{"caller":"String"}
  # 绑定蓝牙 Mesh 设备(is_cancel=true 可取消绑定)
  "mesh_bind":{"is_cancel":"Boolean"}
  # 开启蓝牙 Mesh 功能
  "mesh_enable":{"caller":"String"}
  # 关闭蓝牙 Mesh(is_need_reboot 是否需要重启生效)
  "mesh_disable":{"is_need_reboot":"Boolean"}
  # 通过蓝牙 Mesh 唤醒电视
  "wakeup_tv":{"tv_mac":"String"}
  # 开启小米快连设备发现
  "miconnect_enable":{"interval":"Integer","action":"String"}

mic_audio

$ ubus list -v mic_audio
'mic_audio' @3c5c60f7
  # 设置麦克风相关事件(开关、静音、增益、唤醒状态等)
  "set_event":{"event":"Integer","value":"Integer"}

miio

$ ubus list -v miio
'miio' @c2e45c98
  # 刷新设备认证 / 会话续约
  "renew":{}
  # 设备注册绑定账号
  "register":{"ssid":"String","psk":"String","identity":"String","uid":"String","bind_key":"String","country":"String","domain":"String","oauth_appid":"String","oauth_token":"String","from":"String"}
  # 解除绑定 / 注销设备
  "drop":{}
  # 通知 WiFi AP 模式已连接
  "ap_connected":{}
  # 获取/进入配网模式
  "config_mode":{}
  # 写入设备认证令牌
  "token_write":{"token":"String","session_id":"String","ttl":"String"}
  # 设置省电模式
  "power_save":{"value":"Boolean"}
  # MiOT 协议远程调用
  "miot_rpc":{}
  # 通知设备工作模式切换
  "notify_mode":{"mode":"String","output":"String"}
  # 声音识别事件(如哭声、警报)
  "event_sound_recognition":{"piid":"Integer","value":"Integer"}
  # 上报环境噪音分贝
  "notify_noise_decibel":{"value":"Integer"}
  # 连接 WiFi(2.4G+5G)
  "connect":{"ssid":"String","password":"String","bssid":"String","identity":"String","ssid_5G":"String","password_5G":"String"}
  # 进入蓝牙配网模式
  "enter_bt_mode":{}
  # 退出蓝牙配网模式
  "exit_bt_mode":{}
  # 开始扫描 WiFi
  "scan_start":{"ssid":"String"}
  # 获取 DHCP 网络信息
  "dhcp":{}

miplay

$ ubus list -v miplay
'miplay' @7183eb89
  # 获取多设备播放状态
  "get_mdplay_status":{}
  # 获取多设备播放延迟(用于音画同步)
  "get_miplay_delay":{}
  # 通知唤醒状态
  "notify_wakeup_status":{"status":"Integer"}
  # 通知语音语义结果
  "notify_nlp_result":{"method":"String","param":"String"}
  # 设置播放器音量
  "player_set_volume":{"volume":"Integer","media":"String"}
  # 播放控制(播放/暂停/上一曲/下一曲)
  "player_play_operation":{"action":"String","param":"String"}
  # 通知TTS播报状态
  "notify_tts_status":{"status":"Integer"}
  # 通知多设备播放列表变更
  "notify_mdplay_play_list":{"method":"String","param":"String"}
  # 通用指令同步
  "notify_common_cmd":{"method":"String","param":"String"}
  # 设置播放时间偏移(同步校准)
  "set_mdplay_time_offset":{"time_offset":"(unknown)"}
  # 查询投屏/协同播放状态
  "casting_status":{}
  # 退出投屏/协同播放
  "casting_quit":{}
  # 暂停投屏
  "casting_pause":{}
  # 恢复投屏
  "casting_resume":{}
  # 播放/暂停切换
  "casting_toggle":{}
  # 执行自定义投屏指令
  "casting_do":{"cmd":"String","args":"String"}
  # 设置投屏音量
  "casting_set_volume":{"volume":"Integer"}
  # 同步播放器状态给多设备
  "notify_mediaplayer_status":{"volume":"Integer","loop_type":"Integer","media_type":"Integer","audio_id":"String","status":"Integer","position":"Integer","duration":"Integer","cp_id":"String","cp_name":"String"}
  # 通知播放源延迟信息
  "notify_play_source":{"latency":"String"}
  # 通知播放采样率
  "notify_play_samplerate":{"rate":"Integer"}
  # 播放订阅状态同步
  "player_subs_notify":{"looptype":"Integer","playlist":"Integer"}
  # 局域网内音箱设备探测
  "device_detect":{"refresh":"Integer","timeout":"Integer"}
  # 修改音箱组(主/从、左/右声道)
  "change_speaker_group":{"groupInfo":"String"}
  # 查询当前音箱组信息
  "query_device_groupInfo":{}
  # 查询音箱网络在线状态
  "speaker_network_online":{}

nightmode

$ ubus list -v nightmode
'nightmode' @1ca05579
  # 设置夜间模式:总开关、灯光、音量、开始/结束时间
  "set":{"total":"String","light":"String","volume":"String","start":"String","stop":"String"}
  # 设置睡眠模式(value=on/off,from=触发来源)
  "sleep_mode":{"value":"String","from":"String"}
  # 查询夜间模式整体状态
  "status":{}
  # 查询当前是否处于夜间模式时段
  "current":{}

notify

$ ubus list -v notify
'notify' @87ce1391
  # 创建一条通知(ID、级别、过期时间、音量、提示文本)
  "create":{"id":"String","level":"Integer","expire":"Integer","volume":"Integer","text":"String"}
  # 查询指定通知
  "query":{"id":"String"}
  # 删除指定通知
  "delete":{"id":"String"}
  # 播放通知提示音
  "play":{}
  # 停止当前通知声音
  "stop":{}
  # 清空所有通知
  "clean":{}
  # 获取通知状态
  "status":{"level":"Integer"}
  # 设置通知全局配置(级别、开关、自动播放、音量)
  "set":{"level":"Integer","enable":"Integer","autoplay":"Integer","volume":"Integer"}

path_child_mode

$ ubus list -v path_child_mode
'path_child_mode' @abd6502a
  # 设置儿童模式相关参数/状态
  "set":{"message":"String"}
  # 查询当前是否处于儿童模式
  "status":{}

pnshelper

$ ubus list -v pnshelper
'pnshelper' @57f16d61
    # 系统事件上报通知
    "event_notify":{"src":"Integer","event":"Integer","detail":"String"}
    # 设置单次启动/一次性任务开关
    "oneshot_set":{"open":"Boolean"}
    # 获取单次任务当前状态
    "oneshot_get":{}
    # 设置环境检测相关配置
    "environ_detect_set":{"config":"String"}
    # 获取环境检测状态
    "environ_detect_get":{}
    # 设置数据库相关检测配置
    "db_detect_set":{"config":"String"}
    # 获取数据库检测状态
    "db_detect_get":{}

qplayer

$ ubus list -v qplayer
'qplayer' @b4263378
  # 播放指定音效,可同步控制灯光
  "play":{"play":"String","light":"Integer"}

service

$ ubus list -v service
'service' @0ace8e9f
  # 设置服务配置
  "set":{"name":"String","script":"String","instances":"Table","triggers":"Array","validate":"Array","autostart":"Boolean"}
  # 新增一个系统服务
  "add":{"name":"String","script":"String","instances":"Table","triggers":"Array","validate":"Array","autostart":"Boolean"}
  # 列出服务列表
  "list":{"name":"String","verbose":"Boolean"}
  # 删除服务/实例
  "delete":{"name":"String","instance":"String"}
  # 向服务进程发送信号(kill、重启等)
  "signal":{"name":"String","instance":"String","signal":"Integer"}
  # 服务更新开始
  "update_start":{"name":"String"}
  # 服务更新完成
  "update_complete":{"name":"String"}
  # 服务事件通知
  "event":{"type":"String","data":"Table"}
  # 服务配置校验
  "validate":{"package":"String","type":"String","service":"String"}
  # 获取服务运行数据
  "get_data":{"name":"String","instance":"String","type":"String"}
  # 获取服务运行状态
  "state":{"spawn":"Boolean","name":"String"}

sound_effect

$ ubus list -v sound_effect
'sound_effect' @6ac90b4e
  # 设置音效开关(开启/关闭某种提示音)
  "set_effect_status":{"effect":"Integer","voice":"Integer"}
  # 获取当前音效开关状态
  "get_effect_status":{}
  # 设置语音提示音效
  "set_voice_status":{"effect":"Integer","voice":"Integer"}
  # 获取语音提示音效状态
  "get_voice_status":{}

system

$ ubus list -v system
'system' @cfb28580
  # 查看设备硬件信息(机型、芯片、固件版本)
  "board":{}
  # 查看系统信息(内存、CPU、时间、负载)
  "info":{}
  # 重启设备
  "reboot":{}
  # 硬件看门狗控制(防死机自动重启)
  "watchdog":{}
  # 向进程发送信号(杀进程、重启进程)
  "signal":{}
  # 系统升级 / 刷写固件
  "sysupgrade":{}

ultrasense

$ ubus list -v ultrasense
'ultrasense' @68a8ebd9
  # 开启超声波检测
  "start":{}
  # 关闭超声波检测
  "stop":{}
  # 查询当前检测状态
  "status":{}

usb_audio

$ ubus list -v usb_audio
'usb_audio' @e7d57a3e
  # 设置系统音量(0~100)
  "set_volume":{"value":"Integer"}
  # 播放控制(play/pause/stop)
  "player_control":{"action":"String"}
  # 音频切换事件
  "change_evt":{"event":"String"}
  # 状态通知
  "status_notify":{"status":"String"}
  # 获取当前音频状态
  "status_get":{}
  # 声道模式
  "notify_stereo_mode":{"mode":"String"}
  # 音量同步
  "notify_playback_volume2host":{"value":"Integer"}
  # PCM 数据调试
  "notify_dump_pcm":{"channel":"String"}

voice_print

$ ubus list -v voice_print
'voice_print' @09a0c7b0
  # 获取声纹开通/绑定状态
  "get_status":{}
  # 获取声纹相关网络配置
  "get_network_info":{}
  # 开始注册声纹(用于识别机主)
  "register_voice_recognize":{}
  # 注册声纹支付
  "register_voice_payment":{}
  # 取消声纹识别注册
  "register_voice_recognize_cancel":{}
  # 取消声纹支付
  "register_voice_payment_cancel":{}

voip

$ ubus list -v voip
'voip' @d0292cae
  # 通用通话动作(拨打、挂断、来电处理)
  "action":{}
  # 中国移动 VOIP 账号注册
  "cmcc_register":{}
  # 中国移动 VOIP 注销
  "cmcc_unregister":{}
  # 移动附加业务(来电显示、呼叫转移等)
  "cmcc_miscellaneous":{}
  # 查询当前运营商类型
  "query_carrier_type":{}
  # 开启小米互联通话(MiLink)
  "milink_enable":{}
  # 关闭小米互联通话
  "milink_disable":{}

Released under the MIT License.