startup-plan/技术设计/总待完成清单.md

203 lines
11 KiB
Markdown
Raw Normal View History

# 知习 总待完成清单
> 整合后端、iOS、跨项目所有待完成事项按优先级排列。以后以此文件为主。
>
> 更新时间2026-05-17
---
## 优先级说明
| 标记 | 含义 | 时间窗口 |
|------|------|---------|
| 🔴 P0 | 阻断性/前置依赖,现在就应该做 | 本周 |
| 🟠 P1 | 核心功能链路,紧接着做 | 本月 |
| 🟡 P2 | 内测前补齐(体验/稳定性) | TestFlight 前 |
| 🟢 P3 | 内测后迭代 | App Store 前 |
| ⚪ 远期 | 暂缓,待触发条件满足 | 无固定时间 |
---
## 一、后端
> 详细文档:[后端待完成事项清单](./api-server/后端待完成事项清单.md) | 路线图:[后端开发路线图](./api-server/后端开发路线图.md)
### 🔴 P0 — 安全/可靠性底线
| # | 事项 | 说明 | 详见 | 状态 |
|---|------|------|------|------|
| B1 | CI/CD 密钥脱敏 | deploy.yml 明文硬编码 DB 密码/JWT Secret/Swagger 密码 | [潜在问题清单 #4](./潜在问题清单.md) | ✅ |
| B2 | Queue 接 BullMQ + Redis | 当前队列是内存数组 push/shift重启全丢 | [潜在问题清单 #2](./潜在问题清单.md) | ✅ |
| B3 | AI 分析 await 修复 | `ai-analysis.service.ts` fire-and-forget 异常静默丢失 | [潜在问题清单 #10](./潜在问题清单.md) | ✅ |
| B4 | 限流 Service 全局注册 | RateLimitService 已写好但未在任何 Module/Controller 使用 | [潜在问题清单 #21](./潜在问题清单.md) | ✅ |
| B5 | 响应拦截器全局注册 | ResponseInterceptor 已写好但未注册 | [潜在问题清单 #22](./潜在问题清单.md) | ✅ |
| B6 | 分页 DTO 接入 | PaginationDto 已写好但所有 list 接口未使用 | [潜在问题清单 #28](./潜在问题清单.md) | ✅ |
### 🟠 P1 — AI 工作流
| # | 事项 | 说明 | 详见 |
|---|------|------|------|
| B7 | 费曼解释评估 Workflow | 用户提交费曼解释 → AI 评估 | [AI架构设计](./api-server/AI架构设计.md) |
| B8 | 知识导入解析 Workflow | 文档/文本 → AI 切分知识点 → 入库 | [AI架构设计](./api-server/AI架构设计.md) |
| B9 | 复习卡片生成 Workflow | AI 自动生成间隔复习卡片 | [AI架构设计](./api-server/AI架构设计.md) |
| B10 | 长期趋势分析 Workflow | 7/30 天学习数据 → 趋势报告 | [AI架构设计](./api-server/AI架构设计.md) |
| B11 | AI 联调 + Prompt 调优 | DeepSeek/MiniMax 真实调用测试Prompt 迭代 | [后端待完成事项清单](./api-server/后端待完成事项清单.md) |
### 🟠 P1 — 异步化
| # | 事项 | 说明 | 详见 |
|---|------|------|------|
| B12 | AI 分析异步化 | 当前同步等待 AI 返回,改 BullMQ 队列 | [Redis缓存设计](./api-server/Redis缓存设计.md) |
| B13 | 文档导入异步化 | Worker 消费导入任务AI 切分知识点 | [Redis缓存设计](./api-server/Redis缓存设计.md) |
| B14 | 通知推送队列 | BullMQ notification 队列 + APNs | [Redis缓存设计](./api-server/Redis缓存设计.md) |
| B15 | Worker 实现 | 3 个 Worker 文件全为空壳,需真正消费队列 | [潜在问题清单 #3](./潜在问题清单.md) |
### 🟡 P2 — 存储/文件
| # | 事项 | 说明 | 详见 | 状态 |
|---|------|------|------|------|
| B16 | COS 对象存储接入 | 文件上传/下载/签名 URL | [Redis缓存设计](./api-server/Redis缓存设计.md) | ✅ |
| B17 | 文件上传完整流程 | POST /api/files/upload-url → COS → complete | [后端开发路线图 P5](./api-server/后端开发路线图.md) | ✅ |
| B18 | 文档导入真实解析 | 替换 3 层 setTimeout mock | [潜在问题清单 #24](./潜在问题清单.md) | |
| B19 | Storage Service 实现 | 当前只有 getUploadPath + healthCheck无真正读写 | [潜在问题清单 #25](./潜在问题清单.md) | ✅ |
### 🟡 P2 — 基础设施补全
| # | 事项 | 说明 | 详见 |
|---|------|------|------|
| B20 | Docker Compose | api-server + postgres + redis + worker + nginx | [架构总览 #2](./api-server/架构总览.md) |
| B21 | enableShutdownHooks | SIGTERM 时优雅关闭,排空连接 | [潜在问题清单 #26](./潜在问题清单.md) |
| B22 | Prisma Migration | 创建 migrations/ 目录schema 变更版本管理 | [潜在问题清单 #29](./潜在问题清单.md) |
### ⚪ 远期 — 商业化/后台/客服
| # | 事项 | 说明 | 详见 |
|---|------|------|------|
| B23 | Plans + Membership + Subscription | 套餐/权益/Apple IAP 订阅 | [后端开发路线图 P6](./api-server/后端开发路线图.md) |
| B24 | Admin 后台 | Users/Knowledge/Feedback 管理 + AI Cost Dashboard + Audit Logs | [后端开发路线图 P7-P8](./api-server/后端开发路线图.md) |
| B25 | SupportTicket + Dify + HelpCenter | 工单系统 + 智能客服 + 帮助中心 | [后端开发路线图 P9](./api-server/后端开发路线图.md) |
| B26 | AIQuota / UsageLimit | AI 额度控制(免费/Pro 差异化) | [AI架构设计](./api-server/AI架构设计.md) |
---
## 二、iOS
> 详细文档:[缺失项与待补全方向](./ios-projects/缺失项与待补全方向.md)
### 🔴 P0 — 前后端打通
| # | 事项 | 说明 | 详见 | 状态 |
|---|------|------|------|------|
| I1 | 知识库列表接后端 | LibraryHomeView 调 GET /api/knowledge-bases | [缺失项 一](./ios-projects/缺失项与待补全方向.md) | ✅ |
| I2 | 知识点列表接后端 | LibraryDetailPage 调 GET /api/knowledge-items | [缺失项 一](./ios-projects/缺失项与待补全方向.md) | ✅ |
| I3 | 学习会话接后端 | StudyHomeView 调 GET/POST /api/learning-sessions | [缺失项 一](./ios-projects/缺失项与待补全方向.md) | ✅ |
| I4 | 主动回忆接后端 | ActiveRecallView 调 GET/POST /api/active-recalls | [缺失项 一](./ios-projects/缺失项与待补全方向.md) | ✅ |
| I5 | AI 分析结果接后端 | AIAnalysisViewModel 调 POST /api/ai-analysis | [缺失项 一](./ios-projects/缺失项与待补全方向.md) | ✅ |
| I6 | 复习计划接后端 | ReviewCardView 调 GET /api/reviews/due | [缺失项 一](./ios-projects/缺失项与待补全方向.md) | ✅ |
| I7 | 学习活跃接后端 | AnalysisHomeView 调 GET /api/activity/summary | [缺失项 一](./ios-projects/缺失项与待补全方向.md) | ✅ |
### 🟠 P1 — 架构补全
| # | 事项 | 说明 | 详见 | 状态 |
|---|------|------|------|------|
| I8 | ViewModel 层迁移 | 其余页面从 View 内聚状态迁移到 ViewModel | [缺失项 二](./ios-projects/缺失项与待补全方向.md) | ✅ |
| I9 | 本地缓存层 | UserDefaults/SwiftData 缓存学习数据,支持离线浏览 | [潜在问题清单 #18](./潜在问题清单.md) | ✅ |
| I10 | 测试修复 | 4 个 Test 文件引用的 ViewModel/FileCache 已创建,验证可编译 | [潜在问题清单 #13](./潜在问题清单.md) | ✅ |
| I11 | LocalizedStringKey 接入 | 180+ key 已写好View 需从硬编码文案切换 | [潜在问题清单 #20](./潜在问题清单.md) | ✅ |
### 🟡 P2 — 体验/动效
| # | 事项 | 说明 | 详见 | 状态 |
|---|------|------|------|------|
| I12 | 动效补充 | 页面过渡、按钮反馈、AI 分析中状态、学习完成反馈 | [缺失项 三](./ios-projects/缺失项与待补全方向.md) | ✅ |
| I13 | 无障碍基础适配 | accessibilityLabel、Dynamic Type、VoiceOver | [缺失项 四](./ios-projects/缺失项与待补全方向.md) | ✅ |
### 🟢 P3 — TestFlight 前
| # | 事项 | 说明 | 详见 |
|---|------|------|------|
| I14 | 数据埋点 | 产品行为事件追踪PostHog/Firebase | [缺失项 八](./ios-projects/缺失项与待补全方向.md) |
| I15 | 崩溃监控 | Firebase Crashlytics 或 Sentry | [缺失项 六](./ios-projects/缺失项与待补全方向.md) |
| I16 | ViewModel/Service 单元测试 | Mock Repository 测试 | [缺失项 五](./ios-projects/缺失项与待补全方向.md) |
| I17 | Tab 结构调整决策 | 保持 5-Tab 或合并为 4-Tab | [缺失项 七](./ios-projects/缺失项与待补全方向.md) |
---
## 三、跨项目 / 策略层
> 来源:[潜在问题清单 🧭 方向/策略](./潜在问题清单.md)
### 🔴 P0 — 方向决策(不写代码)
| # | 事项 | 说明 |
|---|------|------|
| S1 | 选定第一个垂直知识库方向 | 3 个候选方向(公考申论/AI工具学习/前端面试)至今未打分未选定 |
| S2 | 做 3-5 个竞品拆解 | 零竞品文档,无法定义差异化 |
| S3 | 准备第一个 7 天路径的内容 | 产品核心是 AI + 结构化知识库,内容还没准备 |
| S4 | 砍掉 MVP 不需要的模块 | 代码已远超 MVP 计划,方向确定后应裁剪 |
| S5 | 算清 AI 单用户月成本 | 为定价打底,判断盈亏线 |
### 🟠 P1 — 验证机制
| # | 事项 | 说明 |
|---|------|------|
| S6 | 设定验证退出条件 | 没有"什么是验证失败"的定义和时间节点 |
| S7 | 设计输入降门槛方案 | 用户不愿主动输入是最大风险之一,需缓解策略 |
| S8 | 定 AI 分析质量验收标准 | 没有产品侧的 AI 效果验收机制 |
| S9 | 建立 Prompt 版本管理和效果追踪 | 核心资产需要 A/B 测试和迭代机制 |
### 🟡 P2 — 运营准备
| # | 事项 | 说明 |
|---|------|------|
| S10 | 跑一次真实用户获取 | 等待名单未真正跑通过 |
| S11 | 准备内测运营方案 | 客服响应 SLA、内测群管理、版本发布沟通流程 |
| S12 | 隐私政策合规检查 | 当前隐私政策为 AI 生成模板App Store 审核可能被拒 |
| S13 | 内容持续供给计划 | 一个 7 天路径学完就没新内容了 |
---
## 四、官网
> 来源:[潜在问题清单](./潜在问题清单.md)
| # | 事项 | 说明 | 优先级 |
|---|------|------|--------|
| W1 | Waitlist 表单接后端 API | 当前只 e.preventDefault() + 假成功提示 | 🟡 P2 |
| W2 | Support 表单有效化 | 无 action/method提交即刷新丢失 | 🟡 P2 |
| W3 | 品牌名统一为"知习 AI" | 目前与"龙德AI学习"混用 | 🟡 P2 |
| W4 | CSS 变量修复 | 7 个自定义属性未定义 | 🟢 P3 |
| W5 | og:image 补齐 | og-default.png 不存在 | 🟢 P3 |
| W6 | robots.txt 域名修正 | 写死 localhost:4321 | 🟢 P3 |
| W7 | sitemap 补全 | 缺 /product、/philosophy | 🟢 P3 |
---
## 执行顺序建议
```
第 0 批(现在,不写代码):
S1 → S2 → S3 → S4 → S5
选定方向 → 竞品拆解 → 准备内容 → 裁剪范围 → 算清成本
第 1 批(✅ 已完成 2026-05-17
B1 → B2 → B3 → B4 → B5 → B6
CI/CD脱敏 → BullMQ → AI await修复 → 限流注册 → 拦截器注册 → 分页
第 2 批(✅ 已完成 2026-05-17
B7-B11 → B12-B15 → I1-I7 ✅ → I8-I11 ✅
AI Workflows → 异步化 → iOS 前后端打通 → iOS 架构补全
第 3 批TestFlight 前):
✅ I12-I13 → ✅ B16/B17/B19 → B18 → B20-B22 → S6-S9 → W1-W3
✅ iOS 动效/无障碍(已完成) → ✅ COS 接入(已完成) → 文档导入解析 → 基础设施补全 → 验证机制 → 官网修复
第 4 批App Store 前):
I14-I17 → S10-S13 → W4-W7
埋点/崩溃监控/测试/Tab决策 → 运营准备 → 官网细节
第 5 批(远期):
B23-B26
商业化 → 后台 → 客服
```