NextChat是一款轻量级的人工智能助手,支持网页,ios,macos,android,linux以及windows
首先点击fork,即可获取一份代码到你的github仓库中
这一项目是基于nextjs+ts开发的,启动轻量,且可以通过webdav进行数据同步
市面上有很多魔改版本 无一例外,因nextjs与vercel的天然兼容,该项目对docker使用的人不太友好,作者甚至没有兼容很多配置,因此我们需要将docker部分的配置补齐
配置的文件在config/server.ts中,可以看到很多配置是通过读取外部配置进行加载的 如果使用vercel配置大概率是没问题的,但是使用docker或docker-compose文件就会出问题,因此需要对比配置,将自己需要的或者缺少的全部加上

这里看见docker启动项 docker-compose文件是少很多配置的;
新增模型兼容,这个开发量较大,主要是几个文件的改动,简单列举一下
比如新增华为的api
Update
/api/[provider]/route.ts
.env.template
/client/api.ts
/components/settings.tsx
/config/server.ts
/locales/*
/store/access.ts
constant.ts
docker-compose.ymladd
/client/platforms/huawei.ts
/api/huawei.ts这也是基于nextweb做的一款新模型兼容的比较标准的流程;
代码修改完可以自行提交,有想法的话也可以将代码贡献到主仓库,项目方会进行代码审查并给你发一些必要的建议与参考
完事之后我们进入挂载磁盘,下面的目录就是我们刚才fork项目然后下代码到本地的目录
cd /mnt/d/study/fork/NextChat
docker buildx build . --tag wangjianhua/chatgpt-next-web:1.0.24
构建过程大概长这样
构建完成后
docker run -d -p 3000:3000 \
-e OPENAI_API_KEY=sk-xxxx \
-e CODE=your-password \
wangjianhua/chatgpt-next-web
即可启动成功 后续有什么配置可以添加配置并根据镜像重新启动容器
启动完成后 内存占用大概在80m左右
这里是各种模型,像gpt这种可以找镜像站使用api
刚才添加的huawei 已经出现了
聊天

调用日志:
绘画
这个在日常个人使用中是足够了,但是对于一些企业级应用来讲,比如说商用,是需要大型业务系统构建的,不太建议聊天记录跟一些配置参数放在文件里,尽量与数据库对接,那么对于java构建系统来讲,最合适的就是使用spring-ai或者其它框架,进行mcp应用以及rag矢量库上传,减少幻觉,模型使用自建的模型;
上班族没有服务器的,开发想使用也可以通过wsl+docker搭建本地的nextchat,同样很好用
Java构建流式推送,建议使用ResponseBodyEmitter进行流式推送,这样在前端可以看到思考过程,对话是逐字出现,可以增强用户体验