2023-04-05 16:41:44 +00:00
< div align = "center" >
2023-04-05 20:11:12 +00:00
< img src = "./docs/images/icon.svg" alt = "预览" / >
2023-04-05 16:41:44 +00:00
< h1 align = "center" > ChatGPT Next Web< / h1 >
一键免费部署你的私人 ChatGPT 网页应用。
[演示 Demo ](https://chat-gpt-next-web.vercel.app/ ) / [反馈 Issues ](https://github.com/Yidadaa/ChatGPT-Next-Web/issues ) / [加入 Discord ](https://discord.gg/zrhvHCr79N ) / [QQ 群 ](https://user-images.githubusercontent.com/16968934/228190818-7dd00845-e9b9-4363-97e5-44c507ac76da.jpeg ) / [打赏开发者 ](https://user-images.githubusercontent.com/16968934/227772541-5bcd52d8-61b7-488c-a203-0330d8006e2b.jpg ) / [Donate ](#捐赠-donate-usdt )
[![Deploy with Vercel ](https://vercel.com/button )](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FYidadaa%2FChatGPT-Next-Web& env=OPENAI_API_KEY& env=CODE& project-name=chatgpt-next-web& repository-name=ChatGPT-Next-Web)
[![Open in Gitpod ](https://gitpod.io/button/open-in-gitpod.svg )](https://gitpod.io/#https://github.com/Yidadaa/ChatGPT-Next-Web)
![主界面 ](./static/cover.png )
< / div >
## 主要功能
- 在 1 分钟内使用 Vercel **免费一键部署**
- 精心设计的 UI, 响应式设计, 支持深色模式
- 极快的首屏加载速度(~100kb)
- 海量的内置 prompt 列表,来自[中文](https://github.com/PlexPt/awesome-chatgpt-prompts-zh)和[英文](https://github.com/f/awesome-chatgpt-prompts)
- 自动压缩上下文聊天记录,在节省 Token 的同时支持超长对话
- 一键导出聊天记录,完整的 Markdown 支持
- 拥有自己的域名?好上加好,绑定后即可在任何地方**无障碍**快速访问
## 开始使用
1. 准备好你的 [OpenAI API Key ](https://platform.openai.com/account/api-keys );
2. 点击右侧按钮开始部署:
[![Deploy with Vercel ](https://vercel.com/button )](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FYidadaa%2FChatGPT-Next-Web& env=OPENAI_API_KEY& env=CODE& project-name=chatgpt-next-web& repository-name=ChatGPT-Next-Web),直接使用 Github 账号登录即可,记得在环境变量页填入 API Key;
3. 部署完毕后,即可开始使用;
4. (可选)[绑定自定义域名](https://vercel.com/docs/concepts/projects/domains/add-a-domain): Vercel 分配的域名 DNS 在某些区域被污染了,绑定自定义域名即可直连。
## 保持更新
如果你按照上述步骤一键部署了自己的项目,可能会发现总是提示“存在更新”的问题,这是由于 Vercel 会默认为你创建一个新项目而不是 fork 本项目,这会导致无法正确地检测更新。
推荐你按照下列步骤重新部署:
- 删除掉原先的 repo;
- fork 本项目;
- 前往 vercel 控制台,删除掉原先的 project, 然后新建 project, 选择你刚刚 fork 出来的项目重新进行部署即可;
- 在重新部署的过程中,请手动添加名为 `OPENAI_API_KEY` 的环境变量,并填入你的 api key 作为值。
本项目会持续更新,当你 Fork 项目之后,默认会每天自动同步上游代码,无需额外操作。
如果你想让手动立即更新,可以查看 [Github 的文档 ](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork ) 了解如何让 fork 的项目与上游代码同步。
你可以 star/watch 本项目或者 follow 作者来及时获得新功能更新通知。
## 配置页面访问密码
> 配置密码后,用户需要在设置页手动填写访问码才可以正常聊天,否则会通过消息提示未授权状态。
本项目提供有限的权限控制功能,请在 Vercel 项目控制面板的环境变量页增加名为 `CODE` 的环境变量,值为用英文逗号分隔的自定义密码:
```
code1,code2,code3
```
增加或修改该环境变量后,请**重新部署**项目使改动生效。
## 环境变量
> 本项目大多数配置项都通过环境变量来设置。
### `OPENAI_API_KEY` (必填项)
OpanAI 密钥,你在 openai 账户页面申请的 api key。
### `CODE` (可选)
访问密码,可选,可以使用逗号隔开多个密码。
**警告**:如果不填写此项,则任何人都可以直接使用你部署后的网站,可能会导致你的 token 被急速消耗完毕,建议填写此选项。
### `BASE_URL` (可选)
> Default: `api.openai.com`
OpenAI 接口代理 URL, 如果你手动配置了 openai 接口代理,请填写此选项。
### `PROTOCOL` (可选)
> Default: `https`
> Values: `http` | `https`
OpenAI 代理接口协议,如果遇到 ssl 证书问题,请尝试通过此选项设置为 http。
## 开发
> 强烈不建议在本地进行开发或者部署,由于一些技术原因,导致很难在本地配置好 OpenAI API 代理,除非你能保证可以直。连 OpenAI 服务器
点击下方按钮,开始二次开发:
[![Open in Gitpod ](https://gitpod.io/button/open-in-gitpod.svg )](https://gitpod.io/#https://github.com/Yidadaa/ChatGPT-Next-Web)
在开始写代码之前,需要在项目根目录新建一个 `.env.local` 文件,里面填入环境变量:
```
OPENAI_API_KEY=< your api key here >
```
### 本地开发
1. 安装 nodejs 和 yarn, 具体细节请询问 ChatGPT;
2. 执行 `yarn install && yarn dev` 即可。
## 部署
### 容器部署 (推荐)
> 注意: docker 版本在大多数时间都会落后最新的版本 1 到 2 天,所以部署后会持续出现“存在更新”的提示,属于正常现象。
```shell
docker pull yidadaa/chatgpt-next-web
docker run -d -p 3000:3000 -e OPENAI_API_KEY="" -e CODE="" yidadaa/chatgpt-next-web
```
### 本地部署
在控制台运行下方命令:
```shell
bash < (curl -s https://raw.githubusercontent.com/Yidadaa/ChatGPT-Next-Web/main/scripts/setup.sh)
```
## 鸣谢
### 捐赠者
> 仅列出了部分大额打赏,小额打赏(< 100RMB) 人数太多, 在此不再列出, 敬请谅解。
[@mushan0x0 ](https://github.com/mushan0x0 )
[@ClarenceDan ](https://github.com/ClarenceDan )
[@zhangjia ](https://github.com/zhangjia )
[@hoochanlon ](https://github.com/hoochanlon )
### 贡献者
[见项目贡献者列表 ](https://github.com/Yidadaa/ChatGPT-Next-Web/graphs/contributors )
## 开源协议
> 反对 996, 从我开始。
[Anti 996 License ](https://github.com/kattgu7/Anti-996-License/blob/master/LICENSE_CN_EN )