0f215d2aad
- 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
4.3 KiB
Executable File
4.3 KiB
Executable File
项目进度追踪
当前阶段: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
- 购买后永久拥有,不走订阅制(降低决策门槛)
部署备忘
# 前端部署后需要:
cd backend && node prisma/update-skill.cjs # 如果 system prompt 需要更新
待办/下一步
- 写第一篇知乎文章:《我做了个 AI 付费技能,¥9.9 能卖出去吗?》—— 用内容验证需求
- 如果 2 周内无人购买:换第二个 Skill(如"差评回复生成器"或"小红书文案仿写")
- 如果有人购买:深入优化标题大师,考虑涨价到 ¥19.9,同时做第二个 Skill
- 长期:每个 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 小时
部署流程:
# 前端
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 记录创建
→ 技能广场页显示"已拥有"
→ 用户可直接在沙盒使用