1
0
lanyuanxiaoyao f18904af1e feat: 实现分层架构,包含 domain、service、repository 和 pkg 层
- 新增 domain 层:model、provider、route、stats 实体
- 新增 service 层:models、providers、routing、stats 业务逻辑
- 新增 repository 层:models、providers、stats 数据访问
- 新增 pkg 工具包:errors、logger、validator
- 新增中间件:CORS、logging、recovery、request ID
- 新增数据库迁移:初始 schema 和索引
- 新增单元测试和集成测试
- 新增规范文档:config-management、database-migration、error-handling、layered-architecture、middleware-system、request-validation、structured-logging、test-coverage
- 移除 config 子包和 model_router(已迁移至分层架构)
2026-04-16 00:47:20 +08:00
2026-04-15 16:53:28 +08:00
2026-04-15 16:53:28 +08:00
2026-04-15 16:53:28 +08:00
2026-04-15 16:53:28 +08:00

Nex - AI Gateway

一个统一的大模型 API 网关,支持 OpenAI 和 Anthropic 双协议,让应用只需配置一个地址即可透明使用多个供应商的大模型服务。

项目结构

nex/
├── backend/          # Go 后端服务
│   ├── main.go
│   ├── go.mod
│   └── internal/
│       ├── handler/       # HTTP 处理器
│       ├── protocol/      # 协议适配器
│       ├── provider/      # 供应商客户端
│       ├── router/        # 模型路由
│       ├── stats/         # 统计记录
│       └── config/        # 配置与数据库
│
├── frontend/         # React 前端界面
│   ├── src/
│   │   ├── main.tsx
│   │   ├── App.tsx
│   │   ├── pages/
│   │   ├── components/
│   │   ├── api/
│   │   └── styles/
│   └── package.json
│
└── README.md         # 本文件

功能特性

  • 双协议支持:同时支持 OpenAI 和 Anthropic 协议
  • 透明代理:对 OpenAI 兼容供应商透传请求
  • 流式响应:完整支持 SSE 流式传输
  • Function Calling支持工具调用Tools
  • 多供应商管理:配置和管理多个供应商
  • 用量统计:按供应商、模型、日期统计请求数量
  • Web 配置界面:提供供应商和模型配置管理

技术栈

后端

  • Go 1.21+
  • Gin - HTTP 框架
  • GORM - ORM
  • SQLite - 数据库

前端

  • Bun - 运行时
  • Vite - 构建工具
  • TypeScript - 类型系统
  • React - UI 框架
  • SCSS - 样式预处理

快速开始

后端

cd backend
go mod download
go run main.go

后端服务将在 http://localhost:9826 启动。

前端

cd frontend
bun install
bun dev

前端开发服务器将在 http://localhost:5173 启动。

API 接口

代理接口(对外部应用)

  • POST /v1/chat/completions - OpenAI Chat Completions API
  • POST /v1/messages - Anthropic Messages API

管理接口(对前端)

  • GET/POST/PUT/DELETE /api/providers - 供应商管理
  • GET/POST/PUT/DELETE /api/models - 模型管理
  • GET /api/stats - 统计查询

配置存储

配置数据存储在用户目录:~/.nex/config.db

开发规范

详见各子项目的 README.md

许可证

MIT

Description
No description provided
Readme 1.7 MiB
Languages
Go 76.9%
TypeScript 16.9%
Python 5.8%
JavaScript 0.2%
Makefile 0.1%