/ChatGPT-Next-Web

One-Click to deploy well-designed ChatGPT web UI on Vercel

Primary LanguageTypeScriptOtherNOASSERTION

icon

ChatGPT Next Web

One-Click to deploy well-designed ChatGPT web UI on Vercel.

一键免费部署你的私人 ChatGPT 网页应用。

演示 Demo / 反馈 Issues / Join Discord / QQ 群 / 打赏开发者 / Buy Me a Coffee

Deploy with Vercel

Open in Gitpod

cover

Features

  • Deploy for free with one-click on Vercel in under 1 minute
  • Responsive design, dark mode and PWA
  • Fast first screen loading speed (~100kb)
  • Awesome prompts powered by awesome-chatgpt-prompts-zh and awesome-chatgpt-prompts
  • Automatically compresses chat history to support long conversations while also saving your tokens
  • One-click export all chat history with full Markdown support
  • I18n supported

Roadmap

  • System Prompt: pin a user defined prompt as system prompt #138
  • User Prompt: user can edit and save custom prompts to prompt list
  • Desktop App with tauri
  • Self-host Model: support llama, alpaca, ChatGLM, BELLE etc.
  • Plugins: support network search, caculator, any other apis etc. #165

Not in Plan

  • User login, accounts, cloud sync
  • UI text customize

主要功能

  • 在 1 分钟内使用 Vercel 免费一键部署
  • 精心设计的 UI,响应式设计,支持深色模式,支持 PWA
  • 极快的首屏加载速度(~100kb)
  • 海量的内置 prompt 列表,来自中文英文
  • 自动压缩上下文聊天记录,在节省 Token 的同时支持超长对话
  • 一键导出聊天记录,完整的 Markdown 支持
  • 拥有自己的域名?好上加好,绑定后即可在任何地方无障碍快速访问

开发计划

  • 为每个对话设置系统 Prompt #138
  • 允许用户自行编辑内置 Prompt 列表
  • 使用 tauri 打包桌面应用
  • 支持自部署的大语言模型
  • 插件机制,支持联网搜索、计算器、调用其他平台 api #165

不会开发的功能

  • 界面文字自定义
  • 用户登录、账号管理、消息云同步

Get Started

简体中文 > 如何开始使用

  1. Get OpenAI API Key;
  2. Click Deploy with Vercel, remember that CODE is your page password;
  3. Enjoy :)

FAQ

简体中文 > 常见问题 | English > FAQ

Keep Updated

简体中文 > 如何保持代码更新

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.

We recommend that you follow the steps below to re-deploy:

  • Delete the original repo;
  • Fork this project;
  • Go to the Vercel dashboard, delete the original project, then create a new project and select the project you just forked to redeploy;
  • Please manually add an environment variable named OPENAI_API_KEY and enter your API key as the value during the redeploy process.

This project will be continuously updated, and after forking the project, the upstream code will be automatically synchronized every day without additional operations.

If you want to update instantly, you can check out the Github documentation to learn how to synchronize a forked project with upstream code.

You can star or watch this project or follow author to get release notifictions in time.

Access Password

简体中文 > 如何增加访问密码

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:

code1,code2,code3

After adding or modifying this environment variable, please redeploy the project for the changes to take effect.

Environment Variables

简体中文 > 如何配置 api key、访问密码、接口代理

OPENAI_API_KEY (required)

Your openai api key.

CODE (optional)

Access passsword, separated by comma.

BASE_URL (optional)

Default: api.openai.com

Override openai api request base url.

PROTOCOL (optional)

Default: https

Values: http | https

Override openai api request protocol.

Development

简体中文 > 如何进行二次开发

Open in Gitpod

Before starting development, you must create a new .env.local file at project root, and place your api key into it:

OPENAI_API_KEY=<your api key here>

Local Development

# 1. install nodejs and yarn first
# 2. config local env vars in `.env.local`
# 3. run
yarn install
yarn dev

Deployment

简体中文 > 如何部署到私人服务器

Docker (Recommended)

docker pull yidadaa/chatgpt-next-web

docker run -d -p 3000:3000 \
   -e OPENAI_API_KEY="sk-xxxx" \
   -e CODE="your-password" \
   yidadaa/chatgpt-next-web

You can start service behind a proxy:

docker run -d -p 3000:3000 \
   -e OPENAI_API_KEY="sk-xxxx" \
   -e CODE="your-password" \
   -e PROXY_URL="http://localhost:7890" \
   yidadaa/chatgpt-next-web

Shell

bash <(curl -s https://raw.githubusercontent.com/Yidadaa/ChatGPT-Next-Web/main/scripts/setup.sh)

Screenshots

Settings

More

Donation

Buy Me a Coffee

Special Thanks

Sponsor

@mushan0x0 @ClarenceDan @zhangjia @hoochanlon @relativequantum @desenmeng @webees @chazzhou @hauy

Contributor

Contributors

LICENSE

Anti 996 License