项目基于 PHP (Hyperf) + Vue 开发,10分钟搭建自己可免费商用的ChatGPT环境,搭建简单,包含用户,订单,任务,付费等功能。

它是基于PHP(Hyperf) + Vue开发的,可以通过docker轻松部署,并且有一个支持PC和移动端的完美UI控制台。该项目提供了许多强大的功能,包括自定义付费套餐、一键导出对话、任务拉客和用户管理等等。这些功能能够帮助您快速构建 ChatGPT 站点,在其中包含了所有必要的特性,如:订单、任务、付费等等,非常适合有动手能力的同学来搭建一套系统去赚取不少的饭钱。同时,该项目也是开源的,您可以轻松参与到开发过程中来,共同推进AI机器人的技术发展。


PHP 环境部署

环境部署需要动手能力较强的同学进行。项目目录结构为

  • gptserver 服务器项目目录

  • gptweb 用户端项目目录

  • gptadmin 管理端项目目录

环境要求

  • Nginx

  • MySql 5.7 +

  • Redis 5.0 +

  • PHP 8.0

  • ext-swoole

  • ext-openssl

  • ext-json

  • ext-pdo_mysql

  • ext-redis

ext-bcmath

项目提供的 Nginx 配置文件,位于 conf/nginx-default.conf,可以参考或借鉴。前端项目目前请求的接口地址是固定的 /api/

服务启动命令 ./gptserver/start.sh


配置参数:

配置名示例值默认值说明
数据库配置


DB_DRIVERmysqlmysql数据库驱动,暂只支持mysql
DB_HOST127.0.0.1localhost数据库连接地址
DB_PORT33063306数据库连接的端口号
DB_DATABASEgptlink
数据库名称
DB_USERNAMEroot
数据库用户名
DB_PASSWORD123456
数据库用户名密码
Redis配置


REDIS_HOSTlocalhostlocalhostRedis连接地址
REDIS_AUTH(null)(null)Redis连接的访问密码,如无则使用(null)
REDIS_PORT63796379Redis连接的端口
管理员配置


ADMIN_USERNAMEadminadmin管理端登录账号
ADMIN_PASSWORDadmin666admin888管理端登陆密码
ADMIN_TTL72007200每次登陆的有效期,单位秒
系统配置


APP_NAMEgptlinkgptlink站点名称,可自行修改为系统标识名称,无限制内容
APP_URLhttp://127.0.0.1http://127.0.0.1访问的项目地址,域名或IP或域名+端口号,填写错误可能导致支付无法成功回调
JWT_SECRETwY3f28d8Wq4md2dNuXPHEdUccv2YWbKf
密钥,填入随机的32位字符即可
OPENAI配置(使用GPTLink可忽略)


OPENAI_HOSTapi.openai.com
Openai请求地址
OPENAI_PORT443
访问端口
OPENAI_PROXY_HOST172.0.0.1
代理地址,域名或ip都可,不填写则直连
OPENAI_PROXY_PORT8888
代理端口,不填写则直连


功能概览

  • 支持 Docker 部署

  • 开箱即用的控制台

  • 完美适配移动端

  • 自定义付费套餐

  • 一键导出对话

  • 任务拉新获客

开始使用

  • 项目基于 PHP (Hyperf) + Vue 开发,推荐使用 Docker 进行部署;

  • 准备好一个 API Key,推荐使用 GPTLINK Key;

  • GPTLINK Key ,注册完成之后进入个人中心申请开发者后获取 API Key,过程非常简单,无需审核,接口无需代理;

  • OpenAi 官方 Key;

  • 微信相关资源(网站应用,微信公众号,微信支付),网站应用用于 PC 端扫码登录,公众号用于微信内网页登录,缺省情况将无法在对应渠道使用;

项目配置

项目提供有限的权限控制功能,项目配置文件位于 gptserver/.env,如诺不存在此文件,将 gptserver/.env.example 更名为 .env 作为配置项进行使用,详细的配置说明 点此查看

部署

  • 项目支持多种部署方式,部署文档参考:点此查看

  • PHP 环境部署

  • Docker 部署

  • Docker Compose 部署

  • 云主机镜像部署

访问

部署完成后访问 http://域名或IP 进入对话页面,/admin/ 路径访问管理页,管理员账号密码为配置项设置的 ADMIN_USERNAME 与 ADMIN_USERNAME ,如不传入,默认账号密码为 admin admin888