Skip to content

开发与贡献

目录

本地构建

环境配置

你需要一个 golang 与 yarn 开发环境

直接安装

golang 官方安装指南:https://go.dev/doc/install
yarn 官方安装指南:https://yarnpkg.com/getting-started/install

通过 conda/mamba 安装 (没错它不只能管理 python)

如果你已有conda或者mamba的经验,也可将其用于 golang 环境管理:

bash
conda create -n goenv go yarn
# mamba create -n goenv go yarn # 如果你使用 mamba

编译流程

项目根目录已经提供了本地构建的 makefile

bash
# cd one-hub
# 确保你已经启动了开发环境,比如conda activate goenv
make all
# 更多 make 命令,详见makefile

编译成功之后你应当能够在项目根目录找到 distweb/build 两个文件夹。

运行说明

运行

bash
$ ./dist/one-api -h
Usage of ./dist/one-api:
  -config string
        specify the config.yaml path (default "config.yaml")
  -export
        Exports prices to a JSON file.
  -help
        print help and exit
  -log-dir string
        specify the log directory
  -port int
        the listening port
  -version
        print version and exit

根据使用方法进行具体的项目配置。

Docker 构建

环境配置

你需要 docker 环境,列出下列文档作为安装参考,任选其一即可:

编译流程

项目根目录已经提供了 docker 构建的 dockerfile

bash
# cd one-hub
docker build -t one-hub:dev .

编译成功后,运行

bash
docker images | grep one-hub:dev

你应当能找到刚刚编译的镜像,注意与项目官方镜像区分名称。

当然你也可以选择修改 Dockerfile,使用 docker compose build 进行编译。

运行说明

项目根目录提供了一份 docker-compose.yaml 文件。你应当根据上一步 docker build 时采用的镜像名称进行修改,比如将martialbe/one-api:latest替换one-hub:dev。当然你也可以直接利用 docker compose 进行 build:

yaml
image: martialbe/one-api:latest

替换为

yaml
build:
  dockerfile: Dockerfile
  context: .

然后进行 docker compose build 即可。