From 2dc7ba30dde8a9fd4da4a8cf7f59fcead95f4098 Mon Sep 17 00:00:00 2001 From: WJG Date: Mon, 10 Jun 2024 17:55:00 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=B7=BB=E5=8A=A0=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E5=BC=80=E5=8F=91=E7=9B=B8=E5=85=B3=E6=95=99=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/development.md | 62 ++++++++++++++++++++++++++++++++++++++++++++- docs/faq.md | 14 ---------- docs/todo.md | 2 +- package.json | 1 + 4 files changed, 63 insertions(+), 16 deletions(-) diff --git a/docs/development.md b/docs/development.md index 10e6ec2..4cee47c 100644 --- a/docs/development.md +++ b/docs/development.md @@ -1,3 +1,63 @@ # 🛠️ 本地开发 -整理中,稍后更新。 \ No newline at end of file +如果你想要修改代码,本地调试开发 `MiGPT` 可以参考以下教程。 + +## 初始化 + +```shell +# 克隆项目到本地 +git clone https://github.com/idootop/mi-gpt.git +cd mi-gpt + +# 安装依赖 +pnpm install + +# 构建项目 +pnpm build +``` + +然后按照 [⚙️ 参数设置](https://github.com/idootop/mi-gpt/blob/main/docs/settings.md) 教程,配置好你的 `.env` 和 `.migpt.js` 文件。 + +## 运行 + +有两种运行方式:VS Code Debug 或 NPM Script: + +- **NPM Script**: 配置好 `.env` 和 `.migpt.js` 后直接使用 `pnpm run dev` 启动 `MiGPT`。 +- **VScode Debug**:使用 VS Code 打开项目根目录,然后按 `F5` 开始调试 `MiGPT`。注意,启动前请在 `tests/migpt.ts` 文件中配置 `MiGPT` 相关参数。 + +> 本项目默认在 Node 20 中运行,如果你的 Node 版本过低可能无法正常启动本项目。 + +## 构建 Docker 镜像 + +此项目默认支持 `linux/amd64`, `linux/arm64` 和 `linux/arm32/v7`,可使用以下命令构建指定平台的镜像: + +```shell +docker build --platform linux/arm/v7 -t mi-gpt . +``` + +运行构建后的 docker + +```shell +docker run --env-file $(pwd)/.env -v $(pwd)/.migpt.js:/app/.migpt.js mi-gpt +``` + +## 常见问题 + +### 提示找不到 bot,项目启动失败 + +这是由于重建了本地数据库,导致本地映射记录不匹配。运行以下命令修复: + +```shell +pnpm run db:reset +``` + +或者手动删除以下文件,重新运行即可恢复: + +- .mi.json +- .bot.json +- prisma/app.db +- prisma/app.db-journal + +### 提示初始化 Mi Service 失败 + +请检查你的小米 ID 和密码配置是否正确和生效,可在 VS Code 中下断点调试。 \ No newline at end of file diff --git a/docs/faq.md b/docs/faq.md index 69d6b9f..09a5839 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -106,20 +106,6 @@ docker run -d --env-file %cd%\.env ^ -### Q:我 Clone 了这个仓库,但是本地启动失败 - -如果你是通过 clone 本项目仓库的方式来运行,记得在 `start` 之前先 `build` 一下。 - -```shell -pnpm install && pnpm build && pnpm start -``` - -另外, `start` 命令默认没有注入 `.env` 文件里的环境变量。你可以在 VS Code 里按 F5 直接运行,会自动读取 `.env` ,或者将启动脚本改为: - -```shell -node --env-file=.env app.js -``` - ### Q:怎样使用豆包的音色 此功能需要豆包 TTS 接口支持,本项目暂不对外提供此服务。 diff --git a/docs/todo.md b/docs/todo.md index af15784..534e51a 100644 --- a/docs/todo.md +++ b/docs/todo.md @@ -21,7 +21,7 @@ - 优化找不到小爱设备的提示文案以及 FAQ 教程。https://github.com/idootop/mi-gpt/issues/28#issuecomment-2153645819 - 添加关于唤醒小爱、唤醒词、唤醒模式的说明和注意事项。 - ✅ 添加关于 clone 项目本地运行的相关配置教程。 -- 添加关于本地构建本项目 docker 镜像的说明。 +- ✅ 添加关于本地构建本项目 docker 镜像的说明。 - 添加关于 playingCommand 的详细说明,默认不需要配置。 - 添加常见小爱音箱型号的支持情况和参数列表。 - 添加关于 clone 项目本地运行提示找不到 bot 的相关说明。 diff --git a/package.json b/package.json index 66caf4e..5345421 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ ], "scripts": { "start": "node ./app.js", + "dev": "node --env-file=.env ./app.js", "build": "npx -y prisma generate && tsup", "db:gen": "npx -y prisma migrate dev --name init", "db:reset": "rm -f .mi.json .bot.json prisma/app.db prisma/app.db-journal",