Git Product home page Git Product logo

mi-gpt's Introduction

MiGPT:智能家居,从未如此贴心 ❤️

npm version Docker Image Version

在这个数字化的世界里,家已不仅仅是一个居住的地方,而是我们数字生活的延伸。

MiGPT 通过将小爱音箱、米家智能设备,与 ChatGPT 的理解能力完美融合,让你的智能家居更懂你。

MiGPT 不仅仅是关于设备自动化,而是关于:打造一个懂你、有温度、与你共同进化的家

未来,你的每个智能家居设备,从灯泡、插座,到扫地机器人、电视等,

都可以作为一个个独立的智能体 (Agent),更智能、更贴心的响应你的指令。

这些独立的智能体,也可以彼此感知,彼此配合,构成一个更强大的协作网络。

而小爱音箱就像是你的智能家居专属管家,全心全意为你服务,释放智能家居的真正潜力。

🔥 项目预览

👉 查看完整演示视频:【整活!将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手~

mi-gpt-demo1.mp4

✨ 项目亮点

  • 🎓 AI 问答。想象一下,当小爱音箱接入大模型后,上知天文,下知地理,从“人工智障”秒变学霸。
  • 🎭 角色扮演。一秒调教小爱,无论是成为你的完美伴侣,还是那个能听你倾诉心事的贴心闺蜜,都不在话下。
  • 💬 流式响应。爱情来得太快就像龙卷风,而你的小爱音箱也是,对你的爱意秒回,爱你不会让你等太久。
  • 🧠 长短期记忆。小爱音箱现在能记住你们之间的每一次对话,越聊越默契,就像是你身边的老朋友。
  • 🔊 自定义 TTS。厌倦了小爱同学的语音?帮你解锁「豆包」同款音色,就像真人在回你的消息。
  • 🤖️ 智能家居 Agent。心情不好?小爱立刻懂你,自动帮你播放喜欢的音乐,调节灯光,逗你开心。TODO

⚡️ 快速开始

MiGPT 有两种启动方式: DockerNode.js

设备要求

本项目支持大部分的小爱音箱型号,推荐使用小爱音箱 Pro(完美运行)

👉 查看更多兼容的小爱音箱型号和配置参数

注意:本项目暂不支持小度音箱、天猫精灵、HomePod 等智能音箱设备,亦无相关适配计划。

Docker

Docker Image Version

对于电脑小白或者不想自己配置代码运行环境(Node)的同学,可以使用 Docker 启动方式。

请先按照 ⚙️ 参数设置 相关说明,配置好你的 .env.migpt.js 文件,然后使用以下命令启动 docker:

docker run -d --env-file $(pwd)/.env -v $(pwd)/.migpt.js:/app/.migpt.js idootop/mi-gpt:latest

注意:在 Windows 终端下需要将配置文件路径 $(pwd) 替换为绝对路径。

Node.js

npm version

如果你是一名前端 (Node) 开发者,也可以通过 NPM 安装 mi-gpt 启动 MiGPT

npm install mi-gpt # 安装依赖

然后,创建并启动 MiGPT 实例。初始化参数的具体说明请到 ⚙️ 参数设置 查看。

import { MiGPT } from "mi-gpt";

async function main() {
  const client = MiGPT.create({
    speaker: {
      userId: "987654321", // 注意:不是手机号或邮箱,请在「个人信息」-「小米 ID」查看
      password: "123456", // 账号密码
      did: "小爱音箱Pro", // 小爱音箱 ID 或在米家中设置的名称
    },
  });
  await client.start();
}

main();

注意:此模式下并不会主动读取 .env.migpt.js 中的配置信息,你需要手动初始化 Node 环境变量,并将 .migpt.js 中的参数作为 MiGPT.create 的初始化参数传入。👉 示例代码

📖 使用文档

以下为更详细的使用教程,大多数问题都可在 💬 常见问题 中找到答案。

🦄 Sponsors

302.AI

302.AI 是一个汇集全球顶级 AI 的自助平台,按需付费,零月费,零门槛使用各种类型 AI。 官方网站 网站介绍

❤️ 鸣谢

特别感谢以下项目提供的实现参考:

🚨 免责声明

本项目仅供学习和研究目的,不得用于任何商业活动。用户在使用本项目时应遵守所在地区的法律法规,对于违法使用所导致的后果,本项目及作者不承担任何责任。 本项目可能存在未知的缺陷和风险(包括但不限于设备损坏和账号封禁等),使用者应自行承担使用本项目所产生的所有风险及责任。 作者不保证本项目的准确性、完整性、及时性、可靠性,也不承担任何因使用本项目而产生的任何损失或损害责任。 使用本项目即表示您已阅读并同意本免责声明的全部内容。

License

MIT License © 2024-PRESENT Del Wang

mi-gpt's People

Contributors

akring avatar idootop avatar shog86 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mi-gpt's Issues

对于chatgpt多行回复,只能输出第一行的语音

image
提问: 可可战国四大名将是谁?
回答:王翦(秦国)- 他是秦始皇的重要将领,多次带领秦军取得重大战功。
然后直接回复了: 🔊 还有其他问题吗?

也就是说,chatgpt多行回复只能输出第一行语音,希望作者可以修一修这个小bug,辛苦啦

windows平台,使用nodejs运行,出现如下错误

你好,我尝试在windows平台,使用nodejs运行,出现如下错误:
Node.js v20.14.0

E:\1.Code\NodeJsWorkspace\mi-gpt>pnpm install && pnpm build
Lockfile is up to date, resolution step is skipped
Packages: +175
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Progress: resolved 175, reused 175, downloaded 0, added 175, done

dependencies:

  • @prisma/client 5.14.0
  • axios 1.6.8
  • fs-extra 11.2.0
  • https-proxy-agent 7.0.4
  • mi-gpt 2.0.0
  • mi-service-lite 2.3.0
  • openai 4.47.1
  • prisma 5.14.0

devDependencies:

  • @types/fs-extra 11.0.4
  • @types/node 20.12.12
  • dotenv 16.4.5
  • ts-node 10.9.2
  • tsup 8.0.2
  • typescript 5.4.5

Done in 2.7s

[email protected] build E:\1.Code\NodeJsWorkspace\mi-gpt
pnpm prisma generate && tsup

Environment variables loaded from .env
Prisma schema loaded from prisma\schema.prisma

