Back to 53aihub

53AIHub 后端接口

api/README.md

0.2.04.7 KB
Original Source

53AIHub 后端接口

53AIHub 是一个强大的 AI 代理管理平台,支持多种 AI 模型的接入和管理。本指南将帮助您快速上手并开始使用 53AIHub。

目录

环境要求

  • Docker 和 Docker Compose (如使用容器化部署)
  • Go 1.24+ (如从源码编译)

快速开始

  1. 克隆仓库到本地
bash
git clone https://github.com/53AI/53AIHub.git
cd 53AIHub

使用 Docker Compose 启动

  1. 进入 docker 目录并启动服务
bash
cd docker
docker compose up -d

这将启动 53AIHub 应用 (端口 3000 可在docker-compose.yml中修改)。

服务将在 http://localhost:3000 上运行。

使用 Go 源码编译启动

  1. 确保你本地有 Go 语言环境和构建工具,以及node和npm环境
  2. 先进入web目录构建前端的网页前台与管理后台(非常重要)
  3. 再进入本目录,执行构建
bash
make build-windows-cgo
  1. 构建完成后,可执行文件将生成在 bin 目录下。
  2. 运行可执行文件

源代码编译启动

  1. 安装依赖并编译
bash
go mod tidy
go build -o bin/53aihub main.go
  1. 启动 53AIHub 服务
bash
./bin/53aihub

服务将在默认端口上运行(通常是 3000,可通过.evn文件的 PORT 环境变量修改)。

使用预编译文件启动

  1. 从 GitHub Releases 页面下载预编译文件

访问 GitHub Releases 下载适合您操作系统的预编译文件。

  1. 启动 53AIHub
  • Linux/MacOS:

    bash
    chmod +x 53AIHub_linux
    ./53AIHub_linux
    
  • Windows: 双击 53AIHub_install.exe 文件安装运行启动

服务将在默认端口上3000运行。

配置说明

53AIHub 默认不需要任何配置即可启动,它使用以下默认配置:

  • 数据库:SQLite(默认,无需配置)
  • 端口:默认为 3000(可通过.env的 PORT 环境变量修改)

如果需要特定功能,可以配置以下环境变量:

  • SQL_DSN: 数据库连接字符串,默认使用 SQLite
  • PORT: 服务监听端口,默认为 3000
  • LOG_LEVEL: 日志级别,可选值为 DEBUG、INFO(默认)
  • API_HOST: API 主机地址,如需支持微信支付,必须配置此项

常见问题排查

1. 服务无法启动

  • 检查端口是否被占用
  • 查看日志文件中的错误信息
bash
cat logs/53aihub.log

2. 数据库问题

默认情况下,53AIHub 使用 SQLite 数据库,无需额外配置。如果您配置了 MySQL 数据库但连接失败:

  • 确认 MySQL 服务是否正常运行
  • 检查数据库连接参数是否正确
  • 确认数据库用户是否有足够的权限

3. 支付配置

如需支持微信支付功能、支付宝支付功能,必须配置 API_HOST 环境变量:

bash
export API_HOST="http://your-domain.com"

或在启动时指定:

bash
API_HOST="http://your-domain.com" ./53aihub

4. Token 编码器初始化失败

错误信息示例:

panic: runtime error: invalid memory address or nil pointer dereference

可能原因:

  • billingratio.ModelRatio 为 nil
  • logger 未正确初始化

解决方法:

  • 确保在使用 logger 前已正确初始化

请注意:静态编译需要安装一些额外的依赖项(例如 GCC、G++、Git、Make),请查看 Makefile 中的静态编译命令,以获得更多信息。如果您的环境缺少这些依赖项,可能会导致静态编译失败。

错误信息示例2:

CGO_ENABLED=0 go build -trimpath -v -o bin/53aihub -a -ldflags '-X "github.com/53AI/53AIHub/config.VersionTime=20250817222030" -extldflags "-static"' ./main.go
main.go:18:29: pattern all:static/console: no matching files found
make: *** [Makefile:48: static-build] Error 1

可能原因:

- 没有先编绎前端

//go:embed all:static/front all:static/console static/images all:static/libs
上面这句的意思是打包前端资源,注意要先将前端打包成出来,分别放在static/front和static/console里
不熟悉go的请注意它就是这种注释语法
如果您遇到其他问题,请提交 GitHub Issue 获取支持。