# 知习 总待完成清单

> 整合后端、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 | 限流 Guard 全局注册 | 改为 RateLimitGuard + @RateLimit() 装饰器，全局生效 | [潜在问题清单 #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) |
| B27 | 限流改为 Guard/Interceptor | RateLimitService 在 AppModule，无法注入 feature module；改用全局 Guard/Interceptor 统一限流 | [潜在问题清单 #21](./潜在问题清单.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-18）：
  B1 → B2 → B3 → B4 → B5 → B6
  CI/CD脱敏 → BullMQ → AI await修复 → 限流注册 → 拦截器注册 → 分页

第 2 批（✅ 已完成 2026-05-18）：
  B7-B11 → B12-B15 → I1-I7 ✅ → I8-I11 ✅
  AI Workflows ✅ → 异步化 → iOS 前后端打通 → iOS 架构补全

第 3 批（TestFlight 前）：
  ✅ I12-I13 → ✅ B16/B17/B19 → ✅B18 → B20-B22 → ✅B27 → S6-S9 → W1-W3
  ✅ iOS 动效/无障碍（已完成） → ✅ COS 接入（已完成） → ✅文档导入解析 → 基础设施补全 → 验证机制 → 官网修复

第 4 批（App Store 前）：
  I14-I17 → S10-S13 → W4-W7
  埋点/崩溃监控/测试/Tab决策 → 运营准备 → 官网细节

第 5 批（远期）：
  B23-B26
  商业化 → 后台 → 客服
```
