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

357 lines
16 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 知习 总待完成清单
> 整合后端、iOS、跨项目所有未完成事项按优先级排列。已完成事项见底部。
>
> 更新时间2026-05-18
---
## 优先级说明
| 标记 | 含义 | 时间窗口 |
|------|------|---------|
| 🔴 P0 | 阻断性/前置依赖,现在就应该做 | 本周 |
| 🟠 P1 | 核心功能链路,紧接着做 | 本月 |
| 🟡 P2 | 内测前补齐(体验/稳定性) | TestFlight 前 |
| 🟢 P3 | 内测后迭代 | App Store 前 |
| ⚪ 远期 | 暂缓,待触发条件满足 | 无固定时间 |
---
## 决策分类说明
| 标记 | 含义 | 判断标准 |
|------|------|---------|
| 🔴 需你决策 | 产品方向/文案/定价 | 无客观答案,涉及 taste/策略/成本 |
| 🔵 需架构设计 | 技术方案需先设计 | 多方案可选,需权衡取舍 |
| 🟢 我可自主实现 | 有明确实现路径 | 技术路径清晰,可直接写代码 |
---
## 一、后端
> 详细文档:[后端开发路线图](./api-server/后端开发路线图.md) | [进行中](./api-server/进行中.md) | [已完成清单](./api-server/已完成/[已完成]-后端待完成事项清单.md)
### 🟢 P1 — AI 工作流 ✅
| # | 事项 | 说明 | 详见 | 决策 |
|---|------|------|------|------|
| B11 | ✅ 知识库导入全链路 | rawText→AI 提取→Embedding→Qdrant→RAG 对话 | 工作日志 5/20 | 🟢 |
| B12 | ✅ RAG 对话接口 | POST /api/rag/chat检索→rerank→DeepSeek+citations | 工作日志 5/20 | 🟢 |
| B14 | ✅ 知识库级联删除 | KB→Sources→Chunks→Qdrant 全链路清理 | 工作日志 5/20 | 🟢 |
| B15 | ✅ 多轮对话 | RAG chat 支持 history 参数,上下文注入 | 工作日志 5/20 | 🟢 |
### 🟡 P2 — 待调优
| # | 事项 | 说明 | 详见 | 决策 |
|---|------|------|------|------|
| B13 | AI 提取 Prompt 调优 | 5 知识点 content 完全相同,待真文档后调 | 工作日志 5/20 | 🟢 |
| B28 | iOS 接口缺口审计 | 逐页面对比现有 API列出缺接口/缺字段清单 | [进行中](./api-server/进行中.md) | 🔵 |
| B29 | 知识库存储架构 | COS 路径规范、图片/PDF 解析 pipeline | [进行中](./api-server/进行中.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) | [已完成清单](./ios-projects/已完成/[已完成]-缺失项与待补全方向.md)
### 🔴 P0 — 核心功能缺失
| # | 事项 | 说明 | 详见 | 决策 |
|---|------|------|------|------|
| I18 | 学习页面 | 当前没有真正的学习交互页面,需设计学习流程 | [进行中](./ios-projects/进行中.md) | 🔴 |
| I19 | 知识库预览页 | 知识点浏览/预览交互设计 | [进行中](./ios-projects/进行中.md) | 🔵 |
| I30 | 会员/订阅页面 | 会员权益展示、套餐选择、订阅购买 UI | [进行中](./ios-projects/进行中.md) | 🔴 |
| I31 | 付款流程 | Apple IAP 支付、收据验证、恢复购买 | [进行中](./ios-projects/进行中.md) | 🔴 |
### 🟠 P1 — 架构/体验升级
| # | 事项 | 说明 | 详见 | 决策 |
|---|------|------|------|------|
| I20 | 模块功能审计 | 逐页面检查功能完整性,列出与预期的差距 | [进行中](./ios-projects/进行中.md) | 🔵 |
| I21 | 多邻国式动画体系 | 动画组件体系设计,拆解竞品交互模式 | [进行中](./ios-projects/进行中.md) | 🔵 |
| I22 | AI 页面优化 | 模型切换 UI、Agent 模式入口 | [进行中](./ios-projects/进行中.md) | 🔵 |
| I23 | AI 语音识别 | Speech 框架接入 + 流式传输 | [进行中](./ios-projects/进行中.md) | 🔵 |
| I24 | iPad 布局适配 | 响应式布局方案Split View / 自适应) | [进行中](./ios-projects/进行中.md) | 🔵 |
### 🟡 P2 — 发布准备
| # | 事项 | 说明 | 详见 | 决策 |
|---|------|------|------|------|
| I25 | App 图标制作 | 1024px 图标 + 各尺寸适配 | [进行中](./ios-projects/进行中.md) | 🟢 |
| I26 | 图片文件上传对接 | B16-B17 已完成iOS 端对接 COS 上传 | [进行中](./ios-projects/进行中.md) | 🟢 |
| I27 | 设备信息收集 | 对接系统 API 收集设备型号/OS 版本 | [进行中](./ios-projects/进行中.md) | 🟢 |
| I28 | iOS 小组件 | WidgetKit 桌面小组件 | [进行中](./ios-projects/进行中.md) | 🟢 |
| I29 | TestFlight 打包发布 | 证书配置 + 构建上传 | [进行中](./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) | 🔴 |
| I32 | 知识库创建页面 | 创建知识库的完整流程(命名/描述/封面/导入) | [进行中](./ios-projects/进行中.md) | 🔵 |
---
## 三、官网
> 详细文档:[进行中](./web-projects/进行中.md)
| # | 事项 | 说明 | 优先级 | 决策 |
|---|------|------|--------|------|
| W1 | Waitlist 表单接后端 API | 当前只 e.preventDefault() + 假成功提示 | 🟡 P2 | 🟢 |
| W2 | Support 表单有效化 | 无 action/method提交即刷新丢失 | 🟡 P2 | 🟢 |
| W3 | 品牌名统一为"知习 AI" | 目前与"龙德AI学习"混用 | 🟡 P2 | 🟢 |
| W8 | 登录功能接入 | 先加登录,社区暂缓 | 🟡 P2 | 🔴 |
| W9 | 页面文案设计 | 面向用户的文字内容设计 | 🟡 P2 | 🔴 |
| W4 | CSS 变量修复 | 7 个自定义属性未定义 | 🟢 P3 | 🟢 |
| W5 | og:image 补齐 | og-default.png 不存在 | 🟢 P3 | 🟢 |
| W6 | robots.txt 域名修正 | 写死 localhost:4321 | 🟢 P3 | 🟢 |
| W7 | sitemap 补全 | 缺 /product、/philosophy | 🟢 P3 | 🟢 |
---
## 四、跨项目 / 策略层
> 来源:[潜在问题清单 🧭 方向/策略](./潜在问题清单.md)
### 🔴 P0 — 方向决策(不写代码)
| # | 事项 | 说明 | 决策 |
|---|------|------|------|
| S1 | 选定第一个垂直知识库方向 | 3 个候选方向(公考申论/AI工具学习/前端面试)至今未打分未选定 | 🔴 |
| S2 | 做 3-5 个竞品拆解 | 零竞品文档,无法定义差异化 | 🔴 |
| S3 | 准备第一个 7 天路径的内容 | 产品核心是 AI + 结构化知识库,内容还没准备 | 🔴 |
| S4 | 砍掉 MVP 不需要的模块 | 代码已远超 MVP 计划,方向确定后应裁剪 | 🔴 |
| S5 | 算清 AI 单用户月成本 | 为定价打底,判断盈亏线 | 🔴 |
| S14 | 产品设计理念 | 产品世界观/价值观,决定长期走向 | 🔴 |
| S15 | 产品文案统一 | 所有面向用户的文字 tone & voice | 🔴 |
| S16 | 知识库技术架构选型 | 开源知识库框架 vs 自建仿竞品结构 | 🔴 |
### 🟠 P1 — 验证机制
| # | 事项 | 说明 | 决策 |
|---|------|------|------|
| S6 | 设定验证退出条件 | 没有"什么是验证失败"的定义和时间节点 | 🔴 |
| S7 | 设计输入降门槛方案 | 用户不愿主动输入是最大风险之一,需缓解策略 | 🔴 |
| S8 | 定 AI 分析质量验收标准 | 没有产品侧的 AI 效果验收机制 | 🔴 |
| S9 | 建立 Prompt 版本管理和效果追踪 | 核心资产需要 A/B 测试和迭代机制 | 🔵 |
### 🟡 P2 — 运营准备
| # | 事项 | 说明 | 决策 |
|---|------|------|------|
| S10 | 跑一次真实用户获取 | 等待名单未真正跑通过 | 🔴 |
| S11 | 准备内测运营方案 | 客服响应 SLA、内测群管理、版本发布沟通流程 | 🔴 |
| S12 | 隐私政策合规检查 | 当前隐私政策为 AI 生成模板App Store 审核可能被拒 | 🔴 |
| S13 | 内容持续供给计划 | 一个 7 天路径学完就没新内容了 | 🔴 |
---
## 五、决策分类汇总
### 🔴 需你决策(共 22 项)
| # | 事项 | 领域 |
|---|------|------|
| B23 | 订阅定价 + IAP 策略 | 后端 |
| I17 | Tab 结构调整4 vs 5 | iOS |
| I18 | 学习页面交互设计方向 | iOS |
| I30 | 会员/订阅页面设计(套餐+权益+定价) | iOS |
| I31 | 付款流程IAP 接入+收据验证) | iOS |
| S1 | 第一个垂直知识库方向 | 策略 |
| S2 | 竞品拆解对象选择 | 策略 |
| S3 | 第一个 7 天路径内容 | 策略 |
| S4 | MVP 模块裁剪范围 | 策略 |
| S5 | AI 单用户月成本核算 | 策略 |
| S6 | 验证退出条件定义 | 策略 |
| S7 | 输入降门槛方案 | 策略 |
| S8 | AI 分析质量验收标准 | 策略 |
| S10 | 真实用户获取渠道 | 策略 |
| S11 | 内测运营方案 | 策略 |
| S12 | 隐私政策合规 | 策略 |
| S13 | 内容持续供给计划 | 策略 |
| S14 | 产品设计理念 | 策略 |
| S15 | 产品文案统一 | 策略 |
| W8 | 官网登录/社区优先级 | 官网 |
| W9 | 官网页面文案 | 官网 |
| S16 | 知识库技术架构选型(开源 vs 自建仿竞品) | 策略 |
### 🔵 需架构设计(共 11 项)
| # | 事项 | 领域 |
|---|------|------|
| B26 | AI 额度控制架构 | 后端 |
| B28 | iOS 接口缺口审计 + 补充方案 | 后端 |
| B29 | 知识库存储架构COS/图片/PDF | 后端 |
| I19 | 知识库预览页交互架构 | iOS |
| I20 | 模块功能审计方案 | iOS |
| I32 | 知识库创建页面流程 | iOS |
| I21 | 多邻国式动画组件体系 | iOS |
| I22 | AI 模型切换/Agent 架构 | iOS |
| I23 | 语音识别 + 流式传输架构 | iOS |
| I24 | iPad 响应式布局方案 | iOS |
| S9 | Prompt 版本管理机制 | 策略 |
### 🟢 我可自主实现(共 12 项,含 W1-W7 批量)
| # | 事项 | 领域 |
|---|------|------|
| B11 | AI 联调 + Prompt 调优 | 后端 |
| B24 | Admin 后台 | 后端 |
| B25 | SupportTicket/Dify/HelpCenter | 后端 |
| I14 | 数据埋点PostHog/Firebase | iOS |
| I15 | 崩溃监控Crashlytics/Sentry | iOS |
| I16 | ViewModel/Service 单元测试 | iOS |
| I25 | App 图标制作 | iOS |
| I26 | 图片文件上传对接 | iOS |
| I27 | 设备信息收集 | iOS |
| I28 | iOS 小组件 | iOS |
| I29 | TestFlight 打包发布 | iOS |
| W1-W7 | 官网修复 | 官网 |
---
## 执行顺序建议
```
第 0 批(现在,不写代码):
🔴 S1 → S2 → S16 → S3 → S4 → S5 → S14 → S15
选定方向 → 竞品拆解 → KB架构选型 → 准备内容 → 裁剪范围 → 算清成本 → 设计理念 → 文案
第 1 批(本月,架构设计):
🔵 B28 → B29 → I20 → I18 → I19 → I21 → I24
iOS接口审计 → 存储架构 → 模块审计 → 学习页设计 → 预览页设计 → 动画体系 → iPad布局
第 2 批(本月,自主实现):
🟢 B11 → I25 → I26 → I27
AI联调 → 图标 → 上传 → 设备信息
第 3 批TestFlight 前):
🟢 W1-W3 → I28 → I29 → I14 → I15
官网修复 → 小组件 → 打包发布 → 埋点 → 崩溃监控
第 4 批App Store 前):
🔴 S6-S13 → I16-I17
验证/运营 → 测试/Tab决策
第 5 批(远期):
🔴 B23 → 🟢 B24-B25 → 🔵 B26
商业化 → 后台 → 客服
```
---
## 已完成事项
<details>
<summary>✅ 后端 — P0 安全/可靠性底线6 项)</summary>
| # | 事项 | 说明 |
|---|------|------|
| B1 | CI/CD 密钥脱敏 | deploy.yml 明文硬编码 DB 密码/JWT Secret/Swagger 密码 |
| B2 | Queue 接 BullMQ + Redis | 内存数组 push/shift 改为 BullMQ + Redis |
| B3 | AI 分析 await 修复 | ai-analysis.service.ts fire-and-forget 异常静默丢失 |
| B4 | 限流 Guard 全局注册 | RateLimitGuard + @RateLimit() 装饰器,全局生效 |
| B5 | 响应拦截器全局注册 | ResponseInterceptor 已写好但未注册 |
| B6 | 分页 DTO 接入 | PaginationDto 已写好但所有 list 接口未使用 |
</details>
<details>
<summary>✅ 后端 — P1 AI 工作流4 项)</summary>
| # | 事项 | 说明 |
|---|------|------|
| B7 | 费曼解释评估 Workflow | 用户提交费曼解释 → AI 评估 |
| B8 | 知识导入解析 Workflow | 文档/文本 → AI 切分知识点 → 入库 |
| B9 | 复习卡片生成 Workflow | AI 自动生成间隔复习卡片 |
| B10 | 长期趋势分析 Workflow | 7/30 天学习数据 → 趋势报告 |
</details>
<details>
<summary>✅ 后端 — P1 异步化4 项)</summary>
| # | 事项 | 说明 |
|---|------|------|
| B12 | AI 分析异步化 | 同步等待 AI 返回 → BullMQ 队列 |
| B13 | 文档导入异步化 | Worker 消费导入任务AI 切分知识点 |
| B14 | 通知推送队列 | BullMQ notification 队列 + APNs |
| B15 | Worker 实现 | 3 个 Worker 全部实现AI/Import/Notification |
</details>
<details>
<summary>✅ 后端 — P2 存储/文件4 项)</summary>
| # | 事项 | 说明 |
|---|------|------|
| B16 | COS 对象存储接入 | 文件上传/下载/签名 URL |
| B17 | 文件上传完整流程 | POST /api/files/upload-url → COS → complete |
| B18 | 文档导入真实解析 | 替换 3 层 setTimeout mock |
| B19 | Storage Service 实现 | 完整 COS 读写 + 本地存储回退 |
</details>
<details>
<summary>✅ 后端 — P2 基础设施补全4 项)</summary>
| # | 事项 | 说明 |
|---|------|------|
| B20 | Docker Compose | api-server + MySQL + Redis + Worker + Nginx |
| B21 | enableShutdownHooks | SIGTERM 时优雅关闭,排空连接 |
| B22 | Prisma Migration | schema 变更版本管理objectKey/bucket/AiUsage/Waitlist |
| B27 | 限流改为 Guard/Interceptor | 全局 Guard 替代无法注入的 Service |
</details>
<details>
<summary>✅ iOS — P0 前后端打通7 项)</summary>
| # | 事项 | 说明 |
|---|------|------|
| I1 | 知识库列表接后端 | LibraryHomeView 调 GET /api/knowledge-bases |
| I2 | 知识点列表接后端 | LibraryDetailPage 调 GET /api/knowledge-items |
| I3 | 学习会话接后端 | StudyHomeView 调 GET/POST /api/learning-sessions |
| I4 | 主动回忆接后端 | ActiveRecallView 调 GET/POST /api/active-recalls |
| I5 | AI 分析结果接后端 | AIAnalysisViewModel 调 POST /api/ai-analysis |
| I6 | 复习计划接后端 | ReviewCardView 调 GET /api/reviews/due |
| I7 | 学习活跃接后端 | AnalysisHomeView 调 GET /api/activity/summary |
</details>
<details>
<summary>✅ iOS — P1 架构补全4 项)</summary>
| # | 事项 | 说明 |
|---|------|------|
| I8 | ViewModel 层迁移 | View 内聚状态迁移到 ViewModel |
| I9 | 本地缓存层 | UserDefaults/SwiftData 缓存,支持离线 |
| I10 | 测试修复 | 4 个 Test 文件验证可编译 |
| I11 | LocalizedStringKey 接入 | 180+ keyView 从硬编码文案切换 |
</details>
<details>
<summary>✅ iOS — P2 体验/动效2 项)</summary>
| # | 事项 | 说明 |
|---|------|------|
| I12 | 动效补充 | 页面过渡、按钮反馈、AI 分析中状态 |
| I13 | 无障碍基础适配 | accessibilityLabel、Dynamic Type、VoiceOver |
</details>