# 宇之然 AI 工具指南与技能练习平台

AI 工具指南 · 实战练习 · 技能提升 — 让每个人都能用好 AI

| 信息 | 内容 |
|------|------|
| 品牌 | 宇之然（北京宇之然科技中心） |
| 官网 | https://yuzhiran.com |
| 备域名 | https://yuzhiran.com.cn |
| ICP 备案 | ✅ 已完成 |

## 项目结构

```
ai-learning-platform/
├── README.md                    # 项目说明
├── AGENTS.md                    # AI 项目知识库（开发助手专用）
├── docs/                        # 项目文档
│   ├── progress.md              # 进度追踪
│   ├── archive/                 # 历史进度存档
│   ├── 产品规划书.md            # 完整产品规划（含商业模式、可行性分析）
│   ├── 技术架构设计.md          # 技术选型与系统架构
│   └── 合规与运营方案.md        # ICP合规、数据合规、运营策略
├── frontend/                    # 前端（Next.js 14 App Router + shadcn/ui）
├── backend/                     # 后端 API（NestJS + Prisma + MySQL）
│   ├── src/modules/             # 功能模块
│   │   ├── payment/             # 支付模块（统一支付网关对接）
│   │   ├── ai/                  # AI 模型接入（OpenAI/Doubao/DeepSeek）
│   │   ├── sandbox/             # AI 实操沙箱（多场景练习）
│   │   ├── skills/              # 技能系统（付费 Skill 商店）
│   │   ├── tools/               # AI 工具指南
│   │   ├── practices/           # 练习系统
│   │   └── marketplace/         # 技能广场 API
│   ├── prisma/                  # 数据模型定义（含 seed 脚本）
│   └── cert/                    # 支付证书
└── scripts/                     # 工具脚本
    └── deploy.sh                # 部署脚本
```

## 产品定位

面向大众的 **AI 工具指南与技能练习平台**，帮助用户：
- 发现优质 **AI 工具**（含返佣推荐）
- 系统学习 **Prompt 工程**（体系化课程）
- 在 **AI 实操沙箱** 中练习提示词技能
- 购买一次性付费 **AI 技能**（垂直场景解决方案）
- 通过 **编程导师** 苏格拉底式学习编程

## 技术栈

### 前端
- **框架**: Next.js 14 (App Router, `output: 'export'` 静态导出)
- **UI**: shadcn/ui + Tailwind CSS（暗黑模式，CSS 变量主题）
- **国际化**: next-intl（中/英文，中文默认）
- **状态管理**: React Server Components 优先，客户端 `useState`/`useEffect`

### 后端
- **框架**: NestJS (Node.js)
- **ORM**: Prisma + MySQL
- **认证**: JWT + Passport
- **AI 接口**: OpenAI 兼容接口（DeepSeek、字节豆包、通义千问）
- **支付**: 统一支付网关（yzrcloud.cn，支持支付宝/微信）

## 快速开始

```bash
# 后端开发（端口 4000）
cd backend
cp .env.example .env       # 配置数据库密码、AI 密钥等
npm install
npx prisma generate
npx prisma db push         # 初始化数据库
npm run start:dev

# 前端开发（端口 3000）
cd frontend
cp .env.local.example .env.local  # 或直接设置 NEXT_PUBLIC_API_URL=/api/v1
npm install
npm run dev
```

**注意**: 前端为 SSG（`output: 'export'`），构建时需要后端运行在 `localhost:4000` 以确保 `generateStaticParams` 能获取动态路由参数。

## 核心功能

| 功能 | 说明 | 状态 |
|------|------|------|
| 🛠️ **AI 工具指南** | 收录优质 AI 工具，含返佣链接推荐 | ✅ 已上线 |
| 📚 **课程系统** | AI 系统课程（免费/付费），含章节和课时 | ✅ 已上线 |
| 🧪 **AI 实操沙箱** | 多场景提示词练习（写作/编程/客服/翻译/编程导师） | ✅ 已上线 |
| 💰 **技能广场** | 一次性付费购买垂直场景 AI 技能（¥9.9-¥29.9） | ✅ 已上线 |
| 👤 **用户系统** | 注册/登录/会员管理 | ✅ 已上线 |
| 🧑‍🏫 **编程导师** | 苏格拉底式教学，不直接给答案 | ✅ 已上线 |
| 📊 **学情分析** | 知识领域掌握度跟踪 | ✅ 已上线 |
| 🏢 **企业版** | 企业 AI 培训管理（隐藏菜单，URL 可访问） | ⏸️ 暂停运营 |

## 部署架构

```
用户 → Nginx (443/80) → /api/* → backend (127.0.0.1:4000, PM2)
                     → /* → static files (/www/wwwroot/www.yuzhiran.com/)
```

- 前端: Next.js SSG 导出到 `/www/wwwroot/www.yuzhiran.com/`，Nginx 直接提供
- 后端: NestJS + PM2 常驻 4000 端口
- 数据库: MySQL 8.0 (systemd)
- Web 服务器: Nginx（宝塔面板管理）
