mi-gpt icon indicating copy to clipboard operation
mi-gpt copied to clipboard

❌ 登录验证失败的请看这里

Open idootop opened this issue 8 months ago • 21 comments

如果你在使用时遇到提示 ❌ 小米账号登录失败,请按以下步骤操作:

1. 登录小米账号

在电脑上使用 Chrome 浏览器登录小米账号官网 👉 https://account.xiaomi.com

2. 获取 passToken

登录成功后,在小米账号官网:

  1. 网页空白处右键,选择【检查】打开开发者控制台
  2. 切换到 Application/应用栏,找到 Cookies 选项
  3. 在 Cookies 列表中找到 passToken,然后复制它的值

[!CAUTION] 注意 passToken 相当于你的账号密码,不要泄漏给任何人!🚨

Image

3. 更新 .mi.json 文件

在项目根目录新建 .mi.json 文件,然后写入下面的内容并保存:

{
  "mina": {
    "pass": {
      "passToken": "把你上面复制的 passToken 填到这里"
    }
  },
  "miiot": {
    "pass": {
      "passToken": "把你上面复制的 passToken 填到这里"
    }
  }
}

然后重新运行该项目,即可正常登录使用。


如果你使用 Docker 的方式运行 MiGPT,可以将本地的 .mi.json 文件绑定到 Docker 内的 /app/.mi.json 路径使其生效,示例:

docker run -d  --env-file $(pwd)/.env \
    -v $(pwd)/.migpt.js:/app/.migpt.js \
    -v $(pwd)/.mi.json:/app/.mi.json \  # 👈 注意这里
    idootop/mi-gpt:latest

其他方案

最后,你也可以选择迁移至不再依赖任何小米账号/接口的刷机解决方案:

👉 https://github.com/idootop/open-xiaoai

Enjoy ;)

idootop avatar Apr 22 '25 11:04 idootop

相关 issue:

  • https://github.com/idootop/migpt-next/issues/2
  • https://github.com/al-one/hass-xiaomi-miot/issues/2465

idootop avatar Apr 22 '25 11:04 idootop

太赞了!终于解决了。

chinesewebman avatar Apr 25 '25 02:04 chinesewebman

现在报 ❌ 没有找到账号或密码,请检查是否已配置相关参数:userId, password ❌ 没有找到账号或密码,请检查是否已配置相关参数:userId, password ❌ 没有找到账号或密码,请检查是否已配置相关参数:userId, password ❌ 刷新登录凭证失败,请检查账号密码是否仍然有效。

这两个参数需要设置在 .migpt.js 里。

chinesewebman avatar Apr 25 '25 02:04 chinesewebman

收到,谢谢

kidxiang avatar Apr 25 '25 03:04 kidxiang

终于解决了。

q465831208 avatar Apr 26 '25 15:04 q465831208

昨天尝试了下 cookie登陆,重新启动mi gpt docker,还是报账号验证的问题...这个解决方法依旧有效吗?

gaomuwen avatar Apr 28 '25 02:04 gaomuwen

赞赞赞,非常不错,解决了

chentianwei-ai avatar May 07 '25 08:05 chentianwei-ai

太棒了,真的太多谢老哥了

zhouyoukang avatar May 11 '25 06:05 zhouyoukang

按照这个方法异地登录问题解决了,但是启动还是有报错,请问有人知道怎么解决吗。