✔ Generated Prisma Client (v5.14.0) to .\node_modules.pnpm@[email protected][email protected]\node_modules@prisma\client in 163ms

Start using Prisma Client in Node.js (See: https://pris.ly/d/client)

import { PrismaClient } from '@prisma/client'
const prisma = new PrismaClient()

or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate)

import { PrismaClient } from '@prisma/client/edge'
const prisma = new PrismaClient()

See other ways of importing Prisma Client: http://pris.ly/d/importing-client

┌─────────────────────────────────────────────────────────────┐
│ Deploying your app to serverless or edge functions? │
│ Try Prisma Accelerate for connection pooling and caching. │
https://pris.ly/cli/--accelerate
└─────────────────────────────────────────────────────────────┘

CLI Building entry: src/index.ts
CLI Using tsconfig: tsconfig.json
CLI tsup v8.0.2
CLI Using tsup config: E:\1.Code\NodeJsWorkspace\mi-gpt\tsup.config.ts
CLI Target: node16
CLI Cleaning output folder
ESM Build start
CJS Build start
CJS dist\index.cjs 75.69 KB
CJS ⚡️ Build success in 462ms
ESM dist\index.js 75.08 KB
ESM ⚡️ Build success in 464ms
DTS Build start
DTS ⚡️ Build success in 3088ms
DTS dist\index.d.ts 12.86 KB
DTS dist\index.d.cts 12.86 KB

E:\1.Code\NodeJsWorkspace\mi-gpt>npm run start

[email protected] start
node ./scripts/runner.js

2024/05/29 20:32:00 MiGPT ❌ Missing userId or password.
E:\1.Code\NodeJsWorkspace\mi-gpt\dist\index.cjs:281
throw Error("\u274C Assertion failed");
^

Error: ❌ Assertion failed
at _LoggerManager.assert (E:\1.Code\NodeJsWorkspace\mi-gpt\dist\index.cjs:281:13)
at __Logger.assert (E:\1.Code\NodeJsWorkspace\mi-gpt\dist\index.cjs:313:19)
at _MiGPT.create (E:\1.Code\NodeJsWorkspace\mi-gpt\dist\index.cjs:2321:19)
at main (file:///E:/1.Code/NodeJsWorkspace/mi-gpt/scripts/runner.js:5:24)
at file:///E:/1.Code/NodeJsWorkspace/mi-gpt/scripts/runner.js:9:1
at ModuleJob.run (node:internal/modules/esm/module_job:222:25)
at async ModuleLoader.import (node:internal/modules/esm/loader:316:24)
at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:123:5)

Docker 启动后,小米登录验证失败

查看 log 后输出如下:

{
    "qs": "%3Fsid%3Dmicoapi%26_json%3Dtrue%26_locale%3Dzh_CN",
    "code": 70016,
    "description": "登录验证失败",
    "securityStatus": 0,
    "_sign": "3hTMVA4oMVVESndNZC0Uemsp6u8=",
    "sid": "micoapi",
    "result": "error",
    "captchaUrl": null,
    "callback": "https://api2.mina.mi.com/sts",
    "location": "",
    "pwd": 0,
    "child": 0,
    "desc": "登录验证失败"
}

使用了kimi,设置了baseurl,但还是报错

kimi 配置

OPENAI_BASE_URL=https://api.moonshot.cn/v1
OPENAI_MODEL=moonshot-v1-8k
OPENAI_API_KEY=sk-TuKL1mvY**************lCirQ67YG9o7WRtpIvx9

报错信息

2024/06/02 23:31:52 Open AI ❌ ❌ openai chat failed AuthenticationError: 401 Invalid Authentication
at APIError.generate (D:\document\Github\mi-gpt\node_modules.pnpm\[email protected]\node_modules\openai\error.js:48:20)
at OpenAI.makeStatusError (D:\document\Github\mi-gpt\node_modules.pnpm\[email protected]\node_modules\openai\core.js:263:33)
at OpenAI.makeRequest (D:\document\Github\mi-gpt\node_modules.pnpm\[email protected]\node_modules\openai\core.js:306:30)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async OpenAIClient.chatStream (D:\document\Github\mi-gpt\dist\index.cjs:1140:20) {
status: 401,
headers: {
connection: 'keep-alive',
'content-length': '84',
'content-type': 'application/json; charset=utf-8',
date: 'Sun, 02 Jun 2024 15:31:52 GMT',
'msh-cache': 'miss',
server: 'nginx',
'server-timing': 'inner; dur=59',
'strict-transport-security': 'max-age=15724800; includeSubDomains',
vary: 'Origin'
},
request_id: undefined,
error: {
message: 'Invalid Authentication',
type: 'invalid_authentication_error'
},
code: undefined,
param: undefined,
type: 'invalid_authentication_error'
}

连接OpenAI一直报超时

2024/06/06 20:33:38 Speaker ✅ 服务已启动...
2024/06/06 20:33:55 Speaker 🔥 召唤傻妞
2024/06/06 20:33:55 Speaker 🔊 你好,我是傻妞,很高兴认识你
2024/06/06 20:34:04 Speaker 🔥 为什么是蓝色的
2024/06/06 20:34:04 Speaker 🔊 请稍等
2024/06/06 20:37:53 Open AI ❌ LLM 响应异常 APIConnectionError: Connection error.
at OpenAI.makeRequest (/Users/thomas/Documents/Projects/AI/mi-gpt/node_modules/openai/core.js:292:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async OpenAIClient.chatStream (/Users/thomas/Documents/Projects/AI/mi-gpt/dist/index.cjs:1145:20) {
status: undefined,
headers: undefined,
request_id: undefined,
error: undefined,
code: undefined,
param: undefined,
type: undefined,
cause: FetchError: request to https://api.openai.com/v1/chat/completions failed, reason: connect ETIMEDOUT 128.242.250.148:443
at ClientRequest. (/Users/thomas/Documents/Projects/AI/mi-gpt/node_modules/node-fetch/lib/index.js:1501:11)
at ClientRequest.emit (node:events:514:28)
at TLSSocket.socketErrorListener (node:_http_client:495:9)
at TLSSocket.emit (node:events:526:35)
at emitErrorNT (node:internal/streams/destroy:151:8)
at emitErrorCloseNT (node:internal/streams/destroy:116:3)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
type: 'system',
errno: 'ETIMEDOUT',
code: 'ETIMEDOUT'
}
}
2024/06/06 20:37:53 Speaker 🔊 啊哦,出错了,请稍后再试吧!

