企业级 AI 网关平台
统一管理所有大模型 API,支持主流 AI 编程工具。
- OpenAI(GPT-4o、GPT-4o-mini、o1、o3)
- Anthropic(Claude Opus 4、Claude Sonnet 4、Claude Haiku 4)
- Google(Gemini 2.5 Pro、Gemini 2.5 Flash)
- DeepSeek(V3、R1)
- Qwen(Qwen 3)
- GLM(GLM-4)
- Moonshot(Kimi)
- Grok(Grok-3)
- Claude Code
- Codex CLI
- Cursor
- Roo Code
- Cline
- Windsurf
- Continue
- 邮箱注册 / 登录
- JWT 认证(Access Token + Refresh Token)
- 密码重置
- API Key 管理(创建、删除、启停、限流、模型白名单、IP 白名单)
- Token 使用追踪
- 精确 Token 计量(Tokenizer)
- 余额系统(充值、扣费、冻结、交易流水)
- 模型定价管理(输入/输出/缓存/推理 分开计价)
- OpenAI 兼容接口(
/v1/chat/completions、/v1/models) - 流式响应(SSE)
- 多渠道故障转移
- 渠道权重与优先级
- 请求限流(多级:短期/中期/长期)
- Provider 管理(
/admin/providers):CRUD + 关联检查 - 渠道管理(
/admin/channels):CRUD + 启禁用 + API Key 脱敏 - 模型管理(
/admin/models):CRUD + 定价管理 - 用户管理(
/admin/users):列表/详情/角色修改/状态管理
- 用户、余额、交易流水
- API Key(支持限流、模型/IP 白名单)
- 模型与定价
- Provider、渠道、渠道模型映射
- 订单与支付
- 套餐与订阅
- 企业组织
- 请求日志
┌─────────────────────────────────────────────────────────────┐
│ 客户端层 │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Claude │ │ Cursor │ │ Codex │ │ Windsurf │ │
│ │ Code │ │ │ │ CLI │ │ │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
└───────┼──────────────┼──────────────┼──────────────┼────────┘
│ │ │ │
┌───────▼──────────────▼──────────────▼──────────────▼────────┐
│ API 网关层 │
│ 限流 / 认证 / 日志 / 路由 │
└────────────────────────────┬────────────────────────────────┘
│
┌────────────────────────────▼────────────────────────────────┐
│ 后端服务层 │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ 认证 │ │ 网关 │ │ 计费 │ │ Admin │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
└────────────────────────────┬────────────────────────────────┘
│
┌────────────────────────────▼────────────────────────────────┐
│ 数据层 │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ PostgreSQL │ │ Redis │ │ Prisma │ │
│ │ (主库) │ │ (缓存) │ │ (ORM) │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────┘
- 框架: Next.js + React
- 语言: TypeScript
- 样式: TailwindCSS + Shadcn/ui
- 状态管理: Zustand + TanStack Query
- 框架: NestJS + Fastify
- 语言: TypeScript
- ORM: Prisma
- API 文档: Swagger / OpenAPI
- 主库: PostgreSQL
- 缓存: Redis
- Monorepo: pnpm workspace + Turbo
- 包管理: pnpm
- Node.js >= 20
- pnpm 9+
- PostgreSQL 16+
- Redis 7+
# 克隆仓库
git clone https://github.com/your-username/toaiapi.git
cd toaiapi
# 安装依赖
pnpm install
# 配置环境变量
cp .env.example .env# 生成 Prisma Client
pnpm db:generate
# 运行数据库迁移
pnpm db:migrate
# 初始化数据(创建管理员账号等)
cd apps/backend && npx prisma db seed
# 打开 Prisma Studio(可视化管理数据库)
pnpm db:studio# 启动后端(默认端口 3001)
cd apps/backend && npm run start:dev
# 启动前端(默认端口 3000)
cd apps/frontend && npm run dev
# 或同时启动所有服务
pnpm dev| 字段 | 值 |
|---|---|
| 邮箱 | admin@toaiapi.com |
| 密码 | Admin@123456 |
| 后台地址 | http://localhost:3000/admin |
⚠️ 首次登录后请立即修改默认密码。
# 开发
pnpm dev # 启动所有服务
pnpm build # 构建所有包
pnpm test # 运行测试
pnpm lint # 代码检查
# 数据库
pnpm db:generate # 生成 Prisma Client
pnpm db:migrate # 运行迁移
pnpm db:push # 推送 Schema 变更
pnpm db:studio # 打开 Prisma Studio
# 单个包
pnpm --filter @toai/backend dev
pnpm --filter @toai/frontend devtoaiapi/
├── apps/
│ ├── frontend/ # Next.js 前端
│ ├── admin/ # 管理后台(规划中)
│ └── backend/ # NestJS 后端
├── packages/
│ ├── sdk/ # 客户端 SDK
│ ├── billing/ # 计费核心逻辑
│ ├── gateway/ # 网关核心逻辑
│ ├── auth/ # 认证授权
│ └── common/ # 公共工具与类型
├── docs/ # 项目文档
├── .ai/ # AI 开发规则
└── CLAUDE.md # Claude Code 配置
提交 PR 前请阅读 CONTRIBUTING.md。
如需报告安全漏洞,请阅读 SECURITY.md。
本项目基于 MIT 协议开源,详见 LICENSE。
- OpenRouter — 多模型路由灵感
- OneAPI — API 管理灵感
- NewAPI — 计费系统灵感