null,"description":"成功","location":"","securityStatus":16,"pwd":0,"child":0,"desc":"成功"}
2025/05/12 02:34:25 Speaker ❌ 初始化 Mi Services 失败
2025/05/12 02:34:25 database ❌  Error: ❌ Assertion failed
    at _LoggerManager.assert (file:///usr/local/lib/node_modules/migpt-server/node_modules/mi-gpt/dist/index.js:270:13)
    at __Logger.assert (file:///usr/local/lib/node_modules/migpt-server/node_modules/mi-gpt/dist/index.js:307:19)
    at AISpeaker.initMiServices (file:///usr/local/lib/node_modules/migpt-server/node_modules/mi-gpt/dist/index.js:487:17)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async AISpeaker.run (file:///usr/local/lib/node_modules/migpt-server/node_modules/mi-gpt/dist/index.js:759:5)
node:events:497
      throw er; // Unhandled 'error' event
      ^

Error [ERR_IPC_CHANNEL_CLOSED]: Channel closed
    at target.send (node:internal/child_process:754:16)
    at file:///usr/local/lib/node_modules/migpt-server/node_modules/@migptgui/controller/dist/index.js:11:19
    at new Promise (<anonymous>)
    at killChild (file:///usr/local/lib/node_modules/migpt-server/node_modules/@migptgui/controller/dist/index.js:6:12)
    at stop (file:///usr/local/lib/node_modules/migpt-server/node_modules/@migptgui/controller/dist/index.js:31:11)
    at file:///usr/local/lib/node_modules/migpt-server/node_modules/@migptgui/server/dist/index.js:275:15
    at Layer.handle [as handle_request] (/usr/local/lib/node_modules/migpt-server/node_modules/express/lib/router/layer.js:95:5)
    at next (/usr/local/lib/node_modules/migpt-server/node_modules/express/lib/router/route.js:149:13)
    at Route.dispatch (/usr/local/lib/node_modules/migpt-server/node_modules/express/lib/router/route.js:119:3)
    at Layer.handle [as handle_request] (/usr/local/lib/node_modules/migpt-server/node_modules/express/lib/router/layer.js:95:5)
Emitted 'error' event on ChildProcess instance at:
    at node:internal/child_process:758:35
    at process.processTicksAndRejections (node:internal/process/task_queues:77:11) {
  code: 'ERR_IPC_CHANNEL_CLOSED'
}

Node.js v20.14.0

nmww avatar May 12 '25 02:05 nmww

请问,配饰异地登录后, 启动命名中的 .env 需要配置什么吗,还是空着就可以,我空着 程序会有报错。

Image

"result":"ok","code":0,"captchaUrl":null,"description":"成功","location":"","securityStatus":16,"pwd":0,"child":0,"desc":"成功"}
2025/05/12 02:56:08 Speaker ❌ 初始化 Mi Services 失败
2025/05/12 02:56:08 database ❌  Error: ❌ Assertion failed
    at _LoggerManager.assert (file:///usr/local/lib/node_modules/migpt-server/node_modules/mi-gpt/dist/index.js:270:13)
    at __Logger.assert (file:///usr/local/lib/node_modules/migpt-server/node_modules/mi-gpt/dist/index.js:307:19)
    at AISpeaker.initMiServices (file:///usr/local/lib/node_modules/migpt-server/node_modules/mi-gpt/dist/index.js:487:17)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async AISpeaker.run (file:///usr/local/lib/node_modules/migpt-server/node_modules/mi-gpt/dist/index.js:759:5)

nmww avatar May 12 '25 03:05 nmww

请问,配饰异地登录后, 启动命名中的 .env 需要配置什么吗,还是空着就可以,我空着 程序会有报错。

Image

"result":"ok","code":0,"captchaUrl":null,"description":"成功","location":"","securityStatus":16,"pwd":0,"child":0,"desc":"成功"}
2025/05/12 02:56:08 Speaker ❌ 初始化 Mi Services 失败
2025/05/12 02:56:08 database ❌  Error: ❌ Assertion failed
    at _LoggerManager.assert (file:///usr/local/lib/node_modules/migpt-server/node_modules/mi-gpt/dist/index.js:270:13)
    at __Logger.assert (file:///usr/local/lib/node_modules/migpt-server/node_modules/mi-gpt/dist/index.js:307:19)
    at AISpeaker.initMiServices (file:///usr/local/lib/node_modules/migpt-server/node_modules/mi-gpt/dist/index.js:487:17)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async AISpeaker.run (file:///usr/local/lib/node_modules/migpt-server/node_modules/mi-gpt/dist/index.js:759:5)

重启docker还是报错

2025/05/12 03:07:51 Speaker ❌ 初始化 Mi Services 失败
2025/05/12 03:07:51 database ❌  Error: ❌ Assertion failed
    at _LoggerManager.assert (file:///usr/local/lib/node_modules/migpt-server/node_modules/mi-gpt/dist/index.js:270:13)
    at __Logger.assert (file:///usr/local/lib/node_modules/migpt-server/node_modules/mi-gpt/dist/index.js:307:19)
    at AISpeaker.initMiServices (file:///usr/local/lib/node_modules/migpt-server/node_modules/mi-gpt/dist/index.js:487:17)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async AISpeaker.run (file:///usr/local/lib/node_modules/migpt-server/node_modules/mi-gpt/dist/index.js:759:5)
node:events:497
      throw er; // Unhandled 'error' event
      ^

Error [ERR_IPC_CHANNEL_CLOSED]: Channel closed
    at target.send (node:internal/child_process:754:16)
    at file:///usr/local/lib/node_modules/migpt-server/node_modules/@migptgui/controller/dist/index.js:11:19
    at new Promise (<anonymous>)
    at killChild (file:///usr/local/lib/node_modules/migpt-server/node_modules/@migptgui/controller/dist/index.js:6:12)
    at run (file:///usr/local/lib/node_modules/migpt-server/node_modules/@migptgui/controller/dist/index.js:23:11)
    at file:///usr/local/lib/node_modules/migpt-server/node_modules/@migptgui/server/dist/index.js:270:15
Emitted 'error' event on ChildProcess instance at:
    at node:internal/child_process:758:35
    at process.processTicksAndRejections (node:internal/process/task_queues:77:11) {
  code: 'ERR_IPC_CHANNEL_CLOSED'
}

Node.js v20.14.0
端口: 36592
登录认证: 已启用
秘密路径: 已启用

nmww avatar May 12 '25 03:05 nmww

@nmww 你使用的 lmk123/migpt-server 是另外一个项目(不是我写的),其配置方式与原版的 MiGPT 不同。

  1. 请到对应 Github 仓库 lmk123/migpt-server下向原作者提 issue
  2. 或者按照本项目教程,使用原版 idootop/mi-gpt Docker 镜像运行
Image

idootop avatar May 12 '25 03:05 idootop

请问小爱音响部署成功了,但是在运行的时候,提示报错 OpenAI LLM响应异常 BadRequestError,请问是什么原因导致的,应该怎么修复呢,是不是硅基流动平台的配置问题?盼回

zjy161210 avatar May 14 '25 01:05 zjy161210

@zjy161210 无关问题请新开 issue 讨论,否则不予回复。

响应异常 BadRequestError,是你的大模型服务配置有问题,检查你的 key 和 base_url 设置是否可用。

idootop avatar May 14 '25 02:05 idootop

nice!!

mbXian avatar Jul 29 '25 01:07 mbXian

nice job!!

TDknightboy avatar Aug 18 '25 10:08 TDknightboy

这个应该写到 FAQ 里啊啊啊!害我干等一个多小时...

ahu avatar Oct 16 '25 13:10 ahu

登录验证失败的请看这里,感谢作者。 一直无法获得DID,被整emo了。 这个token能代替did吧

nnssz avatar Oct 18 '25 12:10 nnssz

@nnssz token ≠ did,did 是你的小爱音箱设备名称/序列号/ mac 地址等。最好打开 debug 看下实际的设备 id 是多少,FAQ 里有教程。

idootop avatar Oct 18 '25 13:10 idootop

感谢作者及时解惑。 我的情况是,运行 micli list 无法获得did。用户名 和密码都是对的,可以登录小米的网站。 root@o10:~# micli list Exception on login 2xxxxxx2: 'userId' Traceback (most recent call last): File "/usr/lib/python3.11/site-packages/miservice/miaccount.py", line 73, in login self.token["userId"] = resp["userId"] ~~~~^^^^^^^^^^ KeyError: 'userId' Error https://api.io.mi.com/app/home/device_list: Login failed

nnssz avatar Oct 18 '25 13:10 nnssz

亲测成功,感谢大佬

esingtse avatar Nov 21 '25 06:11 esingtse