有人Docker跑过这个项目吗?根本跑不起来

看已关闭的有个同样的错误,代码里写死了路径还是怎么的?

2024-06-06 11:47:31 
2024-06-06 11:47:31 > [email protected] start
2024-06-06 11:47:31 > node ./app.js
2024-06-06 11:47:31 
2024-06-06 11:47:31 node:internal/modules/esm/resolve:265
2024-06-06 11:47:31     throw new ERR_MODULE_NOT_FOUND(
2024-06-06 11:47:31           ^
2024-06-06 11:47:31 
2024-06-06 11:47:31 Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/app/.migpt.js' imported from /app/app.js
2024-06-06 11:47:31     at finalizeResolution (node:internal/modules/esm/resolve:265:11)
2024-06-06 11:47:31     at moduleResolve (node:internal/modules/esm/resolve:933:10)
2024-06-06 11:47:31     at defaultResolve (node:internal/modules/esm/resolve:1157:11)
2024-06-06 11:47:31     at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:383:12)
2024-06-06 11:47:31     at ModuleLoader.resolve (node:internal/modules/esm/loader:352:25)
2024-06-06 11:47:31     at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:227:38)
2024-06-06 11:47:31     at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:87:39)
2024-06-06 11:47:31     at link (node:internal/modules/esm/module_job:86:36) {
2024-06-06 11:47:31   code: 'ERR_MODULE_NOT_FOUND',
2024-06-06 11:47:31   url: 'file:///app/.migpt.js'
2024-06-06 11:47:31 }
2024-06-06 11:47:31 
2024-06-06 11:47:31 Node.js v20.14.0
2024-06-06 11:51:31 node:internal/modules/esm/resolve:265
2024-06-06 11:51:31     throw new ERR_MODULE_NOT_FOUND(
2024-06-06 11:51:31           ^
2024-06-06 11:51:31 
2024-06-06 11:51:31 Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/app/.migpt.js' imported from /app/app.js
2024-06-06 11:51:31     at finalizeResolution (node:internal/modules/esm/resolve:265:11)
2024-06-06 11:51:31     at moduleResolve (node:internal/modules/esm/resolve:933:10)
2024-06-06 11:51:31     at defaultResolve (node:internal/modules/esm/resolve:1157:11)
2024-06-06 11:51:31     at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:383:12)
2024-06-06 11:51:31     at ModuleLoader.resolve (node:internal/modules/esm/loader:352:25)
2024-06-06 11:51:31     at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:227:38)
2024-06-06 11:51:31     at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:87:39)
2024-06-06 11:51:31     at link (node:internal/modules/esm/module_job:86:36) {
2024-06-06 11:51:31   code: 'ERR_MODULE_NOT_FOUND',
2024-06-06 11:51:31   url: 'file:///app/.migpt.js'
2024-06-06 11:51:31 }
2024-06-06 11:51:31 
2024-06-06 11:51:31 Node.js v20.14.0
2024-06-06 11:51:31 
2024-06-06 11:51:31 > [email protected] start
2024-06-06 11:51:31 > node ./app.js
2024-06-06 11:51:31 

docker网络

你好 运行docker的服务器是否需要外网来连接chatgpt

原本的小爱会插嘴

唤醒AI以后,AI的第一句回复正常,但是继续对话原本的小爱同学会抢先回答说2-3个字以后切换到AI回答,这种体验怪怪的,总觉得小爱同学在刷存在感... 我的小爱音箱是“小米AI音箱”第一版

HTTP Status 401 – Unauthorized

hello 在尝试docker跑你的项目,你的项目看起来是最简洁的
有遇到一些问题。
目前来看是小米账号登陆后的状态处理问题
登陆完成后,获取设备列表会有401错误

path: '/admin/v2/device_list?requestId=67e83de4-5b95-4530-8b32-c53f4c05b110&timestamp=1711692783',
response: {
mi-gpt-1  |       status: 401,
mi-gpt-1  |       statusText: '',
mi-gpt-1  |       headers: [Object [AxiosHeaders]],
mi-gpt-1  |       config: [Object],
mi-gpt-1  |       request: [ClientRequest],
mi-gpt-1  |       data: '<!doctype html><html lang="en"><head><title>HTTP Status 401 – Unauthorized</title><style type="text/css">body {font-family:Tahoma,Arial,sans-serif;} h1, h2, h3, b {color:white;background-color:#525D76;} h1 {font-size:22px;} h2 {font-size:16px;} h3 {font-size:14px;} p {font-size:12px;} a {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 401 – Unauthorized</h1></body></html>'
mi-gpt-1  |     }
mi-gpt-1  |   },

应该是你的mi-service-lite项目的原因

Istoreos Docker部署显示找不到设备,初始化失败大佬帮忙看看

