|
|
@ -24,6 +24,7 @@
|
|
|
|
- [测试环境运行](#测试环境运行)
|
|
|
|
- [测试环境运行](#测试环境运行)
|
|
|
|
- [后端服务](#后端服务)
|
|
|
|
- [后端服务](#后端服务)
|
|
|
|
- [前端网页](#前端网页)
|
|
|
|
- [前端网页](#前端网页)
|
|
|
|
|
|
|
|
- [环境变量](#环境变量)
|
|
|
|
- [打包](#打包)
|
|
|
|
- [打包](#打包)
|
|
|
|
- [使用 Docker](#使用-docker)
|
|
|
|
- [使用 Docker](#使用-docker)
|
|
|
|
- [Docker 参数示例](#docker-参数示例)
|
|
|
|
- [Docker 参数示例](#docker-参数示例)
|
|
|
@ -52,12 +53,11 @@
|
|
|
|
2. `ChatGPTUnofficialProxyAPI` 使用非官方代理服务器访问 `ChatGPT` 的后端`API`,绕过`Cloudflare`(使用真实的的`ChatGPT`,非常轻量级,但依赖于第三方服务器,并且有速率限制)
|
|
|
|
2. `ChatGPTUnofficialProxyAPI` 使用非官方代理服务器访问 `ChatGPT` 的后端`API`,绕过`Cloudflare`(使用真实的的`ChatGPT`,非常轻量级,但依赖于第三方服务器,并且有速率限制)
|
|
|
|
|
|
|
|
|
|
|
|
警告:
|
|
|
|
警告:
|
|
|
|
1. 你应该使用 `API` 方式并自建代理使你使用的风险降到最低。
|
|
|
|
1. 你应该首先使用 `API` 方式
|
|
|
|
2. 使用 `accessToken` 方式时反向代理将向第三方暴露您的访问令牌。这样做应该不会产生任何不良影响,但在使用这种方法之前请考虑风险,修改代理地址时也请使用公开的[社区方案](https://github.com/transitive-bullshit/chatgpt-api#reverse-proxy),不要不要不要使用来源不明的地址!
|
|
|
|
2. 使用 `API` 时,如果网络不通,那是国内被墙了,你需要自建代理,绝对不要使用别人的公开代理,那是危险的。
|
|
|
|
2. 因为国内 `API` 被墙,如果服务器不在国外,则需要代理才能请求到官方接口,也非常不建议使用别人发出来的代理地址,请自己搭建。
|
|
|
|
3. 使用 `accessToken` 方式时反向代理将向第三方暴露您的访问令牌,这样做应该不会产生任何不良影响,但在使用这种方法之前请考虑风险。
|
|
|
|
3. 人性是丑陋的,你永远不知道你相信的某些乐于分享的`好人`在用你的账号做什么!!!
|
|
|
|
4. 使用 `accessToken` 时,不管你是国内还是国外的机器,都会使用代理。默认代理为 [acheong08](https://github.com/acheong08) 大佬的 `https://bypass.duti.tech/api/conversation`,这不是后门也不是监听,除非你有能力自己翻过 `CF` 验证,用前请知悉。[社区代理](https://github.com/transitive-bullshit/chatgpt-api#reverse-proxy)(注意:只有这两个是推荐,其他第三方来源,请自行甄别)
|
|
|
|
|
|
|
|
5. 把项目发布到公共网络时,你应该设置 `AUTH_SECRET_KEY` 变量添加你的密码访问权限,你也应该修改 `index.html` 中的 `title`,防止被关键词搜索到。
|
|
|
|
注:强烈建议使用`ChatGPTAPI`,因为它使用 `OpenAI` 官方支持的`API`。并且可能会在将来的版本中删除对`ChatGPTUnofficialProxyAPI`的支持。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
切换方式:
|
|
|
|
切换方式:
|
|
|
|
1. 进入 `service/.env.example` 文件,复制内容到 `service/.env` 文件
|
|
|
|
1. 进入 `service/.env.example` 文件,复制内容到 `service/.env` 文件
|
|
|
@ -65,18 +65,9 @@
|
|
|
|
3. 使用 `Web API` 请填写 `OPENAI_ACCESS_TOKEN` 字段 [(获取 accessToken)](https://chat.openai.com/api/auth/session)
|
|
|
|
3. 使用 `Web API` 请填写 `OPENAI_ACCESS_TOKEN` 字段 [(获取 accessToken)](https://chat.openai.com/api/auth/session)
|
|
|
|
4. 同时存在时以 `OpenAI API Key` 优先
|
|
|
|
4. 同时存在时以 `OpenAI API Key` 优先
|
|
|
|
|
|
|
|
|
|
|
|
反向代理:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
`ChatGPTUnofficialProxyAPI`时可用,[详情](https://github.com/transitive-bullshit/chatgpt-api#reverse-proxy)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
|
|
|
# service/.env
|
|
|
|
|
|
|
|
API_REVERSE_PROXY=
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
环境变量:
|
|
|
|
环境变量:
|
|
|
|
|
|
|
|
|
|
|
|
全部参数变量请查看或[这里](#docker-参数示例)
|
|
|
|
全部参数变量请查看或[这里](#环境变量)
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
```
|
|
|
|
/service/.env
|
|
|
|
/service/.env
|
|
|
@ -163,23 +154,33 @@ pnpm start
|
|
|
|
pnpm dev
|
|
|
|
pnpm dev
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 打包
|
|
|
|
## 环境变量
|
|
|
|
|
|
|
|
|
|
|
|
### 使用 Docker
|
|
|
|
`API` 可用:
|
|
|
|
|
|
|
|
|
|
|
|
#### Docker 参数示例
|
|
|
|
- `OPENAI_API_KEY` 和 `OPENAI_ACCESS_TOKEN` 二选一
|
|
|
|
|
|
|
|
- `OPENAI_API_MODEL` 设置模型,可选,默认:`gpt-3.5-turbo`
|
|
|
|
|
|
|
|
- `OPENAI_API_BASE_URL` 设置接口地址,可选,默认:`https://api.openai.com`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
`ACCESS_TOKEN` 可用:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- `OPENAI_ACCESS_TOKEN` 和 `OPENAI_API_KEY` 二选一,同时存在时,`OPENAI_API_KEY` 优先
|
|
|
|
|
|
|
|
- `API_REVERSE_PROXY` 设置反向代理,可选,默认:`https://bypass.duti.tech/api/conversation`,[社区](https://github.com/transitive-bullshit/chatgpt-api#reverse-proxy)(注意:只有这两个是推荐,其他第三方来源,请自行甄别)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
通用:
|
|
|
|
|
|
|
|
|
|
|
|
- `OPENAI_API_KEY` 二选一
|
|
|
|
|
|
|
|
- `OPENAI_ACCESS_TOKEN` 二选一,同时存在时,`OPENAI_API_KEY` 优先
|
|
|
|
|
|
|
|
- `OPENAI_API_BASE_URL` 可选,设置 `OPENAI_API_KEY` 时可用
|
|
|
|
|
|
|
|
- `OPENAI_API_MODEL` 可选,设置 `OPENAI_API_KEY` 时可用
|
|
|
|
|
|
|
|
- `API_REVERSE_PROXY` 可选,设置 `OPENAI_ACCESS_TOKEN` 时可用 [参考](#介绍)
|
|
|
|
|
|
|
|
- `AUTH_SECRET_KEY` 访问权限密钥,可选
|
|
|
|
- `AUTH_SECRET_KEY` 访问权限密钥,可选
|
|
|
|
- `TIMEOUT_MS` 超时,单位毫秒,可选
|
|
|
|
- `TIMEOUT_MS` 超时,单位毫秒,可选
|
|
|
|
- `SOCKS_PROXY_HOST` 可选,和 SOCKS_PROXY_PORT 一起时生效
|
|
|
|
- `SOCKS_PROXY_HOST` 和 `SOCKS_PROXY_PORT` 一起时生效,可选
|
|
|
|
- `SOCKS_PROXY_PORT` 可选,和 SOCKS_PROXY_HOST 一起时生效
|
|
|
|
- `SOCKS_PROXY_PORT` 和 `SOCKS_PROXY_HOST` 一起时生效,可选
|
|
|
|
- `HTTPS_PROXY` 可选,支持 http,https, socks5
|
|
|
|
- `HTTPS_PROXY` 支持 `http`,`https`, `socks5`,可选
|
|
|
|
- `ALL_PROXY` 可选,支持 http,https, socks5
|
|
|
|
- `ALL_PROXY` 支持 `http`,`https`, `socks5`,可选
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 打包
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 使用 Docker
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### Docker 参数示例
|
|
|
|
|
|
|
|
|
|
|
|
![docker](./docs/docker.png)
|
|
|
|
![docker](./docs/docker.png)
|
|
|
|
|
|
|
|
|
|
|
|