chatgpt-web/README.md

102 lines
1.8 KiB
Markdown
Raw Normal View History

2023-02-09 02:51:19 -05:00
# ChatGPT Web Bot
2023-02-08 22:21:33 -05:00
2023-02-11 21:34:51 -05:00
使用 express 和 vue3 搭建的 ChartGPT 演示网页
2023-02-09 02:48:27 -05:00
2023-02-13 03:35:58 -05:00
![cover](./docs/cover-2.png)
2023-02-09 02:48:27 -05:00
2023-02-13 03:29:51 -05:00
## Route Map
[x] 多会话
2023-02-11 21:34:51 -05:00
2023-02-13 03:29:51 -05:00
[x] 多语言
[x] 主题
[x] 用户模块
[x] More...
## 前置要求
### Node
`node` 版本需要 >= 18使用 [nvm](https://github.com/nvm-sh/nvm) 可管理本地多个 `node` 版本
```shell
node -v
```
### PNPM
2023-02-11 21:34:51 -05:00
如果你没有安装过 `pnpm`
2023-02-09 03:48:21 -05:00
```shell
npm install pnpm -g
```
2023-02-13 03:29:51 -05:00
### OpenAI API KEy
获取 [OpenAI API key](https://platform.openai.com/overview) 并填写到本地环境变量
```
# service/.env 文件
OPENAI_API_KEY='Your key'
```
## 安装依赖
> 为了简便 `后端开发人员` 的了解负担,所以并没有采用前端 `workspace` 模式,而是分文件夹存放。如果只需要前端页面做二次开发,删除 `service` 文件夹即可。
### 后端服务
进入文件夹 `/service` 运行以下命令
2023-02-09 02:57:39 -05:00
```shell
pnpm install
```
2023-02-13 03:29:51 -05:00
### 网页
根目录下运行以下命令
```shell
pnpm bootstrap
2023-02-09 02:57:39 -05:00
```
2023-02-13 03:29:51 -05:00
## 运行
### 后端服务
进入文件夹 `/service` 运行以下命令
```shell
pnpm start
2023-02-09 02:57:39 -05:00
```
2023-02-13 03:29:51 -05:00
### 网页
根目录下运行以下命令
2023-02-09 02:48:27 -05:00
```shell
2023-02-13 03:29:51 -05:00
pnpm dev
2023-02-09 02:57:39 -05:00
```
2023-02-09 02:48:27 -05:00
2023-02-13 03:29:51 -05:00
## 打包
### 后端服务
> 如果你不需要本项目的 `node` 接口,可以省略如下操作
复制 `service` 文件夹到你有 `node` 服务环境的服务器上。(搜索关键字:`express部署`
操作上述 `安装``运行` 服务。
### 网页
根目录下运行以下命令,然后将 `dist` 文件夹复制到你的托管服务器上
2023-02-09 02:57:39 -05:00
```shell
2023-02-13 03:29:51 -05:00
pnpm build
2023-02-09 02:48:27 -05:00
```
2023-02-13 03:29:51 -05:00
### 常见问题
Q: 如果只使用前端页面,在哪里改请求接口?
A: 根目录下 `.env` 文件中的 `VITE_GLOB_API_URL` 字段。
2023-02-13 03:32:28 -05:00
Q: 文件保存时全部爆红?
2023-02-13 03:29:51 -05:00
2023-02-13 03:32:28 -05:00
A: `vscode` 请安装项目推荐插件,或手动安装 `Eslint` 插件。
2023-02-13 03:29:51 -05:00
2023-02-09 02:48:27 -05:00
## License
MIT © [ChenZhaoYu](./license)