1
0
lanyuanxiaoyao 9359ca7f62 feat: 完成前端重构,采用 Ant Design 5 和完整测试体系
- 采用 Ant Design 5 作为 UI 组件库,替换自定义组件
- 集成 React Router v7 提供路由导航
- 使用 TanStack Query v5 管理数据获取和缓存
- 建立 Vitest + React Testing Library 测试体系
- 添加 Playwright E2E 测试覆盖
- 使用 MSW mock API 响应
- 配置 TypeScript strict 模式
- 采用 SCSS Modules 组织样式
- 更新 OpenSpec 规格以反映前端架构变更
- 归档 frontend-refactor 变更记录
2026-04-16 11:21:48 +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/
│   │   ├── api/            # API 层(统一请求封装 + 字段转换)
│   │   ├── hooks/          # TanStack Query hooks
│   │   ├── components/     # 通用组件AppLayout
│   │   ├── pages/          # 页面Providers, Stats, NotFound
│   │   ├── routes/         # React Router 路由配置
│   │   ├── types/          # TypeScript 类型定义
│   │   └── __tests__/      # 测试API、Hooks、组件
│   ├── e2e/                # Playwright E2E 测试
│   └── package.json
│
└── README.md         # 本文件

功能特性

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

技术栈

后端

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

前端

  • Bun - 运行时
  • Vite - 构建工具
  • TypeScript (strict mode) - 类型系统
  • React - UI 框架
  • Ant Design 5 - UI 组件库
  • React Router v7 - 路由
  • TanStack Query v5 - 数据获取
  • SCSS Modules - 样式方案
  • Vitest + Playwright - 测试

快速开始

后端

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%