stdout: 
stdout: > [email protected] start
stdout: > node ./app.js
stdout: 
stdout: 
stdout: 
stdout: / $$      /$$ /$$   /$$$$$$  /$$$$$$$ /$$$$$$$$$
stdout: | $$$    /$$$|__/ /$$__  $$| $$__  $$|__  $$__/
stdout: | $$$$  /$$$$ /$$| $$  \__/| $$  \ $$   | $$   
stdout: | $$ $$/$$ $$| $$| $$ /$$$$| $$$$$$$/   | $$   
stdout: | $$  $$$| $$| $$| $$|_  $$| $$____/    | $$   
stdout: | $$\  $ | $$| $$| $$  \ $$| $$         | $$   
stdout: | $$ \/  | $$| $$|  $$$$$$/| $$         | $$   
stdout: |__/     |__/|__/ \______/ |__/         |__/                         
stdout:                                                                                                                  
stdout:          MiGPT v3.0.0  by: del.wang
stdout: 
stdout: 
stderr: 找不到设备:小米小爱音箱Play 增强版
stderr: 2024/06/06 13:40:39 Speaker ❌ 初始化 Mi Services 失败
stderr: 2024/06/06 13:40:39 database ❌  Error: ❌ Assertion failed
stderr:     at _LoggerManager.assert (/app/dist/index.cjs:239:13)
stderr:     at __Logger.assert (/app/dist/index.cjs:276:19)
stderr:     at AISpeaker.initMiServices (/app/dist/index.cjs:451:17)
stderr:     at async AISpeaker.run (/app/dist/index.cjs:695:5)
stderr:     at async main (file:///app/app.js:6:3)
stderr: npm notice
stderr: npm notice New minor version of npm available! 10.7.0 -> 10.8.1
stderr: npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.8.1
stderr: npm notice To update run: npm install -g [email protected]
stderr: npm notice

程序报错

在远程主机上docker运行
报了下面的错误

image

小爱音箱并未转达chatgpt的回答

在docker交互日志上,程序已经成功调用chatgpt并且gpt已经给出回答,但小爱音箱并未读出回复内容,请问下可能是什么原因呢?

docker启动报错:小米账号验证失败

1716228786836

login failed &&&START&&&{"qs":"%3Fsid%3Dmicoapi%26_json%3Dtrue%26_locale%3Dzh_CN","code":70016,"description":"登录验证失败","securityStatus":0,"_sign":"3hTMVA4oMVVESndNZC0Uemsp6u8=","sid":"micoapi","result":"error","captchaUrl":null,"callback":"https://api2.mina.mi.com/sts","location":"","pwd":0,"child":0,"desc":"登录验证失败"}
login failed &&&START&&&{"qs":"%3Fsid%3Dxiaomiio%26_json%3Dtrue%26_locale%3Dzh_CN","code":70016,"description":"登录验证失败","securityStatus":0,"_sign":"azrnTMZJiyQ9FtUVXA7ZD76KZYM=","sid":"xiaomiio","result":"error","captchaUrl":null,"callback":"https://sts.api.io.mi.com/sts","location":"","pwd":0,"child":0,"desc":"登录验证失败"}

Network request failed: ECONNABORTED timeout of 10000ms exceeded AxiosError: timeout of 10000ms exceeded

mac
node -v
v16.14.0

git clone https://github.com/idootop/mi-gpt
cd mi-gpt
npm install

修改 app.js
import config from "./.migpt.js";
import { MiGPT } from "./node_modules/mi-gpt/dist/index.cjs";

async function main() {
const client = MiGPT.create(config);
await client.start();
}

main();

node app.js

提示
Network request failed: ECONNABORTED timeout of 10000ms exceeded AxiosError: timeout of 10000ms exceeded

method: 'get',
url: 'https://api2.mina.mi.com/sts?d=

关于使用过程中遇到的问题补充

作者少写了一些关键点,可能这些关键点对于经常用的都是常识,对于没用过的可能就理解不来。
我补充两点:
1、docker部署
通过docker获取镜像后,同时需要将代码 clone到本地(主要目的是clone两个需要修改的配置文件),修改本地的配置文件后,使用作者写的启动命令直接启动即可。pwd是文件所属路径,不识别的话,可以用两个配置文件的绝对路径执行。
2、使用方式
项目运行后,按正常理解是先唤醒,比如“召唤小爱”,实际应该是先普通唤醒“小爱同学”,然后再“召唤小爱” 进入 AI 唤醒状态,或者 “傻妞,介绍下**近代史”来调用 AI 来回复消息。

我遇到的使用问题(我用的小爱触屏音箱(LX04)):
1、看指令,是支持查询播放状态的,但是如果 streamResponse: true,效果不好。
回复内容较长时,会分段回复,并且每一段都只讲部分就继续一下段(应该是触发了作者的轮询逻辑)
2、回答完后,无法继续提问。需要重新唤醒。 “小爱同学”>"请介绍下xxx"
3、如果 streamResponse: false,则不需要唤醒进入AI 唤醒状态,体验效果会好些。 可以将回答全部播放。下一次对话前仍需要通过“小爱同学”唤醒,然后“请介绍下李白。”

建议作者可以将实现逻辑图画下,能方便理解问题出在哪里?

猜测大概顺序:
1、“小爱同学” 设备本身唤醒,不可避免。
2、“召唤xx”进入AI 唤醒状态,可以通过streamResponse: false,省略。
3、“请介绍xxx”,会调用 AI 来回复消息。

使用实际情况是,进入AI 唤醒状态 这个属性没有用。

LLM 响应异常 PermissionDeniedError: 403 <html>

2024/06/06 16:02:05 Open AI ❌ LLM 响应异常 PermissionDeniedError: 403 <html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>cloudflare</center>
</body>
</html>
    at APIError.generate (/app/node_modules/.pnpm/[email protected]/node_modules/openai/error.js:51:20)
    at OpenAI.makeStatusError (/app/node_modules/.pnpm/[email protected]/node_modules/openai/core.js:263:33)
    at OpenAI.makeRequest (/app/node_modules/.pnpm/[email protected]/node_modules/openai/core.js:306:30)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async OpenAIClient.chat (/app/dist/index.cjs:1105:28)
    at async ShortTermMemoryAgent.generate (/app/dist/index.cjs:1917:17)
    at async MemoryManager._updateShortTermMemory (/app/dist/index.cjs:2016:23)
    at async MemoryManager.updateLongShortTermMemory (/app/dist/index.cjs:1993:21) {
  status: 403,
�
  headers: {
    'alt-svc': 'h3=":443"; ma=86400',
    'cf-ray': '88f99ff0bad87c72-HYD',
    connection: 'keep-alive',
    'content-encoding': 'gzip',
    'content-type': 'text/html',
    date: 'Thu, 06 Jun 2024 16:02:05 GMT',
    server: 'cloudflare',
    'set-cookie': '__cf_bm=yiE2le26NzcLDqhy5iZajc19weDdrGMIYaKtkIwSAis-1717689725-1.0.1.1-TyI97lXVwljvygGYrXuz.HUbD80dtCTR.HoRPLzuOk32jt6FSYRssKtde5Yh_x61XHDRHfhtD6askVe832DJ7A; path=/; expires=Thu, 06-Jun-24 16:32:05 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None, _cfuvid=uFMqAhMqb8WCLDWVNt0OifCW6dtMjM3BVAQ.qehKFws-1717689725601-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None',
    'transfer-encoding': 'chunked',
    vary: 'Accept-Encoding'
  },
  request_id: undefined,
  error: undefined,
  code: undefined,
  param: undefined,
  type: undefined
}

问题如上,我使用了kimi,API已经更换,不知道问题是哈

首先必须夸赞这是个很Nice的项目,尽管还没用上,请大佬儿适配armv7Docker~~~

一开始看着Node步骤也不难,结果一看就会 一搞就废,报错跑不起来
想起还有一台多年前斥巨资购买的玩客云,
然后特意拆机-刷机~(省去一万字)为的就是想尝试Mi-GPT,
结果latest: Pulling from idootop/mi-gpt
no matching manifest for linux/arm/v7 in the manifest list entries~~~
请大佬儿是适配一下armv7Docker?玩客云的最后车位只为 Mi-GPT 而留~
正在载入… - Opera 1_6_2024 上午 8_27_31

自定义语音听写Api的支持

在这个项目的加持下,目前小爱音响的答复生成和答复语音(TTS)都可以自定义。
然而,目前小爱音响在最开始的语音理解转文字(语音听写)这个部分还是用的官方的。
如果我们能自定义语音听写这一层的API,就能够实现诸如方言识别、外语识别等功能。
因此我想询问一下这个项目能否支持自定义语音转写的Api呢,例如接入市面常见的讯飞Api。

无法进入AI模式

设备已正常连接,偶尔也能中奖式的进入AI模式,但是始终无法跟AI互动,进入AI模式后也无法文字转语音,请问下是哪里配置有问题呢?

2024/06/07 20:21:55 Speaker ✅ 服务已启动...
2024/06/07 20:22:10 Speaker 🔥 连续对话
2024/06/07 20:22:31 Speaker 🔥 唤醒神兽
2024/06/07 20:22:31 Speaker 🔊 请稍等
2024/06/07 20:22:34 Speaker 🐛 {"playState":{"status":"idle","volume":20,"loop_type":1}}
2024/06/07 20:22:34 Speaker 🐛 checkIfHasNewMsg:false
2024/06/07 20:22:41 Open AI ✅ Answer: 龙哥,别担心,神兽傻妞一直都在呀!(*≧ω≦) 今天你想听什么故事呢?好奇心已经满满啦!
2024/06/07 20:22:42 Speaker 🔊 龙哥,别担心,神兽傻妞一直都在呀!(*≧ω≦) 今天你想听什么故事呢?好奇心已经满满啦!
2024/06/07 20:22:45 Speaker 🐛 {"playState":{"status":"idle","volume":20,"loop_type":1}}
2024/06/07 20:22:45 Speaker 🐛 checkIfHasNewMsg:false
2024/06/07 20:22:45 Speaker 🔊 我说完了
2024/06/07 20:22:48 Speaker 🐛 {"playState":{"status":"idle","volume":20,"loop_type":1}}
2024/06/07 20:22:48 Speaker 🐛 checkIfHasNewMsg:false
2024/06/07 20:23:08 Speaker 🔥 嗯朗读一首李白傻妞傻妞朗读一首李白最有名的诗
2024/06/07 20:23:24 Speaker 🔥 傻妞朗读一首李白最有名的诗

--migpt.js
// 当消息以下面的关键词开头时,会进入 AI 唤醒状态
wakeUpKeywords: ["打开神兽", "召唤神兽"],
// 当消息以下面的关键词开头时,会退出 AI 唤醒状态
exitKeywords: ["关闭", "退出", "再见"],
// 进入 AI 模式的欢迎语
onEnterAI: ["你好神兽"],
// 退出 AI 模式的提示语
onExitAI: ["宝贝已退出"],
// AI 开始回答时的提示语
onAIAsking: ["让我先想想", "请稍等"],
// AI 结束回答时的提示语
onAIReplied: ["我说完了", "还有其他问题吗"],
// AI 回答异常时的提示语
onAIError: ["啊哦,出错了,请稍后再试吧!"],
// 无响应一段时间后,多久自动退出唤醒模式(默认 30 秒)
exitKeepAliveAfter: 60,
// TTS 指令,请到 https://home.miot-spec.com 查询具体指令
ttsCommand: [5, 1],
// 设备唤醒指令,请到 https://home.miot-spec.com 查询具体指令
wakeUpCommand: [5, 3],
// 是否启用流式响应,部分小爱音箱型号不支持查询播放状态,此时需要关闭流式响应
streamResponse: true,
// 查询是否在播放中指令,请到 https://home.miot-spec.com 查询具体指令
// playingCommand: [3, 1, 1],
// 打开调试日志输出
debug: true,

小爱音箱l06a无法连续对话

我安装后完,可以调用到ai对话,但是没有办法像在视频中看到的,连续对话。看了文档,https://home.miot-spec.com/spec/xiaomi.wifispeaker.l06a,感觉没有配错,能帮忙看看我的配置么?

    exitKeepAliveAfter: 30,
    // TTS 指令,请到 https://home.miot-spec.com 查询具体指令
    ttsCommand: [5, 1],
    // 设备唤醒指令,请到 https://home.miot-spec.com 查询具体指令
    wakeUpCommand: [5, 3],
    // 是否启用流式响应,部分小爱音箱型号不支持查询播放状态,此时需要关闭流式响应
    streamResponse: true,
    // 查询是否在播放中指令,请到 https://home.miot-spec.com 查询具体指令
    playingCommand: [3, 1, 1],

windows 11下运行docker报错

2024-06-08 07:36:32 > [email protected] start
2024-06-08 07:36:32 > node ./app.js
2024-06-08 07:36:32
2024-06-08 07:36:32 node:internal/modules/esm/resolve:265
2024-06-08 07:36:32 throw new ERR_MODULE_NOT_FOUND(
2024-06-08 07:36:32 ^
2024-06-08 07:36:32
2024-06-08 07:36:32 Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/app/.migpt.js' imported from /app/app.js
2024-06-08 07:36:32 at finalizeResolution (node:internal/modules/esm/resolve:265:11)
2024-06-08 07:36:32 at moduleResolve (node:internal/modules/esm/resolve:933:10)
2024-06-08 07:36:32 at defaultResolve (node:internal/modules/esm/resolve:1157:11)
2024-06-08 07:36:32 at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:383:12)
2024-06-08 07:36:32 at ModuleLoader.resolve (node:internal/modules/esm/loader:352:25)
2024-06-08 07:36:32 at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:227:38)
2024-06-08 07:36:32 at ModuleWrap. (node:internal/modules/esm/module_job:87:39)
2024-06-08 07:36:32 at link (node:internal/modules/esm/module_job:86:36) {
2024-06-08 07:36:32 code: 'ERR_MODULE_NOT_FOUND',
2024-06-08 07:36:32 url: 'file:///app/.migpt.js'
2024-06-08 07:36:32 }
2024-06-08 07:36:32
2024-06-08 07:36:32 Node.js v20.14.0

