## 📋 项目简介 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) 文件。