Skip to content

Repository files navigation

LLMRouter

LLMRouter 是一个自托管的多协议 LLM 网关,提供 Anthropic Messages 与 OpenAI Chat Completions 兼容接口,并包含管理控制台、API Key、限流、用量记录和 Provider 配置能力。

功能

  • Anthropic:POST /v1/messagesPOST /v1/messages/count_tokens
  • OpenAI:POST /v1/chat/completions
  • 管理控制台与 scoped API Key
  • PostgreSQL 持久化、请求与用量记录
  • Docker Compose 单机部署

快速开始

准备 Docker 与 Docker Compose 后,在项目根目录执行:

cp deploy/docker/llmrouter.env.example .env
# 编辑 .env:至少设置 LLMROUTER_POSTGRES_PASSWORD、LLMROUTER_AUTH_TOKEN,
# 并配置一个上游 Provider 的密钥和地址。
docker compose up -d --build

默认仅绑定本机:

服务 地址
API http://127.0.0.1:38082
Dashboard http://127.0.0.1:33002
健康检查 GET /health

验证服务:

curl http://127.0.0.1:38082/health

调用示例

curl http://127.0.0.1:38082/v1/chat/completions \
  -H "Authorization: Bearer $LLMROUTER_AUTH_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "your-model",
    "messages": [{"role": "user", "content": "你好"}]
  }'

本地开发

需要 Rust、Node.js 与 PostgreSQL:

cp .env.example .env
scripts/config-validate.sh
cargo run

常用命令:

cargo run -- config validate
scripts/check.sh
scripts/smoke-test.sh

Dashboard 位于 dashboard/,首次运行前执行:

cd dashboard
npm ci
npm run build

配置与安全

  • 密钥仅写入 .env 或部署环境变量,禁止提交真实凭据。
  • config.toml 用于 Provider、模型别名和路由配置。
  • 对外部署前应设置可信代理、允许来源、HTTPS 与强随机管理员密码。
  • 使用 scripts/config-validate.sh 验证配置。

运维

scripts/status.sh
scripts/restart.sh
scripts/backup-compose.sh

cargo run -- backup export <path> 可导出本地状态备份;恢复前请先验证备份文件。

About

No description, website, or topics provided.

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages