API/PROJECT_OVERVIEW.md
chenpei 08dd1c7f75 初始提交:添加充值记录和发票管理功能
功能特性:
- 用户端充值记录页面,从使用日志中分离
- 充值记录中的去开发票功能
- 管理员发票管理页面
- 发票申请、处理、邮件通知功能
- 侧边栏菜单更新
- UI优化和控制台清理
- Docker部署配置
- 生产环境安全配置
2025-09-04 18:07:16 +08:00

4.5 KiB
Raw Blame History

📋 项目简介

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. 克隆项目

    git clone https://github.com/Calcium-Ion/new-api.git
    cd new-api
    
  2. 配置环境变量

    cp .env.example .env
    # 编辑 .env 文件配置数据库等
    
  3. 构建前端

    cd web
    bun install
    bun run build
    cd ..
    
  4. 运行后端

    go mod tidy
    go run main.go
    

Docker部署

# 使用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

📚 文档

⚠️ 重要声明

  • 本项目仅供个人学习使用,不保证稳定性
  • 不提供任何技术支持
  • 必须遵循OpenAI使用条款和法律法规
  • 不得用于非法用途
  • 根据中国相关法规,请勿对中国地区公众提供未经备案的生成式人工智能服务

🤝 贡献

欢迎提交Issue和Pull Request来改进项目。

📄 许可证

本项目基于开源许可证发布,详见 LICENSE 文件。