功能特性: - 用户端充值记录页面,从使用日志中分离 - 充值记录中的去开发票功能 - 管理员发票管理页面 - 发票申请、处理、邮件通知功能 - 侧边栏菜单更新 - UI优化和控制台清理 - Docker部署配置 - 生产环境安全配置
158 lines
4.5 KiB
Markdown
158 lines
4.5 KiB
Markdown
|
||
|
||
## 📋 项目简介
|
||
|
||
NewAPI 是一个新一代大模型网关与AI资产管理系统,基于 One API 项目进行二次开发。它是一个开源的AI模型接口管理与分发系统,主要用于个人学习和内部管理。
|
||
|
||
## 🏗️ 项目结构
|
||
|
||
```
|
||
new-api/
|
||
├── main.go # 主程序入口
|
||
├── go.mod # Go模块配置
|
||
├── go.sum # 依赖版本锁定
|
||
├── docker-compose.yml # Docker Compose配置
|
||
├── Dockerfile # Docker镜像构建文件
|
||
├── makefile # 构建脚本
|
||
├── README.md # 项目说明文档
|
||
├── .env.example # 环境变量配置示例
|
||
│
|
||
├── controller/ # 控制器层 - 处理HTTP请求
|
||
│ ├── user.go # 用户管理
|
||
│ ├── channel.go # 渠道管理
|
||
│ ├── relay.go # 中继服务
|
||
│ ├── token.go # 令牌管理
|
||
│ ├── topup.go # 充值功能
|
||
│ └── ...
|
||
│
|
||
├── model/ # 数据模型层
|
||
│ ├── main.go # 数据库初始化
|
||
│ ├── user.go # 用户模型
|
||
│ ├── channel.go # 渠道模型
|
||
│ ├── token.go # 令牌模型
|
||
│ ├── log.go # 日志模型
|
||
│ └── ...
|
||
│
|
||
├── service/ # 业务逻辑层
|
||
├── router/ # 路由配置
|
||
├── middleware/ # 中间件
|
||
├── common/ # 公共工具
|
||
├── constant/ # 常量定义
|
||
├── types/ # 类型定义
|
||
├── dto/ # 数据传输对象
|
||
├── relay/ # 中继服务实现
|
||
├── setting/ # 设置相关
|
||
├── i18n/ # 国际化
|
||
│
|
||
├── web/ # 前端项目
|
||
│ ├── src/ # 源代码
|
||
│ ├── public/ # 静态资源
|
||
│ ├── package.json # 前端依赖配置
|
||
│ ├── vite.config.js # Vite配置
|
||
│ └── ...
|
||
│
|
||
└── docs/ # 文档目录
|
||
```
|
||
|
||
## 🛠️ 技术栈
|
||
|
||
### 后端技术
|
||
- **语言**: Go 1.23.4
|
||
- **Web框架**: Gin
|
||
- **数据库**: SQLite (默认) / MySQL / PostgreSQL
|
||
- **缓存**: Redis / 内存缓存
|
||
- **ORM**: GORM
|
||
- **认证**: JWT / Session
|
||
- **部署**: Docker / Docker Compose
|
||
|
||
### 前端技术
|
||
- **框架**: React 18
|
||
- **构建工具**: Vite
|
||
- **UI组件库**: Semi UI
|
||
- **样式**: Tailwind CSS
|
||
- **状态管理**: React Hooks
|
||
- **路由**: React Router
|
||
- **国际化**: i18next
|
||
|
||
## ✨ 主要功能
|
||
|
||
1. **🎨 全新UI界面** - 现代化的用户界面设计
|
||
2. **🌍 多语言支持** - 支持多种语言
|
||
3. **💰 在线充值功能** - 支持易支付等支付方式
|
||
4. **🔍 Key查询功能** - 支持用key查询使用额度
|
||
5. **💵 按次数收费** - 支持模型按次数收费
|
||
6. **⚖️ 渠道加权随机** - 智能负载均衡
|
||
7. **📈 数据看板** - 详细的使用统计和控制台
|
||
8. **🔒 令牌分组** - 灵活的权限管理
|
||
9. **🤖 多种登录方式** - 支持LinuxDO、Telegram、OIDC等
|
||
10. **🔄 多种模型支持** - 支持OpenAI、Claude、Midjourney、Suno等
|
||
|
||
## 🚀 快速开始
|
||
|
||
### 环境要求
|
||
- Go 1.23.4+
|
||
- Node.js 18+ (用于前端构建)
|
||
- Docker (可选)
|
||
|
||
### 本地开发
|
||
|
||
1. **克隆项目**
|
||
```bash
|
||
git clone https://github.com/Calcium-Ion/new-api.git
|
||
cd new-api
|
||
```
|
||
|
||
2. **配置环境变量**
|
||
```bash
|
||
cp .env.example .env
|
||
# 编辑 .env 文件配置数据库等
|
||
```
|
||
|
||
3. **构建前端**
|
||
```bash
|
||
cd web
|
||
bun install
|
||
bun run build
|
||
cd ..
|
||
```
|
||
|
||
4. **运行后端**
|
||
```bash
|
||
go mod tidy
|
||
go run main.go
|
||
```
|
||
|
||
### Docker部署
|
||
|
||
```bash
|
||
# 使用Docker Compose
|
||
docker-compose up -d
|
||
|
||
# 或直接使用Docker镜像
|
||
docker run --name new-api -d --restart always -p 3000:3000 \
|
||
-e TZ=Asia/Shanghai \
|
||
-v /path/to/data:/data \
|
||
calciumion/new-api:latest
|
||
```
|
||
|
||
## 📚 文档
|
||
|
||
- **官方文档**: https://docs.newapi.pro/
|
||
- **API文档**: https://docs.newapi.pro/api
|
||
- **安装指南**: https://docs.newapi.pro/installation
|
||
|
||
## ⚠️ 重要声明
|
||
|
||
- 本项目仅供个人学习使用,不保证稳定性
|
||
- 不提供任何技术支持
|
||
- 必须遵循OpenAI使用条款和法律法规
|
||
- 不得用于非法用途
|
||
- 根据中国相关法规,请勿对中国地区公众提供未经备案的生成式人工智能服务
|
||
|
||
## 🤝 贡献
|
||
|
||
欢迎提交Issue和Pull Request来改进项目。
|
||
|
||
## 📄 许可证
|
||
|
||
本项目基于开源许可证发布,详见 [LICENSE](LICENSE) 文件。 |