# chat-master-web **Repository Path**: gitmilk/chat-master-web ## Basic Information - **Project Name**: chat-master-web - **Description**: ChatMaster,一个已对接市面上主流大模型ChatGPT(3.5、4.0)模型、文心一言、通义千问、讯飞星火、智谱清言(ChatGLM)的平台。支持一键切换模型、支持文心一言(支持Stable-Diffusion-XL作图)、支持联想上下文对话。 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: https://gitee.com/panday94 - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 151 - **Created**: 2024-02-29 - **Last Updated**: 2024-02-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Chat Master Web

公众号

> 声明:此项目只发布于码云,基于 MIT 协议,免费且作为开源学习使用。并且不会有任何形式的卖号、付费服务、讨论群、讨论组等行为。谨防受骗。 > 项目框架基于[chatgpt-web](https://github.com/Chanzhaoyu/chatgpt-web)项目改造,页面UI借鉴ChatGLM项目。后端项目使用java服务搭建,如需使用移步[ChatMASTER](https://gitee.com/panday94/chat-master),支持ChatGPT(3.5、4.0)模型,同时也支持国内文心一言、通义千问、讯飞星火、智谱清言(ChatGLM)等主流模型,支持文心一言(Stable-Diffusion-XL作图)功能,支持模型及助手后台自定义配置,如需使用移步[Chat-Master-Admin](https://gitee.com/panday94/chat-master-admin) 欢迎小伙伴一起加入交流群[添加微信](#联系我们)或提Issues。 ![cover](./docs/login.jpg) ![cover2](./docs/chat.gif) - [Chat Master Web](#chat-master-web) - [介绍](#介绍) - [待实现路线](#待实现路线) - [前置要求](#前置要求) - [Node](#node) - [PNPM](#pnpm) - [安装依赖](#安装依赖) - [前端](#前端) - [测试环境运行](#测试环境运行) - [前端网页](#前端网页) - [打包](#打包) - [防止爬虫抓取](#防止爬虫抓取) - [手动打包](#手动打包) - [前端网页](#前端网页-1) - [常见问题](#常见问题) - [参与贡献](#参与贡献) - [赞助](#赞助) - [License](#license) ## 介绍 项目基于ChatGpt、文心一言、通义千问、讯飞星火、智谱清言等主流模型开发 | 名称 | 免费? | 是否国内 | 地址 | | --------------------------------------------- | ------ | ---------- | ---- | | ChatGpt | 否 | 否 | https://chat.openai.com/ | | 文心一言 | 否 | 是 | https://yiyan.baidu.com/ | | 通义千问 | 否 | 是 | https://tongyi.aliyun.com/ | | 讯飞星火 | 否 | 是 | https://xinghuo.xfyun.cn/ | | 智谱清言 | 否 | 是 | https://chatglm.cn/ | 提示: 1. ChatGpt 通过`Cloudflare`访问openai接口 2. ChatGPT及国内模型密钥由后台系统配置 3. 后期可接入使用自己token或者key使用 4. 如需了解更多可访问[这里](https://www.yuque.com/the6/ct0azl/tgi5wfbn162qugxk) ## 已实现路线 [✓] 多模型 [✓] 多会话储存和上下文逻辑 [✓] 对代码等消息类型的格式化美化处理 [✓] 个人信息修改及分享 [✓] 界面多语言 [✓] 界面主题 [✗] More... ## 前置要求 ### Node `node` 需要 `^16 || ^18 || ^19` 版本(`node >= 14` 需要安装 [fetch polyfill](https://github.com/developit/unfetch#usage-as-a-polyfill)),使用 [nvm](https://github.com/nvm-sh/nvm) 可管理本地多个 `node` 版本 ```shell node -v ``` ### PNPM 如果你没有安装过 `pnpm` ```shell npm install pnpm -g ``` ## 安装依赖 ### 前端 根目录下运行以下命令 ```shell pnpm bootstrap ``` ## 测试环境运行 ### 前端网页 根目录下运行以下命令 ```shell pnpm dev ``` #### 防止爬虫抓取 **nginx** 将下面配置填入nginx配置文件中,可以参考 `docker-compose/nginx/nginx.conf` 文件中添加反爬虫的方法 ``` # 防止爬虫抓取 if ($http_user_agent ~* "360Spider|JikeSpider|Spider|spider|bot|Bot|2345Explorer|curl|wget|webZIP|qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot|NSPlayer|bingbot") { return 403; } ``` ### 手动打包 #### 前端网页 1、修改根目录下 `.env` 文件中的 `VITE_GLOB_API_URL` 为你的实际后端接口地址 2、根目录下运行以下命令,然后将 `dist` 文件夹内的文件复制到你网站服务的根目录下 [参考信息](https://cn.vitejs.dev/guide/static-deploy.html#building-the-app) ```shell pnpm build ``` ## 常见问题 Q: 为什么 `Git` 提交总是报错? A: 因为有提交信息验证,请遵循 [Commit 指南](./CONTRIBUTING.md) Q: 如果只使用前端页面,在哪里改请求接口? A: 根目录下 `.env` 文件中的 `VITE_GLOB_API_URL` 字段。 Q: 文件保存时全部爆红? A: `vscode` 请安装项目推荐插件,或手动安装 `Eslint` 插件。 Q: 前端没有打字机效果? A: 一种可能原因是经过 Nginx 反向代理,开启了 buffer,则 Nginx 会尝试从后端缓冲一定大小的数据再发送给浏览器。请尝试在反代参数后添加 `proxy_buffering off;`,然后重载 Nginx。其他 web server 配置同理。 ## 参与贡献 贡献之前请先阅读 [贡献指南](./CONTRIBUTING.md) 感谢所有做过贡献的人! ## 赞助 如果你觉得这个项目对你有帮助,并且情况允许的话,可以给我一点点支持,总之非常感谢支持~
微信

WeChat Pay

## 公众号
公众号
## 联系我们
微信群

扫码进群,如失效请添加下方微信,加入交流群

微信

添加微信

## License MIT © [Master](./license)