在docker里面无法启动,'ERR_UNSUPPORTED_DIR_IMPORT',

2024-06-08 01:36:35
2024-06-08 01:36:35 > [email protected] start
2024-06-08 01:36:35 > node ./app.js
2024-06-08 01:36:35
2024-06-08 01:36:42
2024-06-08 01:36:42 > [email protected] start
2024-06-08 01:36:42 > node ./app.js
2024-06-08 01:36:42
2024-06-08 01:37:59
2024-06-08 01:37:59 > [email protected] start
2024-06-08 01:37:59 > node ./app.js
2024-06-08 01:37:59
2024-06-08 01:38:52
2024-06-08 01:38:52 > [email protected] start
2024-06-08 01:38:52 > node ./app.js
2024-06-08 01:38:52
2024-06-08 01:39:05
2024-06-08 01:39:05 > [email protected] start
2024-06-08 01:39:05 > node ./app.js
2024-06-08 01:39:05
2024-06-08 01:39:08
2024-06-08 01:39:08 > [email protected] start
2024-06-08 01:39:08 > node ./app.js
2024-06-08 01:39:08
2024-06-08 01:36:35 node:internal/modules/esm/resolve:259
2024-06-08 01:36:35 throw new ERR_UNSUPPORTED_DIR_IMPORT(path, fileURLToPath(base), String(resolved));
2024-06-08 01:36:35 ^
2024-06-08 01:36:35
2024-06-08 01:36:35 Error [ERR_UNSUPPORTED_DIR_IMPORT]: Directory import '/app/.migpt.js' is not supported resolving ES modules imported from /app/app.js
2024-06-08 01:36:35 at finalizeResolution (node:internal/modules/esm/resolve:259:11)
2024-06-08 01:36:35 at moduleResolve (node:internal/modules/esm/resolve:933:10)
2024-06-08 01:36:35 at defaultResolve (node:internal/modules/esm/resolve:1157:11)
2024-06-08 01:36:35 at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:383:12)
2024-06-08 01:36:35 at ModuleLoader.resolve (node:internal/modules/esm/loader:352:25)
2024-06-08 01:36:35 at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:227:38)
2024-06-08 01:36:35 at ModuleWrap. (node:internal/modules/esm/module_job:87:39)
2024-06-08 01:36:35 at link (node:internal/modules/esm/module_job:86:36) {
2024-06-08 01:36:35 code: 'ERR_UNSUPPORTED_DIR_IMPORT',
2024-06-08 01:36:35 url: 'file:///app/.migpt.js'
2024-06-08 01:36:35 }
2024-06-08 01:36:35
2024-06-08 01:36:35 Node.js v20.14.0
2024-06-08 01:36:42 node:internal/modules/esm/resolve:259
2024-06-08 01:36:42 throw new ERR_UNSUPPORTED_DIR_IMPORT(path, fileURLToPath(base), String(resolved));
2024-06-08 01:36:42 ^
2024-06-08 01:36:42
2024-06-08 01:36:42 Error [ERR_UNSUPPORTED_DIR_IMPORT]: Directory import '/app/.migpt.js' is not supported resolving ES modules imported from /app/app.js
2024-06-08 01:36:42 at finalizeResolution (node:internal/modules/esm/resolve:259:11)
2024-06-08 01:36:42 at moduleResolve (node:internal/modules/esm/resolve:933:10)
2024-06-08 01:36:42 at defaultResolve (node:internal/modules/esm/resolve:1157:11)
2024-06-08 01:36:42 at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:383:12)
2024-06-08 01:36:42 at ModuleLoader.resolve (node:internal/modules/esm/loader:352:25)
2024-06-08 01:36:42 at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:227:38)
2024-06-08 01:36:42 at ModuleWrap. (node:internal/modules/esm/module_job:87:39)
2024-06-08 01:36:42 at link (node:internal/modules/esm/module_job:86:36) {
2024-06-08 01:36:42 code: 'ERR_UNSUPPORTED_DIR_IMPORT',
2024-06-08 01:36:42 url: 'file:///app/.migpt.js'
2024-06-08 01:36:42 }
2024-06-08 01:36:42
2024-06-08 01:36:42 Node.js v20.14.0
2024-06-08 01:37:59 node:internal/modules/esm/resolve:259
2024-06-08 01:37:59 throw new ERR_UNSUPPORTED_DIR_IMPORT(path, fileURLToPath(base), String(resolved));
2024-06-08 01:37:59 ^
2024-06-08 01:37:59
2024-06-08 01:37:59 Error [ERR_UNSUPPORTED_DIR_IMPORT]: Directory import '/app/.migpt.js' is not supported resolving ES modules imported from /app/app.js
2024-06-08 01:37:59 at finalizeResolution (node:internal/modules/esm/resolve:259:11)
2024-06-08 01:37:59 at moduleResolve (node:internal/modules/esm/resolve:933:10)
2024-06-08 01:37:59 at defaultResolve (node:internal/modules/esm/resolve:1157:11)
2024-06-08 01:37:59 at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:383:12)
2024-06-08 01:37:59 at ModuleLoader.resolve (node:internal/modules/esm/loader:352:25)
2024-06-08 01:37:59 at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:227:38)
2024-06-08 01:37:59 at ModuleWrap. (node:internal/modules/esm/module_job:87:39)
2024-06-08 01:37:59 at link (node:internal/modules/esm/module_job:86:36) {
2024-06-08 01:37:59 code: 'ERR_UNSUPPORTED_DIR_IMPORT',
2024-06-08 01:37:59 url: 'file:///app/.migpt.js'
2024-06-08 01:37:59 }
2024-06-08 01:37:59
2024-06-08 01:37:59 Node.js v20.14.0
2024-06-08 01:38:52 node:internal/modules/esm/resolve:259
2024-06-08 01:38:52 throw new ERR_UNSUPPORTED_DIR_IMPORT(path, fileURLToPath(base), String(resolved));
2024-06-08 01:38:52 ^
2024-06-08 01:38:52
2024-06-08 01:38:52 Error [ERR_UNSUPPORTED_DIR_IMPORT]: Directory import '/app/.migpt.js' is not supported resolving ES modules imported from /app/app.js
2024-06-08 01:38:52 at finalizeResolution (node:internal/modules/esm/resolve:259:11)
2024-06-08 01:38:52 at moduleResolve (node:internal/modules/esm/resolve:933:10)
2024-06-08 01:38:52 at defaultResolve (node:internal/modules/esm/resolve:1157:11)
2024-06-08 01:38:52 at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:383:12)
2024-06-08 01:38:52 at ModuleLoader.resolve (node:internal/modules/esm/loader:352:25)
2024-06-08 01:38:52 at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:227:38)
2024-06-08 01:38:52 at ModuleWrap. (node:internal/modules/esm/module_job:87:39)
2024-06-08 01:38:52 at link (node:internal/modules/esm/module_job:86:36) {
2024-06-08 01:38:52 code: 'ERR_UNSUPPORTED_DIR_IMPORT',
2024-06-08 01:38:52 url: 'file:///app/.migpt.js'
2024-06-08 01:38:52 }
2024-06-08 01:38:52
2024-06-08 01:38:52 Node.js v20.14.0
2024-06-08 01:39:05 node:internal/modules/esm/resolve:259
2024-06-08 01:39:05 throw new ERR_UNSUPPORTED_DIR_IMPORT(path, fileURLToPath(base), String(resolved));
2024-06-08 01:39:05 ^
2024-06-08 01:39:05
2024-06-08 01:39:05 Error [ERR_UNSUPPORTED_DIR_IMPORT]: Directory import '/app/.migpt.js' is not supported resolving ES modules imported from /app/app.js
2024-06-08 01:39:05 at finalizeResolution (node:internal/modules/esm/resolve:259:11)
2024-06-08 01:39:05 at moduleResolve (node:internal/modules/esm/resolve:933:10)
2024-06-08 01:39:05 at defaultResolve (node:internal/modules/esm/resolve:1157:11)
2024-06-08 01:39:05 at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:383:12)
2024-06-08 01:39:05 at ModuleLoader.resolve (node:internal/modules/esm/loader:352:25)
2024-06-08 01:39:05 at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:227:38)
2024-06-08 01:39:05 at ModuleWrap. (node:internal/modules/esm/module_job:87:39)
2024-06-08 01:39:05 at link (node:internal/modules/esm/module_job:86:36) {
2024-06-08 01:39:05 code: 'ERR_UNSUPPORTED_DIR_IMPORT',
2024-06-08 01:39:05 url: 'file:///app/.migpt.js'
2024-06-08 01:39:05 }
2024-06-08 01:39:05
2024-06-08 01:39:05 Node.js v20.14.0
2024-06-08 01:39:08 node:internal/modules/esm/resolve:259
2024-06-08 01:39:08 throw new ERR_UNSUPPORTED_DIR_IMPORT(path, fileURLToPath(base), String(resolved));
2024-06-08 01:39:08 ^
2024-06-08 01:39:08
2024-06-08 01:39:08 Error [ERR_UNSUPPORTED_DIR_IMPORT]: Directory import '/app/.migpt.js' is not supported resolving ES modules imported from /app/app.js
2024-06-08 01:39:08 at finalizeResolution (node:internal/modules/esm/resolve:259:11)
2024-06-08 01:39:08 at moduleResolve (node:internal/modules/esm/resolve:933:10)
2024-06-08 01:39:08 at defaultResolve (node:internal/modules/esm/resolve:1157:11)
2024-06-08 01:39:08 at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:383:12)
2024-06-08 01:39:08 at ModuleLoader.resolve (node:internal/modules/esm/loader:352:25)
2024-06-08 01:39:08 at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:227:38)
2024-06-08 01:39:08 at ModuleWrap. (node:internal/modules/esm/module_job:87:39)
2024-06-08 01:39:08 at link (node:internal/modules/esm/module_job:86:36) {
2024-06-08 01:39:08 code: 'ERR_UNSUPPORTED_DIR_IMPORT',
2024-06-08 01:39:08 url: 'file:///app/.migpt.js'
2024-06-08 01:39:08 }
2024-06-08 01:39:08
2024-06-08 01:39:08 Node.js v20.14.0
微信截图_20240608014953

