AutoRouter Banner
一个面向多上游治理的 AI API Gateway
Next.js React TypeScript PostgreSQL
License GitHub Stars GitHub Issues Last Commit
English · 简体中文
- OpenAI 兼容代理 - 通过
/api/proxy/v1/*转发请求,支持普通响应与 SSE 流式输出 - API Key 生命周期管理 - 创建、更新、停用、撤销密钥,并绑定可访问上游与过期时间
- 多上游能力路由 - 按请求路径能力与密钥授权筛选候选上游,并结合
model_redirects、优先级、权重、熔断、并发、配额与故障转移完成选路 - 可观测请求日志 - 记录候选集、路由决策、故障转移历史、会话亲和命中与 Token、计费快照
- 密钥双层保护 - API Key 使用 bcrypt 哈希,上游密钥使用 Fernet 加密存储
- 管理面鉴权隔离 -
/api/admin/*统一使用独立ADMIN_TOKEN鉴权 - SSRF 防护 - 上游地址校验阻断私网/回环/元数据地址,并校验 DNS 解析结果
- 敏感操作开关 -
ALLOW_KEY_REVEAL默认关闭,避免误暴露完整密钥
| 仪表盘 | 上游管理 |
|---|---|
| Mobile Dashboard | Mobile Upstreams |
| 请求日志 | 密钥管理 |
| Mobile Logs | Mobile API Keys |
最小可用启动流程如下:
git clone https://github.com/g1331/AutoRouter.git cd AutoRouter cp .env.example .env # 编辑 .env:至少设置 ADMIN_TOKEN 与 ENCRYPTION_KEY docker compose up -d # 默认访问 http://localhost:3331
环境要求:Node.js 22+(源码构建场景)、PostgreSQL 16(默认,生产推荐);本地开发可改用 SQLite。
更完整的部署形态、版本发布、个人部署 secrets、源码本地开发、SQLite 切换流程,详见文档站 部署指南。
| 主题 | 链接 |
|---|---|
| 部署形态与快速开始 | guide/deployment |
| 环境变量参考 | guide/deployment/env-reference |
| GitHub Actions 部署 | guide/deployment/github-actions |
| 管理后台使用指南 | guide/usage |
| 整体架构与请求生命周期 | guide/architecture |
| 测试策略与贡献规范 | guide/architecture/testing · contributing |
文档结构、撰写背景与版本规划参见 issue #167。
AGPL-3.0 © 2025 AutoRouter Contributors
如果这个项目对你有帮助,请考虑给一个 Star ⭐