diff --git a/README.md b/README.md index 40386a00..5b479942 100644 --- a/README.md +++ b/README.md @@ -1,32 +1,22 @@
-预览 +icon

ChatGPT Next Web

-一键免费部署你的私人 ChatGPT 网页应用。 - One-Click to deploy your own ChatGPT web UI. -[演示 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) +一键免费部署你的私人 ChatGPT 网页应用。 + +[演示 Demo](https://chat-gpt-next-web.vercel.app/) / [反馈 Issues](https://github.com/Yidadaa/ChatGPT-Next-Web/issues) / [Join 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) [![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) +![cover](./static/cover.png)
-## 主要功能 - -- 在 1 分钟内使用 Vercel **免费一键部署** -- 精心设计的 UI,响应式设计,支持深色模式 -- 极快的首屏加载速度(~100kb) -- 海量的内置 prompt 列表,来自[中文](https://github.com/PlexPt/awesome-chatgpt-prompts-zh)和[英文](https://github.com/f/awesome-chatgpt-prompts) -- 自动压缩上下文聊天记录,在节省 Token 的同时支持超长对话 -- 一键导出聊天记录,完整的 Markdown 支持 -- 拥有自己的域名?好上加好,绑定后即可在任何地方**无障碍**快速访问 - ## Features - **Deploy for free with one-click** on Vercel in under 1 minute @@ -37,48 +27,46 @@ One-Click to deploy your own ChatGPT web UI. - One-click export all chat history with full Markdown support - I18n supported +## 主要功能 + +- 在 1 分钟内使用 Vercel **免费一键部署** +- 精心设计的 UI,响应式设计,支持深色模式 +- 极快的首屏加载速度(~100kb) +- 海量的内置 prompt 列表,来自[中文](https://github.com/PlexPt/awesome-chatgpt-prompts-zh)和[英文](https://github.com/f/awesome-chatgpt-prompts) +- 自动压缩上下文聊天记录,在节省 Token 的同时支持超长对话 +- 一键导出聊天记录,完整的 Markdown 支持 +- 拥有自己的域名?好上加好,绑定后即可在任何地方**无障碍**快速访问 + + ## 开发计划 Roadmap -- System Prompt: pin a user defined prompt as system prompt 为每个对话设置系统 Prompt [#138](https://github.com/Yidadaa/ChatGPT-Next-Web/issues/138) -- User Prompt: user can edit and save custom prompts to prompt list 允许用户自行编辑内置 Prompt 列表 -- Self-host Model: support llama, alpaca, ChatGLM, BELLE etc. 支持自部署的大语言模型 -- Plugins: support network search, caculator, any other apis etc. 插件机制,支持联网搜索、计算器、调用其他平台 api [#165](https://github.com/Yidadaa/ChatGPT-Next-Web/issues/165) +- [x] System Prompt: pin a user defined prompt as system prompt 为每个对话设置系统 Prompt [#138](https://github.com/Yidadaa/ChatGPT-Next-Web/issues/138) +- [ ] User Prompt: user can edit and save custom prompts to prompt list 允许用户自行编辑内置 Prompt 列表 +- [ ] Self-host Model: support llama, alpaca, ChatGLM, BELLE etc. 支持自部署的大语言模型 +- [ ] Plugins: support network search, caculator, any other apis etc. 插件机制,支持联网搜索、计算器、调用其他平台 api [#165](https://github.com/Yidadaa/ChatGPT-Next-Web/issues/165) ### 不会开发的功能 Not in Plan -- User login, accounts, cloud sync 用户登录、账号管理、消息云同步 -- UI text customize 界面文字自定义 - -## 开始使用 - -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 在某些区域被污染了,绑定自定义域名即可直连。 +- User login, accounts, cloud sync +- UI text customize +- 界面文字自定义 +- 用户登录、账号管理、消息云同步 ## Get Started +> [简体中文 > 如何开始使用](./README_CN.md#开始使用) 1. Get [OpenAI API Key](https://platform.openai.com/account/api-keys); 2. Click - [![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); + [![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), remember that `CODE` is your page password; 3. Enjoy :) -## 保持更新 Keep Updated +## FAQ +> [简体中文 > 常见问题](./docs/faq-cn.md) -如果你按照上述步骤一键部署了自己的项目,可能会发现总是提示“存在更新”的问题,这是由于 Vercel 会默认为你创建一个新项目而不是 fork 本项目,这会导致无法正确地检测更新。 -推荐你按照下列步骤重新部署: +We are sorry that there is currently no English version of the FAQ. English users can use translation tools to access the document. We look forward to receiving your PR for an English version of the documentation. -- 删除掉原先的 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 作者来及时获得新功能更新通知。 +## Keep Updated +> [简体中文 > 如何保持代码更新](./README_CN.md#保持更新) If you have deployed your own project with just one click following the steps above, you may encounter the issue of "Updates Available" constantly showing up. This is because Vercel will create a new project for you by default instead of forking this project, resulting in the inability to detect updates correctly. @@ -95,15 +83,8 @@ If you want to update instantly, you can check out the [Github documentation](ht You can star or watch this project or follow author to get release notifictions in time. -## 配置密码 Password - -本项目提供有限的权限控制功能,请在 Vercel 项目控制面板的环境变量页增加名为 `CODE` 的环境变量,值为用英文逗号分隔的自定义密码: - -``` -code1,code2,code3 -``` - -增加或修改该环境变量后,请**重新部署**项目使改动生效。 +## Access Password +> [简体中文 > 如何增加访问密码](./README_CN.md#配置页面访问密码) This project provides limited access control. Please add an environment variable named `CODE` on the vercel environment variables page. The value should be passwords separated by comma like this: @@ -113,26 +94,21 @@ code1,code2,code3 After adding or modifying this environment variable, please redeploy the project for the changes to take effect. -## 环境变量 Environment Variables +## Environment Variables +> [简体中文 > 如何配置 api key、访问密码、接口代理](./README_CN.md#环境变量) ### `OPENAI_API_KEY` (required) -OpanAI 密钥。 - Your openai api key. ### `CODE` (optional) -访问密码,可选,可以使用逗号隔开多个密码。 - Access passsword, separated by comma. ### `BASE_URL` (optional) > Default: `api.openai.com` -OpenAI 接口代理 URL。 - Override openai api request base url. ### `PROTOCOL` (optional) @@ -141,38 +117,32 @@ Override openai api request base url. > Values: `http` | `https` -OpenAI 接口协议。 - Override openai api request protocol. -## 开发 Development - -点击下方按钮,开始二次开发: +## Development +> [简体中文 > 如何进行二次开发](./README_CN.md#开发) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/Yidadaa/ChatGPT-Next-Web) -在开始写代码之前,需要在项目根目录新建一个 `.env.local` 文件,里面填入环境变量: - Before starting development, you must create a new `.env.local` file at project root, and place your api key into it: ``` OPENAI_API_KEY= ``` -### 本地开发 Local Development - -> 如果你是中国大陆用户,不建议在本地进行开发,除非你能够独立解决 OpenAI API 本地代理问题。 - -1. 安装 nodejs 和 yarn,具体细节请询问 ChatGPT; -2. 执行 `yarn install && yarn dev` 即可。 - -### 本地部署 Local Deployment +### Local Development ```shell -bash <(curl -s https://raw.githubusercontent.com/Yidadaa/ChatGPT-Next-Web/main/scripts/setup.sh) +# 1. install nodejs and yarn first +# 2. config local env vars in `.env.local` +# 3. run +yarn install +yarn dev ``` -### 容器部署 Docker Deployment +## Deployment +> [简体中文 > 如何部署到私人服务器](./README_CN.md#部署) +### Docker (Recommended) ```shell docker pull yidadaa/chatgpt-next-web @@ -180,22 +150,27 @@ docker pull yidadaa/chatgpt-next-web docker run -d -p 3000:3000 -e OPENAI_API_KEY="" -e CODE="" yidadaa/chatgpt-next-web ``` -## 截图 Screenshots +### Shell -![设置 Settings](./static/settings.png) +```shell +bash <(curl -s https://raw.githubusercontent.com/Yidadaa/ChatGPT-Next-Web/main/scripts/setup.sh) +``` +## Screenshots -![更多展示 More](./static/more.png) +![Settings](./static/settings.png) + +![More](./static/more.png) -## 鸣谢 Special Thanks -### 捐赠者 Sponsor +## Special Thanks +### Sponsor [@mushan0x0](https://github.com/mushan0x0) [@ClarenceDan](https://github.com/ClarenceDan) [@zhangjia](https://github.com/zhangjia) [@hoochanlon](https://github.com/hoochanlon) -### 贡献者 Contributor +### Contributor [Contributors](https://github.com/Yidadaa/ChatGPT-Next-Web/graphs/contributors) diff --git a/README_CN.md b/README_CN.md new file mode 100644 index 00000000..bc4ad132 --- /dev/null +++ b/README_CN.md @@ -0,0 +1,151 @@ +
+预览 + +

ChatGPT Next Web

+ +一键免费部署你的私人 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) + +
+ +## 主要功能 + +- 在 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= +``` + +### 本地开发 + +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) +``` + + +## 截图 Screenshots + +![设置](./static/settings.png) + +![更多展示](./static/more.png) + + +## 鸣谢 +### 捐赠者 +> 仅列出了部分大额打赏,小额打赏(< 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) diff --git a/app/constant.ts b/app/constant.ts index 169a5eee..8a519d44 100644 --- a/app/constant.ts +++ b/app/constant.ts @@ -2,6 +2,6 @@ export const OWNER = "Yidadaa"; export const REPO = "ChatGPT-Next-Web"; export const REPO_URL = `https://github.com/${OWNER}/${REPO}`; export const ISSUE_URL = `https://github.com/${OWNER}/${REPO}/issues`; -export const UPDATE_URL = `${REPO_URL}#%E4%BF%9D%E6%8C%81%E6%9B%B4%E6%96%B0-keep-updated`; +export const UPDATE_URL = `${REPO_URL}#keep-updated`; export const FETCH_COMMIT_URL = `https://api.github.com/repos/${OWNER}/${REPO}/commits?per_page=1`; export const FETCH_TAG_URL = `https://api.github.com/repos/${OWNER}/${REPO}/tags?per_page=1`; diff --git a/docs/faq-cn.md b/docs/faq-cn.md new file mode 100644 index 00000000..2b7b4587 --- /dev/null +++ b/docs/faq-cn.md @@ -0,0 +1,52 @@ +# 常见问题 +> We are sorry that there is currently no English version of the FAQ. English users can use translation tools to access this document. We look forward to receiving your PR for an English version of the documentation. + + + +## 如何修改 Vercel 环境变量 +- 进入 vercel 的控制台页面; +- 选中你的 chatgpt next web 项目; +- 点击页面头部的 Settings 选项; +- 找到侧边栏的 Environment Variables 选项; +- 修改对应的值即可。 + + + +## 为什么我部署的版本没有流式响应 +> 相关讨论:[#386](https://github.com/Yidadaa/ChatGPT-Next-Web/issues/386) + +如果你使用 ngnix 反向代理,需要在配置文件中增加下列代码: +``` +# 不缓存,支持流式输出 +proxy_cache off; # 关闭缓存 +proxy_buffering off; # 关闭代理缓冲 +chunked_transfer_encoding on; # 开启分块传输编码 +tcp_nopush on; # 开启TCP NOPUSH选项,禁止Nagle算法 +tcp_nodelay on; # 开启TCP NODELAY选项,禁止延迟ACK算法 +keepalive_timeout 300; # 设定keep-alive超时时间为65秒 +``` + +如果你是在 netlify 部署,此问题依然等待解决,请耐心等待。 + + + +## 为什么会一直提示“出错了,稍后重试吧” +原因可能有很多,请依次排查: +- 请先检查你的代码版本是否为最新版本,更新到最新版本后重试; +- 请检查 api key 是否设置正确,环境变量名称必须为全大写加下划线; +- 请检查 api key 是否可用; +- 如果经历了上述步骤依旧无法确定问题,请在 issue 区提交一个新 issue,并附上 vercel 的 runtime log 或者 docker 运行时的 log。 + + + +## 为什么 Docker 部署版本一直提示更新 +Docker 版本相当于稳定版,latest Docker 总是与 latest release version 一致,目前我们的发版频率是一到两天发一次,所以 Docker 版本会总是落后最新的提交一到两天,这在预期内。 + + + + +## 为什么 ChatGPT 的回复会乱码 +设置界面 - 模型设置项中,有一项为 `temperature`,如果此值大于 1,那么就有可能造成回复乱码,将其调回 1 以内即可。 + +## 如何使用 Azure OpenAI 接口 +请参考:[#371](https://github.com/Yidadaa/ChatGPT-Next-Web/issues/371) \ No newline at end of file diff --git a/package.json b/package.json index 18e227f1..69dec164 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "chatgpt-next-web", - "version": "1.1", + "version": "1.9.3", "private": false, "license": "Anti 996", "scripts": {