Skip to content

Artenx/TokenHub

Repository files navigation

TokenHub

License Rust Docker Status

LLM API 接口池管理工具 — 多端点负载均衡、Token 限额管控
LLM API Pool Manager — Multi-endpoint load balancing & token quota management

English


功能特性 / Features

功能 / Feature 说明 / Description
多端点代理池 / Multi-endpoint pools 端点按池分组,支持透传和映射两种模型名称模式
负载均衡调度 / Load balancing 轮询、轮换、随机三种算法,失败自动切换池内其他端点重试
Token 限额管控 / Token quota 支持无上限、手动重置、每日自动重置、5小时滚动重置
请求次数限额 / Request count limit 独立于 Token 的请求次数上限,支持手动/每日/5小时滚动/每分钟重置
滑动窗口算法 / Sliding window 5小时滚动窗口,旧消耗自动失效,无需手动清零
端点延迟统计 / Latency stats 自动采集每端点请求延迟,提供 P50/P90/P95 等聚合指标与排行榜
IP 限流防扫描 / IP rate limiting 对未命中对外 API 的请求按 IP 限流,秒级阈值与累计封禁
自定义路由 / Custom routing 配置对外 API 前缀,支持独立认证密钥
Web 管理后台 / Web dashboard 可视化管理端点、池、接口、延迟排行和系统设置

快速部署 / Quick Start

方式一:直接编译部署 / Build from Source

1. 环境要求 / Prerequisites

  • Linux 操作系统
  • Rust 编译环境(1.75+)

2. 编译 / Build

cd tokenhub
cargo build --release

3. 部署 / Deploy

# 创建部署目录 / Create deployment directory
mkdir -p /opt/tokenhub

# 复制文件 / Copy files
cp target/release/tokenhub /opt/tokenhub/
cp -r static /opt/tokenhub/

# 安装 systemd 服务 / Install systemd service
cp tokenhub.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable tokenhub
systemctl start tokenhub

4. 验证 / Verify

# 检查服务状态 / Check service status
systemctl status tokenhub

# 健康检查 / Health check
curl http://localhost:8080/health

方式二:Docker 部署 / Docker

1. 环境要求 / Prerequisites

  • Docker
  • Docker Compose(可选 / optional)

2. Docker Compose(推荐 / Recommended)

cd tokenhub

# 创建数据目录 / Create data directory
mkdir -p data

# 构建并启动 / Build and start
docker-compose up -d

# 查看日志 / View logs
docker-compose logs -f

# 停止服务 / Stop
docker-compose down

3. Docker CLI

# 构建镜像 / Build image
docker build -t tokenhub .

# 运行容器 / Run container
docker run -d \
  --name tokenhub \
  -p 8080:8080 \
  -v $(pwd)/data:/app/data \
  --restart unless-stopped \
  tokenhub

4. 验证 / Verify

# 检查容器状态 / Check container status
docker ps | grep tokenhub

# 健康检查 / Health check
curl http://localhost:8080/health

访问地址 / Endpoints

项目 / Item 地址 / URL
管理后台 / Dashboard http://your-ip:8080/admin/
默认密码 / Default password admin123
API 端点 / API endpoint http://your-ip:8080/{prefix}/chat/completions

使用示例 / Usage

# 通过接口管理的前缀调用 API / Call API via configured prefix
curl http://your-ip:8080/your-prefix/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your-api-key" \
  -d '{
    "model": "gpt-4",
    "messages": [{"role": "user", "content": "Hello"}],
    "max_tokens": 50
  }'

配置文件 / Configuration

配置文件位于 /opt/tokenhub/config.toml,首次启动自动生成。 Config file is located at /opt/tokenhub/config.toml, auto-generated on first startup.

详细文档 / Documentation

完整需求说明请查看 REQUIREMENTS.md

技术栈 / Tech Stack

  • 后端 / Backend: Rust + Actix-web 4
  • 前端 / Frontend: Vanilla JS + 原生 Web Components
  • 数据库 / Database: 文件存储 (TOML + JSON)
  • 容器化 / Containerization: Docker + Docker Compose

License

MIT License - 详见 LICENSE

致谢 / Acknowledgments

本项目创世版本由小米 MiMo-v2.5-Pro 生成。 The genesis version of this project was generated by Xiaomi MiMo-v2.5-Pro.

About

恼于接口限速?token不够用?如果你有多个api账号,这个工具也许能够帮到你! | Frustrated with API rate limits? Running out of tokens? If you have multiple API accounts, this tool might help you!

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors