部署
如果配置了
MYSQL_DSN环境变量即使用了MySql数据库服务,请参考如下命令新建该项目所需的库。如果想配置MYSQL_DSN但对部署MySql服务不熟悉可以参考部署到 Zeabur中的Zeabur部署Mysql。
创建数据库示例sql命令
CREATE DATABASE hix_ai_2_api CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;基于 Docker-Compose(All In One) 进行部署
docker-compose pull && docker-compose up -ddocker-compose.yml
不配置
MYSQL_DSN时,services中的db服务可去掉。项目会采用Sqlite。
version: '3.4'
services:
hixai2api:
image: deanxv/hixai2api:latest
container_name: hixai2api
restart: always
ports:
- "7044:7044"
volumes:
- ./data:/app/hixai2api/data
environment:
- MYSQL_DSN=hix-ai-2-api:123456@tcp(db:3306)/hix_ai_2_api?charset=utf8mb4&parseTime=true&loc=Asia%2FShanghai # [可选] 设置之后将使用指定数据库而非 SQLite,请使用 MySQL。
- BACKEND_SECRET=123456 # [可选]后台管理接口密钥
- TZ=Asia/Shanghai
db:
image: mysql:8.2.0
restart: always
container_name: mysql
volumes:
- ./data/mysql:/var/lib/mysql # 挂载目录,持久化存储
ports:
- '3306:3306'
environment:
TZ: Asia/Shanghai # 可修改默认时区
MYSQL_ROOT_PASSWORD: 'root@123456' # 可修改此行 root用户名 密码
MYSQL_USER: hix-ai-2-api # 可修改初始化专用用户用户名
MYSQL_PASSWORD: '123456' # 可修改初始化专用用户密码
MYSQL_DATABASE: hix_ai_2_api # 可修改初始化专用数据库基于 Docker 进行部署
docker run --name hixai2api -d --restart always \
-p 7044:7044 \
-v $(pwd)/data:/app/hixai2api/data \
-e MYSQL_DSN='hix-ai-2-api:123456@tcp(host:3306)/hix_ai_2_api?charset=utf8mb4&parseTime=true&loc=Asia%2FShanghai' \
-e BACKEND_SECRET=123456 \
-e TZ=Asia/Shanghai \
deanxv/hixai2api其中MYSQL_DSN[可选]、BACKEND_SECRET修改为自己的。
如果上面的镜像无法拉取,可以尝试使用 GitHub 的 Docker 镜像,将上面的deanxv/hixai2api替换为ghcr.io/deanxv/hixai2api即可。
部署到第三方平台
部署到 Zeabur
Zeabur 的服务器在国外,自动解决了网络的问题,
同时免费的额度也足够个人使用
首先 fork 一份代码。
进入 Zeabur,使用github登录,进入控制台。
在 Service -> Add Service,选择 Git(第一次使用需要先授权),选择你 fork 的仓库。
Deploy 会自动开始,先取消。
添加环境变量
MYSQL_DSN=hix-ai-2-api:123456@tcp(host:3306)/hix_ai_2_api?charset=utf8mb4&parseTime=true&loc=Asia%2FShanghaiMYSQL连接信息BACKEND_SECRET=123456[可选] 后台管理接口密钥
保存。
- 选择 Redeploy。
Zeabur部署Mysql

按照上图创建MySql服务后,在环境变量MYSQL_DSN中填写对应的连接信息。
Username:Password@tcp(Host:Port)/hix_ai_2_api?charset=utf8mb4&parseTime=true&loc=Asia%2FShanghai
同样不要忘记创建数据库。
部署到 Render
Render 提供免费额度,绑卡后可以进一步提升额度
Render 可以直接部署 docker 镜像,不需要 fork 仓库:Render
配置
环境变量
PORT=7044[可选]端口,默认为7044DEBUG=true[可选]DEBUG模式,可打印更多信息[true:打开、false:关闭]MYSQL_DSN=hix-ai-2-api:123456@tcp(host:3306)/hix_ai_2_api?charset=utf8mb4&parseTime=true&loc=Asia%2FShanghai# [可选] 设置之后将使用指定数据库而非 SQLite,请使用 MySQL。BACKEND_SECRET=123456[可选]后台管理接口密钥BACKEND_API_ENABLE=1[可选]后台管理接口开关(默认:1)[0:关闭,1:开启]CHAT_MAX_DAYS=7[可选]对话记录保留天数(默认:-1[永久保留])ROUTE_PREFIX=hf[可选]路由前缀,默认为空,添加该变量后的接口示例:/hf/v1/chat/completionsPROXY_URL=http://127.0.0.1:7897[可选]代理SWAGGER_ENABLE=1[可选]是否启用Swagger接口文档(默认:1)[0:关闭,1:开启]
进阶配置
部署后打开
http://<ip>:<port>即可登录后台管理界面,管理密钥为环境变量BACKEND_SECRET的值。

配置 API-KEY
右上角添加API-KEY

配置 COOKIE
右上角添加Cookie

获取cookie
- 打开HixAi
- 打开F12开发者工具
- 进行一次对话
- 如下图所示,右侧
chat请求中请求头Cookie中的蓝色高亮__Secure-next-auth.session-token的值(红色高亮)即为所需cookie值(整个Cookie的值也可以)

其中Authorization为环境变量BACKEND_SECRET的值。
其他
HixAI(注册获取50Credit)