Files
yuzhiran-dev 0f215d2aad P8 平台轻量化改造 + SSG修复 + 编程导师 + 文档完善
- Prisma: Tool 模型加 affiliateLink;免费用户沙盒 10→5 次/日
- 后端: Tools API + /admin/tools CRUD 5 端点;Practices 完整模块
- 导航: 主菜单隐藏企业版/社区(URL 可访问)
- 首页: 重定位为 AI 工具指南;新增精选工具区块;Feature 重写
- 工具页: affiliateLink 绿色推荐 Badge
- SSG 修复: config.ts 构建时直连 localhost:4000,页面 108→127
- 沙盒: 新增编程导师场景(苏格拉底教学法)
- 练习系统: Practices 多场景练习(含结构化评分)
- 技能广场: 6 个付费 Skill(标题大师/回款助手等)
- 管理后台: Models/Posts/Practices CRUD 页面
- 文档: README + progress.md 全面更新;AGENTS.md 同步定位
- 清理: .env.example 移除;tsbuildinfo gitignore
2026-06-18 18:14:07 +08:00

102 lines
4.3 KiB
Markdown
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 项目进度追踪
## 当前阶段:P6 — 技能广场 + 付费技能
### Phase 1-5 — 全部完成 ✅
### P6 — 技能广场 & 付费技能(2026-06-14
| 子项 | 说明 | 状态 |
|------|------|------|
| **市场调研** | 选定方向:付费 AI Skill(每个 Skill 解决一个垂直痛点) | ✅ |
| **Prisma Schema** | Skill 模型加 `price` 字段;新增 `UserSkill` 关联表;Order 加 `metadata` | ✅ |
| **后端** | Orders 支持 `planType: 'SKILL'`Skills 端增加 access control + marketplace API | ✅ |
| **第一个 Skill** | 标题大师 (TitleCraft) — AI 爆款标题生成器,¥9.9 | ✅ |
| **第二批 5 个 Skill** | 回款助手(¥19.9)、提案智造(¥19.9)、差评分析师(¥19.9)、商品文案大师(¥29.9)、合同审查助手(¥29.9) | ✅ |
| **前端** | `/marketplace` 技能广场页:过滤(全部/免费/付费/已拥有)、购买按钮、支付弹窗 | ✅ |
| **导航** | Header 新增「技能广场」入口 | ✅ |
| **i18n** | 中英文 marketplace.* 完整翻译 key + business 分类 | ✅ |
### 已做关键决策
- Skill = 最小可交付产品单元。不是"又一个 AI 平台",而是**每做一个 Skill 就单独卖**
- 第一个 Skill 选"标题大师"——最窄、最痛、最快见效,不依赖人脉
- 定价 ¥9.9(低门槛试探市场),后续 Skill 可根据价值定价 ¥19.9-¥49
- 购买后永久拥有,不走订阅制(降低决策门槛)
### 部署备忘
```bash
# 前端部署后需要:
cd backend && node prisma/update-skill.cjs # 如果 system prompt 需要更新
```
### 待办/下一步
1. **写第一篇知乎文章**:《我做了个 AI 付费技能,¥9.9 能卖出去吗?》—— 用内容验证需求
2. **如果 2 周内无人购买**:换第二个 Skill(如"差评回复生成器"或"小红书文案仿写"
3. **如果有人购买**:深入优化标题大师,考虑涨价到 ¥19.9,同时做第二个 Skill
4. **长期**:每个 Skill 都是一个独立获客入口 + 内容素材
---
## 部署架构
### 域名概况
| 域名 | 类型 | 说明 | 状态 |
|------|------|------|------|
| **www.yuzhiran.com** | AI 学习平台 | 前端静态导出 + NestJS 后端 | 🟢 线上 |
| **trade.yuzhiran.com** | 另一项目(非 AI 平台) | SPA 应用,独立后端 8002 端口 | 🟢 线上 |
| **alvnc.yuzhiran.com** | 其他服务 | — | 🟢 线上 |
### www.yuzhiran.com 部署详情
```
用户 → Nginx (443/80) → /api/* → backend (127.0.0.1:4000)
→ /* → static files (/www/wwwroot/www.yuzhiran.com/)
```
| 组件 | 技术栈 | 运行方式 | 端口 |
|------|--------|---------|------|
| **前端** | Next.js 14 App Router → `output: 'export'` 静态 HTML | Nginx 直接提供 `/www/wwwroot/www.yuzhiran.com/` | 443/80 |
| **后端** | NestJS + Prisma + MySQL | PM2 (`backend`) | 4000 |
| **数据库** | MySQL 8.0 | systemd (`ai_leaning`) | 3306 |
| **Web 服务器** | Nginx (宝塔面板) | systemd | 443/80 |
| **支付网关** | yzrcloud.cn 统一网关 | 外部服务 | 8100(内网) |
**Nginx 配置** (`/www/server/panel/vhost/nginx/www.yuzhiran.com.conf`):
- 静态资源 `/``try_files $uri $uri.html $uri/index.html =404`
- API 代理 `/api/``proxy_pass http://127.0.0.1:4000`
- 静态资源缓存: `_next/static/` 365 天, 图片 30 天, JS/CSS 12 小时
**部署流程**:
```bash
# 前端
cd frontend && npm run build # 生成 out/
cp -r out/* /www/wwwroot/www.yuzhiran.com/
# 后端
cd backend && npm run build # 生成 dist/
pm2 restart backend
```
---
## 支付对接
### 架构总览
```
前端 (会员页) → POST /orders/create → GatewayPayService → HMAC-SHA256 → yzrcloud.cn 网关
├── 支付宝 PC 网站
└── 微信 Native 扫码
网关回调 → POST /api/v1/payment/gateway/webhook → 更新订单 + 激活订阅/关联技能
```
### 技能购买流程
```
用户点击"解锁" → POST /orders/create (planType=SKILL, skillId=xxx)
→ mock支付自动完成
→ UserSkill 记录创建
→ 技能广场页显示"已拥有"
→ 用户可直接在沙盒使用
```