feat: P1 学习技能包 — 可组合技能模块系统

后端:
- SkillsModule (service + controller),8 个预置技能
- GET /skills (支持 category/difficulty/search 过滤)
- GET /skills/:id /categories /difficulties

前端:
- /skills 技能市场 — 分类/难度/搜索过滤
- /skills/[id] 技能详情 — system prompt、练习任务、starter
- header 导航新增「技能」入口
- sandbox page 改为从 API 加载技能(替代硬编码 SCENES)
- 支持 ?skill=xxx 直接加载指定技能
- useSearchParams Suspense 包装

全栈: 70 pages / 92 tests 全部通过
This commit is contained in:
yuzhiran-dev
2026-05-18 11:15:00 +08:00
parent cba785e6bd
commit fb092cb5d9
14 changed files with 553 additions and 26 deletions
+11 -8
View File
@@ -1,18 +1,21 @@
# 项目进度追踪
## 当前阶段:P0 — 全局优化
## 当前阶段:P0 全部完成 ✅
### Phase 1-3 — 全部完成 ✅
### P0 — 全局优化(当前阶段
### P0 — 全局优化(全部完成 ✅
| 子项 | 说明 | 状态 |
|------|------|------|
| **P0a** | i18n 基础设施 + 翻译文件 + LanguageProvider + useT hook | ✅ 完成 |
| **P0b** | UI 统一 — Design Token + 共享组件库 | ✅ 完成 |
| **P0c** | 逐页翻译 + 语言切换 — 沙盒页面 useT 化 | ✅ 完成 |
| **P0d** | 会员定价页重构(用量可视化) | ⏳ 待开始 |
| **P0e** | 模型选择器升级(卡片式 + 能力标签) | ⏳ 待开始 |
| **P0f** | 会话分享链接 | ⏳ 待开始 |
| **P0a** | i18n 基础设施 + 翻译文件 + LanguageProvider + useT hook | ✅ |
| **P0b** | UI 统一 — Design Token + 共享组件库 | ✅ |
| **P0c** | 逐页翻译 + 语言切换 — 沙盒页面 useT 化 | ✅ |
| **P0d** | 会员定价页重构(用量可视化) | |
| **P0e** | 模型选择器升级(卡片式 + 能力标签) | |
| **P0f** | 会话分享链接 — HMAC 签名 + 分享查看页 | ✅ |
| **全栈验证** | 后端 13 suites / 92 tests / 前端 61 pages | ✅ |
### P1 — 待定义
### 参考来源
- opencode 源码克隆到 `/tmp/opencode-source/`21 packages, 147MB