使用cookie登陆
使用 cookie 登录时不要写填账号密码
步骤
- 在电脑上使用 Chrome 浏览器登录小米账号官网 👉 https://account.xiaomi.com/
- 按
F12打开网络工具,点击Network标签页。 - 点击左上角小圆点使其变红色。
- 按
F5刷新页面。 - 在过滤框里输入
account?过滤出下面的连接,点击连接查看cookie,复制完整的cookie值。需要确保复制的cookie中有userId和passToken两个值。 - 粘贴到设置页面。
步骤截图
评论
评论 1 - seryte
0.4.12版本测试了使用cookie也无效,是不是cookie还未正确读取?
评论 2 - WGKER
局域网内电脑获取完整cookie填入,并且也填写账户密码,仍然无法获取设备。 可行的话还是换成跳转小米账户授权登录的方式吧,类似小米官方HA插件,目前太折腾了。
评论 3 - gdzjy
0.4.12登录无效,找不到音箱设备。
评论 4 - swxk521
0.4.12一样不行
评论 5 - gdzjy
发现回到旧版本也找不到设备了,不知是不是小米有ban账号的机制,日志如下:
评论 6 - hanxi
文档更新了,截图还没更新,可以先看。
评论 7 - hanxi
下个版本可以不用填账号密码,目前0.4.12版本有点bug需要填。
评论 8 - seryte
文档更新了,截图还没更新,可以先看。
也还是不行 😂
评论 9 - hanxi
需要填账号,或者用测试版本。
评论 10 - seryte
需要填账号,或者用测试版本。
hanxi/xiaomusic main d1d275ae0e98 About an hour ago 341MB 测试版本能发现设备,但是还是无法播放本地歌曲,播放歌曲时会再次登录失败, 然后没过2分钟,设备再次消失,日志出现需要验证码的信息
评论 11 - sam0773
填写cookies时候要加上_utm_data={""}吗?直接复制进去保存时候会弹出[object object]
评论 12 - figsong
0.4.13版单用cookies、cookies加上账号密码依然不能发现设备
评论 13 - hanxi
需要确保复制的 cookie 中有 userId 和 passToken 两个值。
评论 14 - hanxi
需要确保复制的 cookie 中有 userId 和 passToken 两个值。
评论 15 - dyz312
仅使用cookie找的设备了,感谢!
评论 16 - xpeagle
4.14也是显示不能找到设备,不知道咋回事,cookie也是填了的, cookie 中有 userId 和 passToken 两个值的,但是还是不能找到设备哦
评论 17 - xpeagle
仅使用cookie找的设备了,感谢!
我也是试了下仅用cookie,但是还是找不到设备,郁闷了
评论 18 - zzfca
使用仅cookie登陆,终于链接到小爱音箱了! 谢谢谢谢
评论 19 - TangTang0812
有个问题大概播放几首歌后,会触发账号安全机制,控制台会提示“验证码输入错误”,然后就需要再次去官网过下人机验证,再到xiaomusic中重新配置cookie,是不是cookie容易被Mi ban 导致生命周期挂了,总的来说还是不错,能正常识别设备了;感谢大佬的倾情奉献 ❤
。。。。。。。。。 1Panel-xiaomusic-1n74 | [2026-01-17 13:06:46] [0.4.12] [INFO] device_player.py:226: play. names:['告白气球周杰伦'] 1 1Panel-xiaomusic-1n74 | [2026-01-17 13:06:46] [0.4.12] [INFO] device_player.py:912: cancel_group_next_timer {'981327057': <xiaomusic.device_player.XiaoMusicDevice object at 0xffff8f736780>} 1Panel-xiaomusic-1n74 | [2026-01-17 13:06:46] [0.4.12] [INFO] device_player.py:897: cancel_next_timer did: 981327057 1Panel-xiaomusic-1n74 | [2026-01-17 13:06:46] [0.4.12] [INFO] device_player.py:907: 下一曲定时器不见了 did: 981327057 1Panel-xiaomusic-1n74 | [2026-01-17 13:06:46] [0.4.12] [INFO] device_player.py:357: cur_music 告白气球周杰伦 1Panel-xiaomusic-1n74 | [2026-01-17 13:06:46] [0.4.12] [INFO] music_url.py:60: get_music_url name:告白气球周杰伦 1Panel-xiaomusic-1n74 | [2026-01-17 13:06:46] [0.4.12] [INFO] music_library.py:586: try get_filename. filename:music/download/告白气球周杰伦.mp3 1Panel-xiaomusic-1n74 | [2026-01-17 13:06:46] [0.4.12] [INFO] music_url.py:139: _get_local_music_url local music. name:告白气球周杰伦, filename:music/download/告白气球周杰伦.mp3 1Panel-xiaomusic-1n74 | [2026-01-17 13:06:46] [0.4.12] [INFO] music_url.py:162: _get_file_url filepath:music/download/告白气球周杰伦.mp3, filename:download/告白气球周杰伦.mp3 1Panel-xiaomusic-1n74 | [2026-01-17 13:06:46] [0.4.12] [INFO] music_url.py:53: get_music_sec_url. name:告白气球周杰伦 url:http://192.168.6.167:58090/music/download/告白气球周杰伦.mp3 origin_url:None 1Panel-xiaomusic-1n74 | [2026-01-17 13:06:46] [0.4.12] [INFO] device_player.py:872: group_force_stop_xiaoai Xiaomi 智能音箱 Pro ['70ba747b-af44-4e41-bc49-b9da586cf770'] 1Panel-xiaomusic-1n74 | Exception on login 2340782246: {'code': 87001, 'desc': '验证码输入错误', 'captchaUrl': '/pass/getCode?icodeType=login&0.754211913663798', 'type': 'manMachine'} 1Panel-xiaomusic-1n74 | Traceback (most recent call last): 1Panel-xiaomusic-1n74 | File "/app/.venv/lib/python3.14/site-packages/miservice/miaccount.py", line 72, in login 1Panel-xiaomusic-1n74 | raise Exception(resp) 1Panel-xiaomusic-1n74 | Exception: {'code': 87001, 'desc': '验证码输入错误', 'captchaUrl': '/pass/getCode?icodeType=login&0.754211913663798', 'type': 'manMachine'} 1Panel-xiaomusic-1n74 | [2026-01-17 13:06:47] [0.4.12] [WARNING] device_player.py:424: Execption Error https://api2.mina.mi.com/remote/ubus: Login failed 1Panel-xiaomusic-1n74 | [2026-01-17 13:06:47] [0.4.12] [INFO] device_player.py:875: group_force_stop_xiaoai ['70ba747b-af44-4e41-bc49-b9da586cf770'] [None] 1Panel-xiaomusic-1n74 | [2026-01-17 13:06:47] [0.4.12] [INFO] device_player.py:362: 播放 http://192.168.6.167:58090/music/download/告白气球周杰伦.mp31Panel-xiaomusic-1n74 | Exception on login 2340782246: {'code': 87001, 'desc': '验证码输入错误', 'captchaUrl': '/pass/getCode?icodeType=login&0.38010189998178023', 'type': 'manMachine'} 1Panel-xiaomusic-1n74 | Traceback (most recent call last): 1Panel-xiaomusic-1n74 | File "/app/.venv/lib/python3.14/site-packages/miservice/miaccount.py", line 72, in login 1Panel-xiaomusic-1n74 | raise Exception(resp) 1Panel-xiaomusic-1n74 | Exception: {'code': 87001, 'desc': '验证码输入错误', 'captchaUrl': '/pass/getCode?icodeType=login&0.38010189998178023', 'type': 'manMachine'} 1Panel-xiaomusic-1n74 | [2026-01-17 13:06:47] [0.4.12] [ERROR] device_player.py:730: Execption Error https://api2.mina.mi.com/remote/ubus: Login failed 1Panel-xiaomusic-1n74 | Traceback (most recent call last): 1Panel-xiaomusic-1n74 | File "/app/xiaomusic/device_player.py", line 718, in play_one_url 1Panel-xiaomusic-1n74 | ret = await self.auth_manager.mina_service.play_by_music_url( 1Panel-xiaomusic-1n74 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1Panel-xiaomusic-1n74 | device_id, url, audio_id=audio_id 1Panel-xiaomusic-1n74 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1Panel-xiaomusic-1n74 | ) 1Panel-xiaomusic-1n74 | ^ 1Panel-xiaomusic-1n74 | File "/app/.venv/lib/python3.14/site-packages/miservice/minaservice.py", line 206, in play_by_music_url 1Panel-xiaomusic-1n74 | return await self.ubus_request( 1Panel-xiaomusic-1n74 | ^^^^^^^^^^^^^^^^^^^^^^^^ 1Panel-xiaomusic-1n74 | ...<4 lines>... 1Panel-xiaomusic-1n74 | ) 1Panel-xiaomusic-1n74 | ^ 1Panel-xiaomusic-1n74 | File "/app/.venv/lib/python3.14/site-packages/miservice/minaservice.py", line 47, in ubus_request 1Panel-xiaomusic-1n74 | result = await self.mina_request( 1Panel-xiaomusic-1n74 | ^^^^^^^^^^^^^^^^^^^^^^^^ 1Panel-xiaomusic-1n74 | ...<2 lines>... 1Panel-xiaomusic-1n74 | ) 1Panel-xiaomusic-1n74 | ^ 1Panel-xiaomusic-1n74 | File "/app/.venv/lib/python3.14/site-packages/miservice/minaservice.py", line 37, in mina_request 1Panel-xiaomusic-1n74 | return await self.account.mi_request( 1Panel-xiaomusic-1n74 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1Panel-xiaomusic-1n74 | "micoapi", "https://api2.mina.mi.com" + uri, data, headers 1Panel-xiaomusic-1n74 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1Panel-xiaomusic-1n74 | ) 1Panel-xiaomusic-1n74 | ^ 1Panel-xiaomusic-1n74 | File "/app/.venv/lib/python3.14/site-packages/miservice/miaccount.py", line 155, in mi_request 1Panel-xiaomusic-1n74 | raise Exception(f"Error {url}: {resp}") 1Panel-xiaomusic-1n74 | Exception: Error https://api2.mina.mi.com/remote/ubus: Login failed 1Panel-xiaomusic-1n74 | [2026-01-17 13:06:47] [0.4.12] [INFO] device_player.py:700: group_player_play http://192.168.6.167:58090/music/download/告白气球周杰伦.mp3 ['70ba747b-af44-4e41-bc49-b9da586cf770'] [None] 1Panel-xiaomusic-1n74 | [2026-01-17 13:06:47] [0.4.12] [INFO] device_player.py:366: 播放 告白气球周杰伦 失败. 失败次数: 10 1Panel-xiaomusic-1n74 | [2026-01-17 13:06:48] [0.4.12] [INFO] 192.168.6.205:2582 - "POST /playmusiclist HTTP/1.1" 200 。。。。。。。。
评论 20 - hanxi
@TangTang0812 把对话记录关掉会好一点。
评论 21 - ideajoker
0.4.16版本还是无法识别设备。
按照/issues/99.html里面的方法试了
1、官网重新登陆过了 2、小米音响APP也重新登录过了 3、cookie也填入了
群辉NAS里面不知道怎么把网络由bridge改为host,这个还没试。 有没有类似的情况?
评论 22 - zmz163
试了很多次都不能查找设备,局域网内电脑获取完整cookie填入,并且也填写账户密码,仍然无法获取设备。
评论 23 - sam0773
如果用cookies就不要填写账号和密码
---原始邮件--- 发件人: @.> 发送时间: 2026年1月21日(周三) 下午5:13 收件人: @.>; 抄送: @.@.>; 主题: Re: [hanxi/xiaomusic] 使用cookie登陆 (Issue #688)
zmz163 left a comment (hanxi/xiaomusic#688)
试了很多次都不能查找设备,局域网内电脑获取完整cookie填入,并且也填写账户密码,仍然无法获取设备。
xiaomusic (1).txt
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>
评论 24 - zmz163
如果用cookies就不要填写账号和密码 …
只用cookie登录也不行
评论 25 - w0000dy
如果用cookies就不要填写账号和密码 …
只用cookie登录也不行
填账号密码 账号别用手机号,我一开始手机号不行 使用ID号 然后去网页登录验证 刷新就有了,可以的话 先去你docker配置的config文件夹下东西都删除 登陆账号后再重新配置下
评论 26 - zmz163
如果用cookies就不要填写账号和密码 …
只用cookie登录也不行
填账号密码 账号别用手机号,我一开始手机号不行 使用ID号 然后去网页登录验证 刷新就有了,可以的话 先去你docker配置的config文件夹下东西都删除 登陆账号后再重新配置下
试了很多次,还是不行
评论 27 - ideajoker
评论 28 - yangjianxun36
大佬现在有个新问题,不知道是我的个例还是设备问题。家里有两台小米设备,一台米家音箱,一台触屏音箱,都是初版。米家音箱各项功能都正常,包括用风花雪月app控制播放暂停。但是触屏音箱有问题,在网页后台控制,点击播放暂停都可以正常用,但是停止的时候音箱没有停止语音反馈(米家音箱是有的),但是用着也还是没问题,用风花雪月app就有问题了,点播放可以放歌,但是一点就没反应,而且点了以后再网页后台也无法控制了,播放时间会开始一直跳,后台两个音箱都无法被发现,只能重启容器后正常。但是一通过风花雪月控制就会重复出现上面的问题。只能再次重启容器
评论 29 - b2522
用这个网址的token可以登录, 里面的userid换成自己的 https://account.xiaomi.com/fe/service/account?userId=11111&_locale=zh_CN
评论 30 - chenxixian
我用的pip instal方式安装和更新xiaomusic在Mac上的,之前帐号密码也是时不时有问题,改用cookie登录会正常,但Mac的IP有时会变,所以又加了个启动脚本,IP没变直接启动xiaomusic,IP变了修改好conf/setting.json后,再启动xiaomusic。
start_xiaomusic.sh
#!/bin/bash
# xiaomusic启动脚本
# 功能:检查IP配置,如不一致则更新,然后启动xiaomusic
# 设置脚本目录
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SETTING_FILE="$SCRIPT_DIR/conf/setting.json"
# 颜色输出
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# 日志函数
log_info() {
echo -e "${GREEN}[INFO]${NC} $1"
}
log_warn() {
echo -e "${YELLOW}[WARN]${NC} $1"
}
log_error() {
echo -e "${RED}[ERROR]${NC} $1"
}
# 检查配置文件是否存在
if [ ! -f "$SETTING_FILE" ]; then
log_error "配置文件不存在: $SETTING_FILE"
exit 1
fi
# 获取当前无线网卡IP (en0)
get_current_ip() {
# 尝试获取en0的IPv4地址
local ip=$(ifconfig en0 2>/dev/null | grep "inet " | awk '{print $2}' | head -1)
if [ -z "$ip" ]; then
# 如果en0没有IP,尝试其他网络接口
ip=$(ifconfig | grep "inet " | grep -v "127.0.0.1" | awk '{print $2}' | head -1)
fi
echo "$ip"
}
# 获取配置文件中的hostname IP
get_config_ip() {
local ip=$(grep '"hostname"' "$SETTING_FILE" | sed 's/.*"hostname": *"http:\/\///' | sed 's/".*//' | tr -d ' ')
echo "$ip"
}
# 更新配置文件中的IP
update_config_ip() {
local new_ip="$1"
log_info "更新配置文件中的IP为: $new_ip"
# 使用Python来更新JSON文件,更可靠
python3 -c "
import json
import sys
try:
with open('$SETTING_FILE', 'r', encoding='utf-8') as f:
data = json.load(f)
data['hostname'] = 'http://$new_ip'
with open('$SETTING_FILE', 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False, indent=2)
print('更新成功')
except Exception as e:
print(f'更新失败: {e}')
sys.exit(1)
"
if [ $? -eq 0 ]; then
log_info "IP配置更新成功"
return 0
else
log_error "IP配置更新失败"
return 1
fi
}
# 启动xiaomusic
start_xiaomusic() {
log_info "启动xiaomusic..."
# 检查xiaomusic命令是否存在
if ! command -v xiaomusic &> /dev/null; then
log_error "未找到xiaomusic命令,请确保已正确安装"
exit 1
fi
# 获取xiaomusic命令路径
local xiaomusic_cmd=$(command -v xiaomusic)
log_info "xiaomusic命令: $xiaomusic_cmd"
log_info "配置文件: $SETTING_FILE"
# 切换到脚本目录并启动
cd "$SCRIPT_DIR" || exit 1
# 执行xiaomusic命令
exec xiaomusic
}
# 主程序
main() {
log_info "=== xiaomusic启动脚本 ==="
# 获取当前IP
current_ip=$(get_current_ip)
if [ -z "$current_ip" ]; then
log_error "无法获取当前IP地址"
exit 1
fi
log_info "当前IP地址: $current_ip"
# 获取配置文件中的IP
config_ip=$(get_config_ip)
if [ -z "$config_ip" ]; then
log_error "无法从配置文件中获取hostname IP"
exit 1
fi
log_info "配置文件IP: $config_ip"
# 比较IP
if [ "$current_ip" = "$config_ip" ]; then
log_info "IP配置一致,直接启动xiaomusic"
else
log_warn "IP配置不一致,需要更新配置"
if ! update_config_ip "$current_ip"; then
log_error "更新IP配置失败"
exit 1
fi
fi
# 启动xiaomusic
start_xiaomusic
}
# 捕获中断信号
trap 'log_info "脚本被中断"; exit 130' INT TERM
# 执行主程序
main "$@"评论 31 - zhagn4
用这个网址的token可以登录, 里面的userid换成自己的 https://account.xiaomi.com/fe/service/account?userId=11111&_locale=zh_CN
亲测可用,谢谢
评论 32 - zhagn4
用这个网址的token可以登录, 里面的userid换成自己的 https://account.xiaomi.com/fe/service/account?userId=11111&_locale=zh_CN
亲测可用,谢谢
可用一天后,失效
评论 33 - b2522
用这个网址的token可以登录, 里面的userid换成自己的 https://account.xiaomi.com/fe/service/account?userId=11111&_locale=zh_CN
亲测可用,谢谢
可用一天后,失效
重启一下容器~如果不行,就更新下ck,再重启下容器
评论 34 - zhagn4
用这个网址的token可以登录, 里面的userid换成自己的 https://account.xiaomi.com/fe/service/account?userId=11111&_locale=zh_CN
亲测可用,谢谢
可用一天后,失效
重启一下容器~如果不行,就更新下ck,再重启下容器
重启可以了,但今天又不行了,我让容器每天定时重启试试
评论 35 - ideajoker
用这个网址的token可以登录, 里面的userid换成自己的 https://account.xiaomi.com/fe/service/account?userId=11111&_locale=zh_CN
亲测可用,谢谢
可用一天后,失效
重启一下容器~如果不行,就更新下ck,再重启下容器
重启可以了,但今天又不行了,我让容器每天定时重启试试
我现在也是每天定时重启才行,找不到规律啥时候就掉了登录。。。
评论 36 - wyyang1978-debug
我的也是需要重启,一般一到两天就会找不到设备,重启就好了
评论 37 - JasonSupertramp
还有一个就是需要把账号的二次验证关掉,不然连不上