From 50c25d45744e8de7deadba0ac28193fdeaa68b73 Mon Sep 17 00:00:00 2001 From: RockYang Date: Mon, 20 May 2024 15:14:02 +0800 Subject: [PATCH] rename project name to geekai --- .github/ISSUE_TEMPLATE/1.bug.yml | 2 +- .github/ISSUE_TEMPLATE/2.feature.yml | 2 +- README.md | 41 ++--- build/build.sh | 16 +- deploy/conf/config.toml | 159 +++++++++--------- .../conf.d/{chatgpt-plus.conf => geekai.conf} | 8 +- deploy/conf/xxl-job/application.properties | 2 +- deploy/docker-compose.yaml | 31 ++-- 8 files changed, 123 insertions(+), 138 deletions(-) rename deploy/conf/nginx/conf.d/{chatgpt-plus.conf => geekai.conf} (86%) diff --git a/.github/ISSUE_TEMPLATE/1.bug.yml b/.github/ISSUE_TEMPLATE/1.bug.yml index cd09055c..7f743768 100644 --- a/.github/ISSUE_TEMPLATE/1.bug.yml +++ b/.github/ISSUE_TEMPLATE/1.bug.yml @@ -1,5 +1,5 @@ name: Bug 报告 🐛 -description: 为 chatgpt-plus 提交错误报告 +description: 为 geekai 提交错误报告 labels: ['Bug'] body: - type: checkboxes diff --git a/.github/ISSUE_TEMPLATE/2.feature.yml b/.github/ISSUE_TEMPLATE/2.feature.yml index 7ecc8e4b..d958ae30 100644 --- a/.github/ISSUE_TEMPLATE/2.feature.yml +++ b/.github/ISSUE_TEMPLATE/2.feature.yml @@ -1,5 +1,5 @@ name: 功能优化 🚀 -description: 为 chatgpt-plus 提交优化建议 +description: 为 geekai 提交优化建议 labels: ['feature'] body: - type: checkboxes diff --git a/README.md b/README.md index 23c213cf..b7cd58e9 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ -# ChatGPT-Plus +# GeekAI +### 本项目已经正式更名为 GeekAI,请大家及时更新代码克隆地址。 -**ChatGPT-PLUS** 基于 AI 大语言模型 API 实现的 AI 助手全套开源解决方案,自带运营管理后台,开箱即用。集成了 OpenAI, Azure, +**GeekAI** 基于 AI 大语言模型 API 实现的 AI 助手全套开源解决方案,自带运营管理后台,开箱即用。集成了 OpenAI, Azure, ChatGLM,讯飞星火,文心一言等多个平台的大语言模型。集成了 MidJourney 和 Stable Diffusion AI绘画功能。 主要特性: @@ -16,7 +17,7 @@ ChatGLM,讯飞星火,文心一言等多个平台的大语言模型。集成了 - 集成插件 API 功能,可结合大语言模型的 function 功能开发各种强大的插件,已内置实现了微博热搜,今日头条,今日早报和 AI 绘画函数插件。 -### 🚀 更多功能请查看 [Geek-AI](https://github.com/yangjian102621/geek-ai) +### 🚀 更多功能请查看 [GeekAI-PLUS](https://github.com/yangjian102621/geekai-plus) - [x] 更友好的 UI 界面 - [x] 支持 Dall-E 文生图功能 @@ -81,29 +82,7 @@ ChatGLM,讯飞星火,文心一言等多个平台的大语言模型。集成了 ## 快速部署 -**演示站不提供任何充值点卡售卖或者VIP充值服务。** 如果您体验过后觉得还不错的话,可以花两分钟用下面的一键部署脚本自己部署一套。 - -```shell -bash -c "$(curl -fsSL https://img.r9it.com/geekai/v4.0.6/install.sh)" -``` - -最新版本的一键部署脚本请参考 [**ChatGPT-Plus 文档**](https://ai.r9it.com/docs/install/)。 - -目前仅支持 Ubuntu 和 Centos 系统。 部署成功之后可以访问下面地址 - -* 前端访问地址:http://localhost:8080/chat 使用移动设备访问会自动跳转到移动端页面。 -* 后台管理地址:http://localhost:8080/admin -* 移动端地址:http://localhost:8080/mobile -* 初始后台管理账号:admin/admin123 -* 初始前端体验账号:18575670125/12345678 - -服务启动成功之后不能立刻使用,需要先登录管理后台 -> API-KEY 去添加一个 OpenAI 或者文心一言,科大讯飞等至少一个平台的 API -KEY。 - -![](https://ai.r9it.com/docs/images/env/admin_api_keys.png) - -另外,如果您目前还没有 OpenAI 的 API KEY的,推荐您去 https://api.chat-plus.net 购买,**无需魔法,高速稳定,且价格还远低于 OpenAI -官方**。 +请参考文档 [**GeekAI 快速部署**](https://ai.r9it.com/docs/install/)。 ## 使用须知 @@ -112,12 +91,12 @@ KEY。 ## 项目地址 -* Github 地址:https://github.com/yangjian102621/chatgpt-plus -* 码云地址:https://gitee.com/blackfox/chatgpt-plus +* Github 地址:https://github.com/yangjian102621/geekai +* 码云地址:https://gitee.com/blackfox/geekai ## 客户端下载 -目前已经支持 Win/Linux/Mac/Android 客户端,下载地址为:https://github.com/yangjian102621/chatgpt-plus/releases/tag/v3.1.2 +目前已经支持 Win/Linux/Mac/Android 客户端,下载地址为:https://github.com/yangjian102621/geekai/releases/tag/v3.1.2 ## TODOLIST @@ -129,7 +108,7 @@ KEY。 最新的部署视频教程:[https://www.bilibili.com/video/BV1Cc411t7CX/](https://www.bilibili.com/video/BV1Cc411t7CX/) -详细的部署和开发文档请参考 [**ChatGPT-Plus 文档**](https://ai.r9it.com/docs/)。 +详细的部署和开发文档请参考 [**GeekAI 文档**](https://ai.r9it.com/docs/)。 加微信进入微信讨论群可获取 **一键部署脚本(添加好友时请注明来自Github!!!)。** @@ -157,4 +136,4 @@ KEY。 ![打赏](docs/imgs/donate.png) -![Star History Chart](https://api.star-history.com/svg?repos=yangjian102621/chatgpt-plus&type=Date) +![Star History Chart](https://api.star-history.com/svg?repos=yangjian102621/geekai&type=Date) diff --git a/build/build.sh b/build/build.sh index a1d37431..c443349f 100755 --- a/build/build.sh +++ b/build/build.sh @@ -14,15 +14,15 @@ npm run build cd ../build # remove docker image if exists -docker rmi -f registry.cn-shenzhen.aliyuncs.com/geekmaster/chatgpt-plus-api:$version-$arch -# build docker image for chatgpt-plus-go -docker build -t registry.cn-shenzhen.aliyuncs.com/geekmaster/chatgpt-plus-api:$version-$arch -f dockerfile-api-go ../ +docker rmi -f registry.cn-shenzhen.aliyuncs.com/geekmaster/geekai-api:$version-$arch +# build docker image for geekai-go +docker build -t registry.cn-shenzhen.aliyuncs.com/geekmaster/geekai-api:$version-$arch -f dockerfile-api-go ../ -# build docker image for chatgpt-plus-vue -docker rmi -f registry.cn-shenzhen.aliyuncs.com/geekmaster/chatgpt-plus-web:$version-$arch -docker build --platform linux/amd64 -t registry.cn-shenzhen.aliyuncs.com/geekmaster/chatgpt-plus-web:$version-$arch -f dockerfile-vue ../ +# build docker image for geekai-web +docker rmi -f registry.cn-shenzhen.aliyuncs.com/geekmaster/geekai-web:$version-$arch +docker build --platform linux/amd64 -t registry.cn-shenzhen.aliyuncs.com/geekmaster/geekai-api-web:$version-$arch -f dockerfile-vue ../ if [ "$3" = "push" ];then - docker push registry.cn-shenzhen.aliyuncs.com/geekmaster/chatgpt-plus-api:$version-$arch - docker push registry.cn-shenzhen.aliyuncs.com/geekmaster/chatgpt-plus-web:$version-$arch + docker push registry.cn-shenzhen.aliyuncs.com/geekmaster/geekai-api:$version-$arch + docker push registry.cn-shenzhen.aliyuncs.com/geekmaster/geekai-web:$version-$arch fi diff --git a/deploy/conf/config.toml b/deploy/conf/config.toml index bb400251..b76bc26f 100644 --- a/deploy/conf/config.toml +++ b/deploy/conf/config.toml @@ -1,106 +1,110 @@ Listen = "0.0.0.0:5678" -ProxyURL = "" # 如 http://127.0.0.1:7777 -MysqlDns = "root:12345678@tcp(chatgpt-plus-mysql:3306)/chatgpt_plus?charset=utf8mb4&collation=utf8mb4_unicode_ci&parseTime=True&loc=Local" -StaticDir = "./static" # 静态资源的目录 -StaticUrl = "/static" # 静态资源访问 URL +ProxyURL = "" +MysqlDns = "root:12345678@tcp(geekai-mysql:3306)/chatgpt_plus?charset=utf8mb4&collation=utf8mb4_unicode_ci&parseTime=True&loc=Local" +StaticDir = "./static" +StaticUrl = "/static" WeChatBot = false [Session] - SecretKey = "azyehq3ivunjhbntz78isj00i4hz2mt9xtddysfucxakadq4qbfrt0b7q3lnvg80" # 注意:这个是 JWT Token 授权密钥,生产环境请务必更换 + SecretKey = "azyehq3ivunjhbntz78isj00i4hz2mt9xtddysfucxakadq4qbfrt0b7q3lnvg80" MaxAge = 86400 [AdminSession] SecretKey = "wr1uzwz2meai4z9j0e0tsyf6x523ui6zpnyaim4x2x37meakv13349llqpipyk40" MaxAge = 8640000 -[Redis] # redis 配置信息 - Host = "chatgpt-plus-redis" +[Redis] + Host = "geekai-redis" Port = 6379 Password = "12345678" DB = 0 -[ApiConfig] # 微博热搜,今日头条等函数服务 API 配置,此为第三方插件服务,如需使用请联系作者开通 +[ApiConfig] ApiURL = "http://service.r9it.com:9001" AppId = "" Token = "" +[SMS] + Active = "Ali" + [SMS.Ali] + AccessKey = "" + AccessSecret = "" + Product = "Dysmsapi" + Domain = "dysmsapi.aliyuncs.com" + Sign = "" + CodeTempId = "" + [SMS.Bao] + Username = "" + Password = "" + Domain = "api.smsbao.com" + Sign = "【极客学长】" + CodeTemplate = "您的验证码是{code}。5分钟有效,若非本人操作,请忽略本短信。" -[SMS] # Sms 配置,用于发送短信 - Active = "Ali" # 当前启用的短信服务,默认使用阿里云 - [SMS.Bao] - Username = "" - Password = "" - Domain = "api.smsbao.com" - Sign = "【极客学长】" - CodeTemplate = "您的验证码是{code}。5分钟有效,若非本人操作,请忽略本短信。" - [SMS.Ali] - AccessKey = "" - AccessSecret = "" - Product = "Dysmsapi" - Domain = "dysmsapi.aliyuncs.com" - Sign = "" - CodeTempId = "" - -[OSS] # OSS 配置,用于存储 MJ 绘画图片 - Active = "Local" # 默认使用本地文件存储引擎 - [OSS.Local] - BasePath = "./static/upload" # 本地文件上传根路径 - BaseURL = "/static/upload" # 本地上传文件根 URL 如果是线上,则直接设置为 /static/upload 即可 - [OSS.Minio] - Endpoint = "" # 如 172.22.11.200:9000 - AccessKey = "" # 自己去 Minio 控制台去创建一个 Access Key - AccessSecret = "" - Bucket = "chatgpt-plus" # 替换为你自己创建的 Bucket,注意要给 Bucket 设置公开的读权限,否则会出现图片无法显示。 - UseSSL = false - Domain = "" # 地址必须是能够通过公网访问的,否则会出现图片无法显示。 - [OSS.QiNiu] # 七牛云 OSS 配置 - Zone = "z2" # 区域,z0:华东,z1: 华北,na0:北美,as0:新加坡 - AccessKey = "" - AccessSecret = "" - Bucket = "" - Domain = "" # OSS Bucket 所绑定的域名,如 https://img.r9it.com - [OSS.AliYun] - Endpoint = "oss-cn-hangzhou.aliyuncs.com" - AccessKey = "" - AccessSecret = "" - Bucket = "chatgpt-plus" - SubDir = "" - Domain = "" +[OSS] + Active = "Local" + [OSS.Local] + BasePath = "./static/upload" + BaseURL = "/static/upload" + [OSS.Minio] + Endpoint = "" + AccessKey = "" + AccessSecret = "" + Bucket = "geekai" + SubDir = "" + UseSSL = false + Domain = "" + [OSS.QiNiu] + Zone = "z2" + AccessKey = "" + AccessSecret = "" + Bucket = "" + SubDir = "" + Domain = "" + [OSS.AliYun] + Endpoint = "oss-cn-hangzhou.aliyuncs.com" + AccessKey = "" + AccessSecret = "" + Bucket = "geekai" + SubDir = "" + Domain = "" [[MjProxyConfigs]] - Enabled = true + Enabled = false ApiURL = "http://midjourney-proxy:8082" + Mode = "" ApiKey = "sk-geekmaster" [[MjPlusConfigs]] - Enabled = false - ApiURL = "https://api.chat-plus.net" - Mode = "fast" - ApiKey = "sk-xxx" + Enabled = false + ApiURL = "https://api.chat-plus.net" + Mode = "fast" + ApiKey = "sk-xxx" [[SdConfigs]] Enabled = false + Model = "" ApiURL = "" ApiKey = "" -[XXLConfig] # xxl-job 配置,需要你部署 XXL-JOB 定时任务工具,用来定期清理未支付订单和清理过期 VIP,如果你没有启用支付服务,则该服务也无需启动 - Enabled = true # 是否启用 XXL JOB 服务 - ServerAddr = "http://xxl-job-admin:8080/xxl-job-admin" # xxl-job-admin 管理地址 - ExecutorIp = "chatgpt-plus-api" # 执行器 IP 地址 +[XXLConfig] # xxl-job 配置,需要你部署 XXL-JOB 定时任务工具,用来定期清理未支付订单和清理过期 VIP,如果你没有启用支付服务,则该服务也无需启动 + Enabled = true # 是否启用 XXL JOB 服务 + ServerAddr = "http://xxl-job-admin:8080/xxl-job-admin" # xxl-job-admin 管理地址 + ExecutorIp = "geekai-api" # 执行器 IP 地址 ExecutorPort = "9999" # 执行器服务端口 - AccessToken = "GeekMaster" # 执行器 API 通信 token - RegistryKey = "chatgpt-plus" # 任务注册 key + AccessToken = "GeekMaster" # 执行器 API 通信 token + RegistryKey = "chatgpt-plus" # 任务注册 key,需要与 xxl-job 管理后台配置一致,请不要随意改动 [AlipayConfig] - Enabled = false # 启用支付宝支付通道 - SandBox = false # 是否启用沙盒模式 - UserId = "2088721020750581" # 商户ID - AppId = "9021000131658023" # App Id - PrivateKey = "certs/alipay/privateKey.txt" # 应用私钥 - PublicKey = "certs/alipay/appPublicCert.crt" # 应用公钥证书 - AlipayPublicKey = "certs/alipay/alipayPublicCert.crt" # 支付宝公钥证书 - RootCert = "certs/alipay/alipayRootCert.crt" # 支付宝根证书 - NotifyURL = "https://ai.r9it.com/api/payment/alipay/notify" # 支付异步回调地址 + Enabled = false + SandBox = false + AppId = "9021000131658023" + UserId = "2088721020750581" + PrivateKey = "certs/alipay/privateKey.txt" + PublicKey = "certs/alipay/appPublicCert.crt" + AlipayPublicKey = "certs/alipay/alipayPublicCert.crt" + RootCert = "certs/alipay/alipayRootCert.crt" + NotifyURL = "https://ai.r9it.com/api/payment/alipay/notify" + ReturnURL = "" [HuPiPayConfig] Enabled = false @@ -109,18 +113,21 @@ WeChatBot = false AppSecret = "" ApiURL = "https://api.xunhupay.com" NotifyURL = "https://ai.r9it.com/api/payment/hupipay/notify" + ReturnURL = "" -[SmtpConfig] # 注意,阿里云服务器禁用了25号端口,所以如果需要使用邮件功能,请别用阿里云服务器 +[SmtpConfig] # 注意,阿里云服务器禁用了25号端口,请使用 465 端口,并开启 TLS 连接 + UseTls = false Host = "smtp.163.com" Port = 25 AppName = "极客学长" - From = "test@163.com" # 发件邮箱人地址 - Password = "" #邮箱 stmp 服务授权码 + From = "test@163.com" # 发件邮箱人地址 + Password = "" #邮箱 stmp 服务授权码 -[JPayConfig] # PayJs 支付配置 +[JPayConfig] Enabled = false - Name = "wechat" # 请不要改动 - AppId = "" # 商户 ID + Name = "wechat" # 请不要改动 + AppId = "" # 商户 ID PrivateKey = "" # 秘钥 ApiURL = "https://payjs.cn" - NotifyURL = "https://ai.r9it.com/api/payment/payjs/notify" # 异步回调地址,域名改成你自己的 \ No newline at end of file + NotifyURL = "https://ai.r9it.com/api/payment/payjs/notify" + ReturnURL = "" diff --git a/deploy/conf/nginx/conf.d/chatgpt-plus.conf b/deploy/conf/nginx/conf.d/geekai.conf similarity index 86% rename from deploy/conf/nginx/conf.d/chatgpt-plus.conf rename to deploy/conf/nginx/conf.d/geekai.conf index 8442af6b..1b8e5aba 100644 --- a/deploy/conf/nginx/conf.d/chatgpt-plus.conf +++ b/deploy/conf/nginx/conf.d/geekai.conf @@ -15,8 +15,8 @@ server { # ssl_prefer_server_ciphers on; # 日志地址 - access_log /var/log/nginx/access.log; - error_log /var/log/nginx/error.log; + access_log /var/log/access.log; + error_log /var/log/error.log; index index.html; root /var/www/app/dist; # 这里改成前端静态页面的地址 @@ -35,12 +35,12 @@ server { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; - proxy_pass http://chatgpt-plus-api:5678; + proxy_pass http://geekai-api:5678; } # 静态资源转发 location /static/ { - proxy_pass http://chatgpt-plus-api:5678; + proxy_pass http://geekai-api:5678; } } } diff --git a/deploy/conf/xxl-job/application.properties b/deploy/conf/xxl-job/application.properties index b25e3fe1..ff4126e3 100644 --- a/deploy/conf/xxl-job/application.properties +++ b/deploy/conf/xxl-job/application.properties @@ -23,7 +23,7 @@ mybatis.mapper-locations=classpath:/mybatis-mapper/*Mapper.xml #mybatis.type-aliases-package=com.xxl.job.admin.core.model ### xxl-job, datasource -spring.datasource.url=jdbc:mysql://chatgpt-plus-mysql:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai +spring.datasource.url=jdbc:mysql://geekai-mysql:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai spring.datasource.username=root spring.datasource.password=12345678 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver diff --git a/deploy/docker-compose.yaml b/deploy/docker-compose.yaml index bd80cb6a..860baffe 100644 --- a/deploy/docker-compose.yaml +++ b/deploy/docker-compose.yaml @@ -1,9 +1,9 @@ version: '3' services: # mysql - chatgpt-plus-mysql: + geekai-mysql: image: mysql:8.0.33 - container_name: chatgpt-plus-mysql + container_name: geekai-mysql command: --default-authentication-plugin=mysql_native_password restart: always environment: @@ -15,12 +15,12 @@ services: - ./data/mysql/data:/var/lib/mysql - ./logs/mysql:/var/log/mysql - ./data/mysql/init.d:/docker-entrypoint-initdb.d/ - - # redis - chatgpt-plus-redis: + + # redis + geekai-redis: image: redis:6.0.16 restart: always - container_name: chatgpt-plus-redis + container_name: geekai-redis command: redis-server --requirepass 12345678 volumes : - ./data/redis:/data @@ -52,14 +52,13 @@ services: # 后端 API 程序 - chatgpt-plus-api: - image: registry.cn-shenzhen.aliyuncs.com/geekmaster/chatgpt-plus-api:v4.0.4-amd64 - container_name: chatgpt-plus-api + geekai-api: + image: registry.cn-shenzhen.aliyuncs.com/geekmaster/geekai-api:v4.0.7-amd64 + container_name: geekai-api restart: always depends_on: - - chatgpt-plus-mysql - - chatgpt-plus-redis - - xxl-job-admin + - geekai-mysql + - geekai-redis environment: - DEBUG=false - LOG_LEVEL=info @@ -75,12 +74,12 @@ services: - ./data/leveldb:/var/www/app/data # 前端应用 - chatgpt-plus-web: - image: registry.cn-shenzhen.aliyuncs.com/geekmaster/chatgpt-plus-web:v4.0.4-amd64 - container_name: chatgpt-plus-web + geekai-web: + image: registry.cn-shenzhen.aliyuncs.com/geekmaster/geekai-web:v4.0.7-amd64 + container_name: geekai-web restart: always depends_on: - - chatgpt-plus-api + - geekai-api ports: - "8080:8080" volumes: