LLMRouter 是一个自托管的多协议 LLM 网关,提供 Anthropic Messages 与 OpenAI Chat Completions 兼容接口,并包含管理控制台、API Key、限流、用量记录和 Provider 配置能力。
- Anthropic:
POST /v1/messages、POST /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/healthcurl 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.shDashboard 位于 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.shcargo run -- backup export <path> 可导出本地状态备份;恢复前请先验证备份文件。