High-performance enterprise-grade large model gateway for the power ecology of large models (LLM), equipped with rich traffic governance strategies.
One-click installation project of tokenlive based on Docker for production environment deployment.
📖 “在代码的脉络里,让治理永续,让生命长青。” — 纪念 TokenLive 的由来与精神传承,详见 TokenLive 命名故事。
TokenLive Admin (TokenLive 控制台) 是 TokenLive 生态的运营与管理控制台。它负责管理模型供应商、模型、接入点、租户授权、API Key、RBAC、观测视图以及网关策略配置。实际请求执行由 TokenLive Gateway 负责;Admin 侧聚焦于配置、审计和同步网关运行所需的数据。
admin
tokenlive


管理 AI 模型供应商(如 OpenAI、Azure、自定义接入点)及其下的模型。每个模型支持多别名、多接入点的加权路由配置。
提供网关策略配置页面,用于管理:
多空间(租户级)资源隔离,用于组织供应商、模型和策略的归属。
本项目采用前后端一体化架构:
tokenlive-admin/
├── frontend/ # 前端 Vue 3 SPA
│ └── src/
│ ├── apis/modules/ # API 服务模块(与后端模块对应)
│ ├── router/routes/ # 路由定义(菜单驱动,动态路由)
│ ├── views/ # 按领域划分的页面组件
│ └── store/ # Pinia 状态管理
├── internal/ # 后端 Go 代码
│ ├── mods/ # 领域模块(rbac, resource, space, policy)
│ │ ├── api/ # HTTP 处理器
│ │ ├── biz/ # 业务逻辑
│ │ ├── dal/ # 数据访问层(GORM)
│ │ └── schema/ # 数据模型与 DTO
│ └── wirex/ # Google Wire 依赖注入
├── pkg/ # 公共包(cachex, gormx, jwtx, middleware 等)
├── configs/ # TOML 配置文件
├── cmd/ # CLI 命令(start/stop/version)
├── scripts/ # 数据库初始化脚本
├── docs/ # Swagger 文档、ADR、规格说明
├── main.go # 程序入口
├── Makefile # 构建脚本
└── deploy/ # Docker 构建与 docker-compose 文件
| 层级 | 技术选型 |
|---|---|
| 前端 | Vue 3, Vite, Ant Design Vue, Pinia |
| 后端 | Go, Gin, GORM, Google Wire |
| 认证 | JWT, Casbin RBAC |
| 数据库 | MySQL / PostgreSQL / SQLite |
| 缓存 | Redis / Badger / 内存缓存 |
| 部署 | Docker 多阶段构建, docker-compose |
创建数据库并导入表结构:
CREATE DATABASE tokenlive CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
mysql -u root tokenlive < scripts/init.sql
编辑 configs/dev/server.toml 中的数据库和缓存连接信息。
# 构建前后端并启动
make serve
# 或仅运行后端(支持 air 热重载)
make start
打开浏览器访问 http://localhost:8040,默认管理员账号:
admin
admin
# 构建镜像
make docker-build
# 使用 Docker Compose 启动(推荐)
cd deploy/docker-compose
docker-compose up -d
详见 DEPLOY.md。
对于生产环境,强烈建议使用统一的编排部署项目 tokenlive-deploy。该项目提供了开箱即用的一键 Docker Compose 部署配置,集成了 Admin 控制台、Gateway 网关、Caddy 反向代理、Redis 以及 Prometheus 等核心组件。
make start # 运行后端(air 热重载)
make build # 构建后端二进制到 bin/tokenlive-admin
make build-frontend # 构建前端到 frontend/dist
make build-all # 构建前后端
make serve # 构建全部并在 :8040 启动服务
make wire # 重新生成 Wire 依赖注入代码
make swagger # 重新生成 Swagger 文档
make docker-build # 构建 Docker 镜像
make docker-push # 构建并推送镜像
make clean # 清理构建产物
make build-cross-all # 交叉编译(linux/darwin/windows)
frontend/.env.dev — 开发环境frontend/.env.prod — 生产环境配置文件位于 configs/ 目录:
configs/dev/ — 开发环境(MySQL + Redis)configs/prod/ — 生产环境关键配置段:[General]、[Storage]、[Storage.DB]、[Storage.Cache]、[Middleware]。
敏感配置(密码、Token、连接串等)通过环境变量占位符配置。后端会从配置工作目录(默认 configs/)自动加载 .env.local 和 .env:
# 复制示例文件
cp configs/.env.example configs/.env
# 编辑本地配置
vi configs/.env
环境变量格式:${VAR_NAME:default_value},例如 ${ROOT_PASSWORD:admin}。已存在的系统环境变量优先级高于 configs/.env。
所有 API 以 /api/v1/ 为前缀,遵循标准 CRUD 模式:
| 方法 | 路径 | 说明 |
|---|---|---|
GET |
/<resource> |
查询列表 |
GET |
/<resource>/:id |
按 ID 查询 |
POST |
/<resource> |
创建 |
PUT |
/<resource>/:id |
更新 |
DELETE |
/<resource>/:id |
删除 |
Swagger 文档通过注解自动生成,运行 make swagger 重新生成。
修改 frontend/.env.prod 中的 VITE_API_HTTP 配置,然后重新构建。
使用 Docker Compose 时,数据会自动挂载到 ./data 目录。
cd deploy/docker-compose
docker-compose logs -f tokenlive
本项目采用 Apache 许可证,详情请查看 LICENSE 文件。