项目进度追踪
当前阶段:P4 — 支付闭环 + 部署
Phase 1-4 — 全部完成 ✅
P0 — 全局优化(全部完成 ✅)
| 子项 |
说明 |
状态 |
| P0a |
i18n 基础设施 + 翻译文件 + LanguageProvider + useT hook |
✅ |
| P0b |
UI 统一 — Design Token + 共享组件库 |
✅ |
| P0c |
逐页翻译 + 语言切换 — 沙盒页面 useT 化 |
✅ |
| P0d |
会员定价页重构(用量可视化) |
✅ |
| P0e |
模型选择器升级(卡片式 + 能力标签) |
✅ |
| P0f |
会话分享链接 — HMAC 签名 + 分享查看页 |
✅ |
P1 — 学习技能包(全部完成 ✅)
| 子项 |
说明 |
状态 |
| 后端 |
SkillsModule + 8 技能定义 + 过滤/详情 API |
✅ |
| 前端 |
/skills 市场 + /skills/[id] 详情 + header 入口 |
✅ |
| 沙盒集成 |
替代硬编码 SCENES,从 API 动态加载,?skill=xxx 支持 |
✅ |
P2 — CSS 统一(全部完成 ✅)
| 子项 |
说明 |
状态 |
| Mobile variables.css |
Design Token 变量定义(Web/Mobile 统一) |
✅ |
| Mobile 全站 18 页 |
批量替换 hardcoded color → CSS vars |
✅ |
| PC 响应式 |
header/compare/sandbox/member/workshop 移动端修复 |
✅ |
P3 — 体验增强(全部完成 ✅)
| 优先级 |
项目 |
说明 |
状态 |
| P4a |
多模态 — 图片上传 + 沙盒 Vision |
✅ 完成 |
|
| P4b |
代码语法高亮 |
highlight.js + CodeBlock 组件 |
✅ |
| P3c |
会话重命名 |
PATCH endpoint + 双击编辑 |
✅ |
| — |
SDK / 共享 UI 包 |
远期规划 |
📋 |
P4 — 支付闭环 + 统一网关(已完成 ✅)
| 子项 |
说明 |
状态 |
| P4a |
统一支付网关集成 — GatewayPayService HMAC-SHA256 对接 yzrcloud.cn 网关,支持支付宝/微信 |
✅ |
| P4b |
会员页双支付按钮 — 支付宝/微信可选,统一走网关 |
✅ |
| P4c |
网关 Webhook 接收 — POST /api/v1/payment/gateway/webhook,处理 recharge.completed / order.refunded |
✅ |
| P4d |
管理后台订单增强 — 搜索/分页/渠道筛选/退款弹窗/标记已付 |
✅ |
| P4e |
Mock 降级 — 网关不可达时自动 mock 完成支付,不影响开发 |
✅ |
| — |
订阅到期提醒 / 自动续费 |
📋 远期 |
P5 — 运营助手(已完成 ✅)
| 子项 |
说明 |
状态 |
| P5a |
新增 POST /admin/ai-assistant/chat 端点 — 管理员专用 AI 聊天 |
✅ |
| P5b |
AdminAiAssistantService — 19 个可执行工具定义 |
✅ |
| P5c |
POST /admin/ai-assistant/action — 工具执行 + AI 总结 |
✅ |
| P5d |
前端 Tool Calling 架构 — AI 自动识别意图→调用→解释→展示 |
✅ |
| P5e |
system prompt 动态注入工具列表 |
✅ |
部署架构
域名概况
| 域名 |
类型 |
说明 |
状态 |
| www.yuzhiran.com |
AI 学习平台 |
前端静态导出 + NestJS 后端 |
🟢 线上 |
| trade.yuzhiran.com |
另一项目(非 AI 平台) |
SPA 应用,独立后端 8002 端口 |
🟢 线上 |
| alvnc.yuzhiran.com |
其他服务 |
— |
🟢 线上 |
www.yuzhiran.com 部署详情
| 组件 |
技术栈 |
运行方式 |
端口 |
| 前端 |
Next.js 14 App Router → output: 'export' 静态 HTML |
Nginx 直接提供 /www/wwwroot/www.yuzhiran.com/ |
443/80 |
| 后端 |
NestJS + Prisma + MySQL |
PM2 (yuzhiran-api) |
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 小时
部署流程:
trade.yuzhiran.com(独立项目)
非 AI 学习平台项目,独立部署:
- 前端 SPA (React),root at
/www/wwwroot/trade.yuzhiran.com/
- 后端 API at
127.0.0.1:8002
- 路由:
/admin/ → SPA fallback, /workspace/ → SPA fallback
支付对接
架构总览
统一支付网关对接参数
| 参数 |
值 |
来源 |
| 网关地址(内网) |
http://localhost:8100 |
.env |
| 网关地址(外网) |
https://www.yzrcloud.cn/api/gateway |
未启用 |
| API Key |
pay_2ac89d9831244c2ebdbb2a24 |
AI学习平台.key |
| API Secret |
6a2e6c6801384bd0800849ef42ad5e8ef51898819895478a |
AI学习平台.key |
| 签名算法 |
HMAC-SHA256 |
sign_str = "{method}\n{path}\n{timestamp}\n{body_sha256}" |
| Webhook |
POST /api/v1/payment/gateway/webhook |
后端接收 |
| 支付方式 |
alipay / wechat |
网关统一处理 |
| Mock 模式 |
GATEWAY_PAY_MOCK=true |
开发环境启用 |
后端对接文件
| 文件 |
说明 |
backend/src/modules/payment/gateway-pay.service.ts |
核心网关服务,HMAC 签名 + 下单/查询/退款/Webhook |
backend/src/modules/payment/payment.controller.ts |
/api/v1/payment/gateway/webhook 等端点 |
backend/src/modules/orders/orders.service.ts |
下单路由,统一走网关 |
backend/.env |
GATEWAY_PAY_* 配置项 |
API 端点一览
| 方法 |
路径 |
说明 |
认证 |
| POST |
/api/v1/payment/gateway/webhook |
网关支付成功/退款回调 |
无(网关签名在 body 中) |
| GET |
/api/v1/payment/wxpay/query?outTradeNo=xxx |
订单状态查询(转网关) |
JWT |
| POST |
/api/v1/payment/wxpay/refund |
退款(转网关) |
JWT |
| POST |
/api/v1/orders/create |
创建订单+发起支付 |
JWT |
| GET |
/api/v1/admin/orders?page=&search=&status=&payChannel= |
管理员订单搜索 |
Admin JWT |
| POST |
/api/v1/admin/orders/:orderNo/refund |
管理员退款 |
Admin JWT |
| POST |
/api/v1/admin/orders/:orderNo/mark-paid |
标记人工已付 |
Admin JWT |
商户密钥文件
备份位置: /root/hermes-workspace/backup/网关支付/pay-api/merchants/AI学习平台.key
2026-05-31 Session (下午)
Changes Made
- AI 助手架构升级: 用户端 + 管理后台双 AI 助手均采用完整 Tool Calling 架构
- 新增
UserAiAssistantService: 后台工具执行服务,18 个工具(搜索/技能/学情/通知/个人信息/模型/提示词/课程/订单)
- 新增
AiAssistantController: POST /api/v1/ai-assistant/chat + /action 端点
- 新增
AiAssistantModule: 注册 SkillsModule + AIModule 依赖
- 重写前端
ai-assistant.tsx: Tool Calling 架构 + 页面感知上下文 + 登录控制
- 更新前端
admin-ai-assistant.tsx: 新增 search/mark-all-notifications-read 工具描述 + 更多 starter
- 新增后台
search/mark-all-notifications-read 工具: 全局搜索用户/订单/课程/内容 + 通知批量已读
- 重构
assistant-actions.ts: 统一 executeClientAction() API,支持所有客户端操作
- 清理
assistant-context.ts: 精简为纯上下文数据源,移除旧 action 格式
用户端 AI 助手可用操作
| 分类 |
工具 |
| 🧭 导航 |
navigate — 跳转到任意页面 |
| 🔍 搜索 |
search — 全局搜索课程/提示词/工具/文章 |
| 🎯 技能 |
list-skills / get-skill / get-skill-categories |
| 📊 学情 |
get-learning-analytics / get-learning-path |
| 🔔 通知 |
list-notifications / get-unread-count / mark-notification-read / mark-all-read |
| 👤 个人 |
get-profile / list-user-orders / get-current-subscription |
| 📚 内容 |
list-models / list-prompts / list-courses |
| ⚡ 客户端 |
setModel / startChat / openSkill / setParameter |
管理后台新增工具
| 工具 |
说明 |
search |
全局搜索用户/订单/课程/内容 |
mark-all-notifications-read |
批量标记所有通知已读 |
Verification
- ✅ 后端 92 项测试全部通过
- ✅ 后端 TypeScript 编译无错误
- ✅ 前端 83 静态页面全部生成成功(含 8 个 /practices/[id] 页面)
2026-06-10 Session (续) — ¥9.9 用量包 + 企业版 MVP
¥9.9 用量包系统
- User 模型: 新增
sandboxExtra Int @default(0) 字段(购买的额外配额)
- 配额逻辑改造 (
SandboxService): 优先消耗每日免费 → 不足时扣除 sandboxExtra;getQuota() 返回 dailyRemaining + extra + totalRemaining
- Orders 支持
PACKAGE: completeMockPayment() 检测 PACKAGE 时按金额增加 extra 配额(¥9.9→50次, ¥49→300次)
- 前端沙盒: 配额显示双层(今日已用 + 剩余额外),超限跳转购买页
- 新增
/practices/packages: 三档用量包购买页(¥4.9/10次, ¥9.9/50次, ¥49/300次),复用现有支付流程
企业版 MVP
- 后端: 11 enterprise API 端点 + Organization/OrganizationMember 模型 + 完整 CRUD(已有)
- 新增
/enterprise: 营销着陆页 — Shadow AI 数据隔离故事、六大功能、定价、FAQ
- 新增
/enterprise/dashboard: 团队管理后台 — 创建组织/邀请成员/使用报告
- Header 导航: 新增「企业版」入口
- i18n: 完整
enterprise.* 翻译 keys
Files Created
| 文件 |
说明 |
frontend/src/app/practices/packages/page.tsx |
用量包购买页 |
frontend/src/app/enterprise/page.tsx |
企业版营销着陆页 |
frontend/src/app/enterprise/dashboard/page.tsx |
团队管理后台 |
Verification
- ✅ 后端 92 项测试全部通过
- ✅ Prisma migrate 成功
- ✅ 前端 86 个静态页面全部生成成功
- ✅ Header 导航已更新(练习 + 企业版)
- ✅ i18n 中英文完整翻译
Verification
- ✅ 后端 92 项测试全部通过
- ✅ 后端 TypeScript 编译无错误
- ✅ 前端 75 静态页面全部生成成功