你只说了怎么部署,没说怎么使用呀。

你只说了怎么部署,没说怎么使用呀。设置好账号,apikey以后怎么使用呢?怎么绑定到小米音箱上?麻烦您稍微把教程完善一下,谢谢!还有就是能不能把kimi和deepseek这种ai接进来,毕竟token便宜,效果也不差。。。

请问说话中如何打断

接入了免费的通义千问的1.8b,不知道为啥这模型主人会自己回复,AI一直巴拉巴拉说话说了几分钟断不了

一直提示LLM 响应异常,换了几个模型都报错

你好,帮忙看下为啥一直出现这个错误

2024-06-07 13:45:45 2024/06/07 05:45:45 Speaker ✅ 服务已启动...
2024-06-07 13:46:00 2024/06/07 05:46:00 Speaker 🔥 召唤傻妞
2024-06-07 13:46:01 2024/06/07 05:46:01 Speaker 🔊 你好,我是傻妞,很高兴认识你
2024-06-07 13:46:09 2024/06/07 05:46:09 Speaker 🔥 你在做什么
2024-06-07 13:46:09 2024/06/07 05:46:09 Speaker 🔊 让我先想想
2024-06-07 13:47:17 2024/06/07 05:47:17 Open AI ❌ LLM 响应异常 APIConnectionError: Connection error.
2024-06-07 13:47:17 at OpenAI.makeRequest (/app/node_modules/.pnpm/[email protected]/node_modules/openai/core.js:292:19)
2024-06-07 13:47:17 at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
2024-06-07 13:47:17 at async OpenAIClient.chatStream (/app/dist/index.cjs:1147:20) {
2024-06-07 13:47:17 status: undefined,
2024-06-07 13:47:17 headers: undefined,
2024-06-07 13:47:17 request_id: undefined,
2024-06-07 13:47:17 error: undefined,
2024-06-07 13:47:17 code: undefined,
2024-06-07 13:47:17 param: undefined,
2024-06-07 13:47:17 type: undefined,
2024-06-07 13:47:17 cause: FetchError: request to https://api.openai.com/v1/chat/completions failed, reason: connect ECONNREFUSED 108.160.169.37:443
2024-06-07 13:47:17 at ClientRequest. (/app/node_modules/.pnpm/[email protected]/node_modules/node-fetch/lib/index.js:1501:11)
2024-06-07 13:47:17 at ClientRequest.emit (node:events:519:28)
2024-06-07 13:47:17 at TLSSocket.socketErrorListener (node:_http_client:500:9)
2024-06-07 13:47:17 at TLSSocket.emit (node:events:531:35)
2024-06-07 13:47:17 at emitErrorNT (node:internal/streams/destroy:169:8)
2024-06-07 13:47:17 at emitErrorCloseNT (node:internal/streams/destroy:128:3)
2024-06-07 13:47:17 at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
2024-06-07 13:47:17 type: 'system',
2024-06-07 13:47:17 errno: 'ECONNREFUSED',
2024-06-07 13:47:17 code: 'ECONNREFUSED'
2024-06-07 13:47:17 }
2024-06-07 13:47:17 }
2024-06-07 13:47:17 2024/06/07 05:47:17 Speaker 🔊 啊哦,出错了,请稍后再试吧!

