# llm-router — OpenAI 兼容 LLM 网关

面向内网多用户场景的模型调用网关：在各类 OpenAI 兼容客户端（MyClaw、Cherry Studio、Open WebUI 等）与真实模型服务之间提供统一入口。

## 产品能力

- **OpenAI 兼容入口**：`/v1/chat/completions`（流式/非流式）、`/v1/models`、`/v1/balance`
- **多上游路由**：按模型名前缀匹配上游（Ollama / vLLM / 任意 OpenAI 兼容服务），未命中走兜底
- **按用户计量**：区分输入/输出 token，流式记录首 token 耗时（TTFT）与输出速率（token/s）
- **额度控制**：1 token = 1 额度，按用户扣减；低余额 API 通知，欠费拒绝（402）
- **管理看板**：内置 `/metrics` 页面，每用户统计 + P95 + 日用量图表，无外部 CDN 依赖

## 快速开始（3 步）

1. **解压** 本包
2. **配置**：复制 `config.example.toml` 为 `config.toml`，修改：
   - `bind_addr`：监听地址（默认 `0.0.0.0:8081`）
   - `admin_token`：**务必改成强随机值**（管理看板鉴权）
   - `[[upstreams]]`：你的真实模型服务地址与模型前缀列表
3. **启动**
   - Windows：`llm-router.exe`
   - macOS/Linux：`./llm-router`

客户端把 API 地址指到 `http://<主机>:8081/v1`、携带用户 key 即可使用。管理员访问 `http://<主机>:8081/metrics`（带 `X-Admin-Token`）查看看板。

## 数据存储

SQLite（`data/gateway.db`）：用户、额度台账、请求流水（含 TTFT/速率），零外部依赖。
