NextChat原名ChatGPT Next Web,是github上非常火爆的开源项目,高达73.3k个Star和58.2个Fork,可见其受欢迎程度。笔者虽然一直在使用,却一直没想起来写一篇文章介绍下它,闲来无事,就简简单单水一篇吧。
🎭 功能简介
NextChat是一个跨平台的ChatGPT/Gemini用户界面,支持Web、PWA、Linux、Windowns、MacOS部署,轻轻松松一键拥有你自己的跨平台ChatGPT/Gemin。主要的功能特性如下:
支持在 1 分钟内使用 Vercel 免费一键部署
提供体积极小(~5MB)的跨平台客户端(Linux/Windows/MacOS)
完整的 Markdown 支持:LaTex 公式、Mermaid 流程图、代码高亮等等
精心设计的 UI,响应式设计,支持深色模式,支持 PWA
极快的首屏加载速度(~100kb),支持流式响应
隐私安全,所有数据保存在用户浏览器本地
预制角色功能(面具),方便地创建、分享和调试你的个性化对话
海量的内置 prompt 列表,来自中文和英文
自动压缩上下文聊天记录,在节省 Token 的同时支持超长对话
多国语言,支持English, 简体中文, 繁体中文, 日本語, Español, Italiano, Türkçe, Deutsch, Tiếng Việt, Русский, Čeština, 한국어, Indonesia
🦀 安装NextChat
如上文所言,NextChat支持众多平台,桌面端(包括Linux、Windowns、MacOS)可以直接下载安装包安装即可,下载链接见文末。对于移动端用户,建议在NAS或常开机的设备上部署Web版,并使用PWA应用(将网页模拟成客户端,体验接近客户端)。那么部署Web端又回到了笔者的一板斧,Docker-Compose出马了!
笔者建议搭配OneAPI一起使用,便于管理自己的大模型KEY。关于如何部署OneAPI可看这篇文章:《说不定这是世上最好的ChatGPT,大模型分发系统One API部署与实战》。
1️⃣ 创建compose.yml文件,并将下面内容粘贴进去:
version: "3.9"services: chatgpt-next-web: image: yidadaa/chatgpt-next-web:latest container_name: chatgpt-next-web restart: unless-stopped network_mode: bridge ports: - '3000:3000' environment: OPENAI_API_KEY: sk-ieKS7zRAQpHPJgCu1a6d81C6083b4e7cAd4b7bCf77679f4f CODE: 123456 BASE_URL: https://oneapi.yourdomain.com PROXY_URL: DEFAULT_MODEL: g-gemini-pro HIDE_USER_API_KEY: 1 #禁用用户自行填写API KEY,否则填0 ENABLE_BALANCE_QUERY: 0 #禁用余额查询功能,否则填1 DISABLE_FAST_LINK: 0 #不禁用从链接解析预制设置,否则填1 CUSTOM_MODELS: -all,+g-gemini-pro,+SparkDesk-v3.5,+SparkDesk-v3.1,+abab5.5-chat,+abab5.5s-chat,+abab6-chat,abab6.5-chat,abab6.5s-chat,moonshot-v1-8k,moonshot-v1-32k,moonshot-v1-128k,qwen-turbo,qwen-plus
参数说明
3000:3000,Web访问,端口冒号左边的端口可以其他的,看你自己喜好
OPENAI_API_KEY,必填项,大模型的key,这个变量有两层含义,如果你直链OPENAI则就是OPENAI的KEY。如果你通过OneAPI代理则表示OneAPI上的KEY
CODE,选填项,Web版的登录密码,支持多个,用逗号分开。建议一定要设置,而且要设置负责点,否则容易被别人刷
BASE_URL: 选填项,模型代理地址,注意不是科学代理的意思,而是指那些代理各大模型的第三方,比如我们说的OneAPI也算,如果你使用OneAPI,就填OneAPI的地址
PROXY_URL: 选填项,这个才是科学代理地址,例如http://127.0.0.1:7890 user password,其中user和password是代理的用户名和密码,没有的话就不写即可
DEFAULT_MODEL,选填项,默认的模型,还是看你是直连还是通过OneAPI,用谁就选谁的模型名称
HIDE_USER_API_KEY,选填项,是否允许用户自己设置KEY,不允许就设置1,否则设置0
ENABLE_BALANCE_QUERY,选填项,是否启用余额查询功能,启用就设置1,否则设置0
DISABLE_FAST_LINK, 选填项,如果你想禁用从链接解析预制设置,将此环境变量设置为 1 即可
CUSTOM_MODELS, 选填项,用来控制用户可选的模型列表,其格式有要求,下面详细介绍
其他更多参数(包括使用非OPENAI和OneAPI时的参数设置)可相见这个网页查看:
https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web/blob/main/README_CN.md
2️⃣ 启动Docker容器上面的yml文件配置好以后,在ssh中切换到该文件所在目录,执行下面命令,启动NextChat:
docker compose up -d
3️⃣ 关于CUSTOM_MODELS的格式说明
1、用来控制模型列表,使用 + 增加一个模型,使用 - 来隐藏一个模型,使用 模型名=展示名 来自定义模型的展示名,用英文逗号隔开。
示例:+qwen-7b-chat,+glm-6b,-gpt-3.5-turbo,gpt-4-1106-preview=gpt-4-turbo 表示增加 qwen-7b-chat 和 glm-6b 到模型列表,而从列表中删除 gpt-3.5-turbo,并将 gpt-4-1106-preview 模型名字展示为 gpt-4-turbo。如果你想先禁用所有模型,再启用指定模型,可以使用 -all,+gpt-3.5-turbo,则表示仅启用 gpt-3.5-turbo
2、在Azure的模式下,支持使用modelName@azure=deploymentName的方式配置模型名称和部署名称(deploy-name)
示例:+gpt-3.5-turbo@azure=gpt35这个配置会在模型列表显示一个gpt35(Azure)的选项。如果你只能使用Azure模式,那么设置 -all,+gpt-3.5-turbo@azure=gpt35 则可以让对话的默认使用 gpt35(Azure)
3、在ByteDance的模式下,支持使用modelName@bytedance=deploymentName的方式配置模型名称和部署名称(deploy-name)
示例: +Doubao-lite-4k@bytedance=ep-xxxxx-xxx这个配置会在模型列表显示一个Doubao-lite-4k(ByteDance)的选项
如果你使用群晖或威联通,可以使用内置的Docker套件直接部署,方法也很简单,将1️⃣中的内容复制下来,然后打开套件,新建应用程序,将复制的内容粘贴进去,启动即可。
等待几秒钟,然后在浏览器中打开http://ip:3000,你应该就能看到聊天界面了。
🌾 功能展示
按照以上方法安装好NextChat,打开客户端或Web界面,就可以开始使用了。
1️⃣ 如果你使用的是客户端,则需要先设置下模型服务商信息。点击左下角的设置⚙️按钮,然后选择模型服务商,填写你自己的API KEY,如果你使用第三方代理则需要填写接口地址。
2️⃣ 如果你是安装上文中部署的Web版,则需要设置下你的登录密码,可以在设置界面设置,也可以在聊天界面设置。
3️⃣ 开始聊天
设置完上面的基本信息,就可以在聊天界面开始与大模型聊骚了。
在输入框的上面有一排图标按钮,分别是对话设置、主题设置、快捷指令、选择面具,清除聊天、选择模型和选择插件,具体使用方法就不多说了,反正点一下就知道是干嘛的了。
4️⃣ 关于面具
这个词大家可能不大理解是啥,其实就是提示词,系统预设了很多不同类型的面具,比如小红书写手、简历写手等等,点开面具界面就能看到。
你也可以点击查看全部,在预设角色面具界面编写自己的面具。
5️⃣ 移动端
上文提到,移动端可以使用Web版的PWA应用,可能有人不大理解,这里简单说一下。同样是在手机浏览器(使用手机自带的浏览器,比如iPhone就用Safari)打开Web网站,然后将网站发送到桌面,在桌面上就会出现一个App图标,它就是PWA应用,虽然不是原生App,但是体验要比直接在网页上使用要好得多。
⏬ 获取Komga
最后,如果你需要按照桌面版,可以在笔者公众号私信【NextChat】即可快速获取下载链接,打开链接后根据自己的平台下载即可,目前最新版本为v2.14.0。
原创不易,如果觉得此文对你有帮助,不妨点赞+收藏+关注,你的鼓励是我持续创作的动力!
❤️ 猜你喜欢
1️⃣ 大环境不好,手把手教你利用NAS躺贝兼一波被动收入,建议收藏这条龙!
2️⃣ OneNav: 一款强大的书签导航页程序,一处部署,随处访问!
3️⃣ 疯狂牛人已经冲击到800多万,天降的富贵狗狗你要不要看看!