采用了node方式启动项目,在新建的项目根目录下放了修改后的`.env`和`.migpt.js`文件,但是仍然报错提示Missing userId or password.

D:\document\Github\mi-gpt-2> node main.js
2024/06/03 01:33:07 MiGPT ❌ Missing userId or password.
file:///D:/document/Github/mi-gpt-2/node_modules/.pnpm/[email protected]/node_modules/mi-gpt/dist/index.js:231
throw Error("\u274C Assertion failed");
^

Error: ❌ Assertion failed
at _LoggerManager.assert (file:///D:/document/Github/mi-gpt-2/node_modules/.pnpm/[email protected]/node_modules/mi-gpt/dist/index.js:231:13)
at __Logger.assert (file:///D:/document/Github/mi-gpt-2/node_modules/.pnpm/[email protected]/node_modules/mi-gpt/dist/index.js:268:19)
at _MiGPT.create (file:///D:/document/Github/mi-gpt-2/node_modules/.pnpm/[email protected]/node_modules/mi-gpt/dist/index.js:2266:19)
at main (file:///D:/document/Github/mi-gpt-2/main.js:4:24)
at file:///D:/document/Github/mi-gpt-2/main.js:14:1
at ModuleJob.run (node:internal/modules/esm/module_job:218:25)
at async ModuleLoader.import (node:internal/modules/esm/loader:329:24)
at async loadESM (node:internal/process/esm_loader:34:7)
at async handleMainPromise (node:internal/modules/run_main:113:12)

code: 101, message: 'ubus server or device returned invalid result'

请教下这个是什么原因?

2024/06/06 15:05:33 Speaker 🔥 召唤路吧
2024/06/06 15:05:33 Speaker 🔊 你好,我是璐宝,很高兴认识你
_callMina failed {

code: 101,
message: 'ubus server or device returned invalid result',

{
device_data: '{"msg":"ROM端未响应","code":3012}',
reqID: 'f597b48a-492a-49c9-a5ea-2c4bc1ee254e'
}
}

Open AI ❌ LLM 响应异常 NotFoundError: 404 "Not Found"

问问题的时候报错:

/ $$      /$$ /$$   /$$$$$$  /$$$$$$$ /$$$$$$$$$
| $$$    /$$$|__/ /$$__  $$| $$__  $$|__  $$__/
| $$$$  /$$$$ /$$| $$  \__/| $$  \ $$   | $$
| $$ $$/$$ $$| $$| $$ /$$$$| $$$$$$$/   | $$
| $$  $$$| $$| $$| $$|_  $$| $$____/    | $$
| $$\  $ | $$| $$| $$  \ $$| $$         | $$
| $$ \/  | $$| $$|  $$$$$$/| $$         | $$
|__/     |__/|__/ \______/ |__/         |__/

         MiGPT v3.0.1  by: del.wang


2024/06/08 01:29:12 Speaker ✅ 服务已启动...
2024/06/08 01:29:22 Speaker 🔥 请问明天天气如何
2024/06/08 01:29:23 Speaker 🔊 请稍等
2024/06/08 01:29:27 Open AI ❌ LLM 响应异常 NotFoundError: 404 "Not Found"
    at APIError.generate (D:\workspace\mi-gpt\node_modules\.pnpm\[email protected]\node_modules\openai\error.js:54:20)
    at OpenAI.makeStatusError (D:\workspace\mi-gpt\node_modules\.pnpm\[email protected]\node_modules\openai\core.js:263:33)
    at OpenAI.makeRequest (D:\workspace\mi-gpt\node_modules\.pnpm\[email protected]\node_modules\openai\core.js:306:30)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async OpenAIClient.chatStream (D:\workspace\mi-gpt\dist\index.cjs:1145:20) {
  status: 404,
  headers: {
    'access-control-allow-credentials': 'true',
    'access-control-allow-headers': 'Content-Type,Authorization,x-xsrf-token,x-platform,X-PLATFORM',
    'access-control-allow-methods': 'GET,POST, OPTIONS',
    'access-control-max-age': '86400',
    'cache-control': 'no-cache, no-store, max-age=0, must-revalidate',
    connection: 'keep-alive',
    'content-encoding': 'gzip',
    'content-type': 'application/json',
    date: 'Fri, 07 Jun 2024 17:29:27 GMT',
    expires: '0',
    pragma: 'no-cache',
    'req-arrive-time': '1717781367463',
    'req-cost-time': '9',
    'resp-start-time': '1717781367473',
    server: 'istio-envoy',
    'set-cookie': 'XSRF-TOKEN=54108ebc-c0ba-4d86-8830-1b97a2dbb423; Path=/',
    'transfer-encoding': 'chunked',
    vary: 'Accept-Encoding,Origin,Access-Control-Request-Method,Access-Control-Request-Headers',
    'x-content-type-options': 'nosniff',
    'x-envoy-upstream-service-time': '9',
    'x-frame-options': 'SAMEORIGIN',
    'x-xss-protection': '1; mode=block'
  },
  request_id: undefined,
  error: 'Not Found',
  code: undefined,
  param: undefined,
  type: undefined
}
2024/06/08 01:29:27 Speaker 🔊 啊哦,出错了,请稍后再试吧!

是因为没有识别env配置文件吗?

但是已经按照readme中的下面说明做了配置了

Q:我 Clone 了这个仓库,但是本地启动失败

如果你是通过 clone 本项目仓库的方式来运行,记得在 start 之前先 build 一下。

pnpm install && pnpm build && pnpm start
另外, start 命令默认没有注入 .env 文件里的环境变量。你可以在 VS Code 里按 F5 直接运行,会自动读取 .env ,或者将启动脚本改为:

node --env-file=.env app.js

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.