Skip to content

Commit

Permalink
release: v1.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
idootop committed May 18, 2024
1 parent b88aa35 commit b6f8946
Show file tree
Hide file tree
Showing 7 changed files with 1,818 additions and 1,480 deletions.
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
LICENSE
TODO.md
README.md
CHANGELOG.md
**/.bot.json
**/.mi.json
**/.migpt.js*
Expand Down
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# v1.1.0

- 新增 Arm64 Docker 镜像
- 替换 Yarn 包管理工具为 Pnpm

# v1.0.0

- 支持人物设定
- 支持连续对话
- 支持流式响应
- 支持长短期记忆
- 支持更换音色
- 支持自定义音效和唤醒词等设置

70 changes: 16 additions & 54 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,67 +1,29 @@
# syntax=docker/dockerfile:1

# Comments are provided throughout this file to help you get started.
# If you need more help, visit the Dockerfile reference guide at
# https://docs.docker.com/engine/reference/builder/
# base
FROM node:20.13.1-alpine as base

ARG NODE_VERSION=18.18.2
WORKDIR /app

################################################################################
# Use node image for base image for all stages.
FROM node:${NODE_VERSION}-alpine as base
# build
FROM base as build

# Set working directory for all build stages.
WORKDIR /usr/src/app
RUN --mount=type=cache,target=/root/.npm \
npm install -g [email protected]


################################################################################
# Create a stage for installing production dependecies.
FROM base as deps

# Download dependencies as a separate step to take advantage of Docker's caching.
# Leverage a cache mount to /root/.yarn to speed up subsequent builds.
# Leverage bind mounts to package.json and yarn.lock to avoid having to copy them
# into this layer.
RUN --mount=type=bind,source=package.json,target=package.json \
--mount=type=bind,source=yarn.lock,target=yarn.lock \
--mount=type=cache,target=/root/.yarn \
yarn install --production --frozen-lockfile

################################################################################
# Create a stage for building the application.
FROM deps as build

# Download additional development dependencies before building, as some projects require
# "devDependencies" to be installed to build. If you don't need this, remove this step.
RUN --mount=type=bind,source=package.json,target=package.json \
--mount=type=bind,source=yarn.lock,target=yarn.lock \
--mount=type=cache,target=/root/.yarn \
yarn install --frozen-lockfile

# Copy the rest of the source files into the image.
COPY . .
# Run the build script.
RUN yarn run build

################################################################################
# Create a new stage to run the application with minimal runtime dependencies
# where the necessary files are copied from the build stage.
FROM base as final
RUN --mount=type=cache,target=/root/.local/share/pnpm/store \
pnpm install && pnpm build

# Use production node environment by default.
ENV NODE_ENV production
# run
FROM base

# Copy package.json so that package manager commands can be used.
COPY package.json .

# Copy the production dependencies from the deps stage and also
# the built application from the build stage into the image.
COPY --from=deps /usr/src/app/node_modules ./node_modules
COPY --from=build /usr/src/app/dist ./dist
COPY --from=build /usr/src/app/scripts ./scripts
COPY --from=build /usr/src/app/prisma ./prisma
COPY --from=build /usr/src/app/node_modules/@prisma/client/ ./node_modules/@prisma/client/
COPY --from=build /usr/src/app/node_modules/.prisma/client/ ./node_modules/.prisma/client/
COPY --from=build /app/dist ./dist
COPY --from=build /app/scripts ./scripts
COPY --from=build /app/prisma ./prisma
COPY --from=build /app/node_modules ./node_modules

# Run the application.
CMD yarn start
CMD npm run start
12 changes: 4 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# MiGPT:智能家居,从未如此贴心 ❤️

[![NPM Version](https://badgen.net/npm/v/mi-gpt)](https://www.npmjs.com/package/mi-gpt) [![Docker Image Version](https://img.shields.io/docker/v/idootop/mi-gpt?color=%23086DCD&label=docker%20image)](https://hub.docker.com/r/idootop/mi-gpt)
[![npm version](https://badge.fury.io/js/mi-gpt.svg)](https://www.npmjs.com/package/mi-gpt) [![Docker Image Version](https://img.shields.io/docker/v/idootop/mi-gpt?color=%23086DCD&label=docker%20image)](https://hub.docker.com/r/idootop/mi-gpt)

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

Expand Down Expand Up @@ -35,8 +35,8 @@

```shell
docker run -d --env-file $(pwd)/.env \
-v $(pwd)/.migpt.js:/usr/src/app/.migpt.js \
idootop/mi-gpt:1.0.0
-v $(pwd)/.migpt.js:/app/.migpt.js \
idootop/mi-gpt:latest
```

#### ⭐️ NPM
Expand Down Expand Up @@ -135,14 +135,10 @@ main();

其他未声明的配置参数与使用方法,请自行查阅源代码。

**Q:我还有其他问题想问,怎么联系你?**
**Q:我还有其他问题**

请提交 [issue](https://github.com/idootop/mi-gpt/issues)

**Q:这个项目太棒了,为你点赞 👍**

Enjoy it!

## 🚨 免责声明

本项目旨在分享学习大型语言模型(LLM)智能对话及智能家居自动化相关知识,严禁用于任何商业目的或违反所在地区的法律法规。使用者须知悉,本项目代码可能存在未知的缺陷或风险,因使用本项目引起的任何形式的损失或损害(包括但不限于设备故障、账户被禁等),使用者需自行承担全部责任。
Expand Down
10 changes: 4 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "mi-gpt",
"version": "1.0.0",
"version": "1.1.0",
"type": "module",
"description": "将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。",
"license": "MIT",
Expand All @@ -10,18 +10,16 @@
"url": "https://github.com/idootop"
},
"keywords": [
"GPT",
"ChatGPT",
"mi",
"xiaomi",
"xiaoai",
"mi-home",
"ChatGPT",
"home-assistant"
],
"scripts": {
"build": "yarn prisma generate && tsup",
"start": "node ./scripts/runner.js",
"db:gen": "yarn prisma migrate dev --name init",
"build": "pnpm prisma generate && tsup",
"db:gen": "pnpm prisma migrate dev --name init",
"db:reset": "rm -f .mi.json .bot.json prisma/app.db prisma/app.db-journal"
},
"dependencies": {
Expand Down
Loading

0 comments on commit b6f8946

Please sign in to comment.