明白,你要的不是“现在别做什么”,而是: ```text 知习后端完全体到底有哪些工作? 这些工作按什么顺序做? 哪些是地基,哪些是核心业务,哪些是后期运营能力? ``` 我给你按**完整后端系统**来排。 --- # 知习后端完全体优先级 ## P0:后端地基层 这一层不直接产生业务价值,但不做后面会全部返工。 ### 1. 安全与配置 优先级:最高。 包括: ```text 环境变量管理 密钥轮换 CI/CD Secrets 生产 Swagger 保护 HTTPS CORS 请求日志 错误日志 限流 ``` 对应工作: ```text .env 分环境 JWT_SECRET / DB_PASSWORD / REDIS_PASSWORD 不进 Git Swagger 生产环境关闭或强认证 统一异常返回 全局 ValidationPipe 统一日志格式 ``` --- ### 2. 数据库基础 优先级:最高。 包括: ```text Prisma MySQL Migration Repository 接真实数据库 软删除 分页 时间字段 索引 ``` 你现在后端所有核心模块都要围绕真实数据库跑,不能继续依赖内存 Map。 基础表: ```text users auth_accounts refresh_tokens knowledge_bases knowledge_items ``` --- ### 3. 统一工程规范 优先级:很高。 包括: ```text 统一响应格式 统一错误码 统一分页格式 DTO 校验 CurrentUser 装饰器 JwtAuthGuard RoleGuard Resource ownership 校验 ``` 这一步会影响你所有接口。 --- # P1:身份、登录、权限层 这层是所有业务数据的入口。 ## 4. Auth 登录模块 优先级:最高。 接口: ```text POST /api/auth/dev-login POST /api/auth/apple POST /api/auth/refresh POST /api/auth/logout ``` 表: ```text users auth_accounts refresh_tokens ``` 当前因为 Apple 开发者审核没下来,先做: ```text dev-login refresh token /users/me ``` 后面 Apple 审核下来,再补 Apple provider。 --- ## 5. User 用户模块 优先级:最高。 接口: ```text GET /api/users/me PATCH /api/users/me DELETE /api/users/me ``` 用户字段: ```text id email nickname avatarUrl role status onboardingCompleted createdAt updatedAt ``` 这里是 App 启动、我的页、学习数据、会员权益的基础。 --- ## 6. 权限系统 优先级:最高。 先做两层权限。 ### 平台角色 ```text USER ADMIN SUPER_ADMIN ``` ### 资源权限 第一版先简单: ```text 知识库 userId = 当前用户 id ``` 后期扩展: ```text OWNER EDITOR VIEWER ``` 完整权限相关表: ```text users.role knowledge_bases.userId knowledge_base_members admin_audit_logs ``` 权限规则: ```text 普通用户只能访问自己的资源 管理员才能访问 /api/admin/* 用户创建知识库后是该知识库 Owner Owner 不是平台管理员 管理员查看敏感内容要写审计日志 ``` --- # P2:知识系统层 这是知习的内容基础。 ## 7. KnowledgeBase 知识库模块 优先级:很高。 接口: ```text GET /api/knowledge-bases POST /api/knowledge-bases GET /api/knowledge-bases/:id PATCH /api/knowledge-bases/:id DELETE /api/knowledge-bases/:id ``` 表: ```text knowledge_bases ``` 字段: ```text id userId title description coverColor visibility status itemCount createdAt updatedAt deletedAt ``` `visibility` 可以先有字段: ```text PRIVATE UNLISTED PUBLIC ``` 但第一版默认 `PRIVATE`。 --- ## 8. KnowledgeItem 知识点模块 优先级:很高。 接口: ```text GET /api/knowledge-bases/:knowledgeBaseId/items POST /api/knowledge-bases/:knowledgeBaseId/items GET /api/knowledge-items/:id PATCH /api/knowledge-items/:id DELETE /api/knowledge-items/:id ``` 表: ```text knowledge_items ``` 字段: ```text id userId knowledgeBaseId title content summary tags sourceType masteryLevel createdAt updatedAt deletedAt ``` 这是主动回忆和 AI 分析的对象。 --- ## 9. 标签 / 分类 / 搜索模块 优先级:中高。 可以后面接,但完整体需要。 包括: ```text 知识点标签 知识库分类 全文搜索 按掌握度筛选 按待复习状态筛选 ``` 可能接口: ```text GET /api/knowledge-items/search GET /api/tags POST /api/tags ``` --- # P3:学习闭环核心层 这是知习真正区别于普通笔记和 AI 聊天壳的核心。 ## 10. LearningSession 学习会话模块 优先级:很高。 表示一次学习过程。 接口: ```text POST /api/learning-sessions GET /api/learning-sessions/:id POST /api/learning-sessions/:id/complete ``` 表: ```text learning_sessions ``` 字段: ```text id userId knowledgeBaseId status startedAt completedAt durationSeconds createdAt updatedAt ``` --- ## 11. ActiveRecall 主动回忆模块 优先级:很高。 接口: ```text POST /api/active-recall/answers GET /api/active-recall/answers/:id GET /api/knowledge-items/:id/active-recall/answers ``` 表: ```text active_recall_answers ``` 字段: ```text id userId knowledgeItemId learningSessionId mode answerText durationSeconds createdAt ``` `mode`: ```text ACTIVE_RECALL FEYNMAN RETRIEVAL_PRACTICE ``` --- ## 12. AIAnalysis AI 学习分析模块 优先级:很高。 接口: ```text POST /api/ai-analysis/active-recall GET /api/ai-analysis/:id GET /api/active-recall/answers/:answerId/analysis ``` 表: ```text ai_analysis_results ``` 字段: ```text id userId knowledgeItemId activeRecallAnswerId score masteryLevel summary strengths weaknesses missingKeyPoints misconceptions rawResult promptVersion model createdAt ``` 这是知习最重要的核心模块之一。 --- ## 13. FocusItem 待巩固项模块 优先级:很高。 接口: ```text GET /api/focus-items GET /api/focus-items/today GET /api/focus-items/:id PATCH /api/focus-items/:id ``` 表: ```text focus_items ``` 字段: ```text id userId knowledgeBaseId knowledgeItemId aiAnalysisId title description reason priority status createdAt resolvedAt ``` 状态: ```text OPEN REVIEWING RESOLVED DISMISSED ``` --- ## 14. Review 间隔复习模块 优先级:很高。 接口: ```text GET /api/reviews/due GET /api/reviews/cards/:id POST /api/reviews/cards/:id/answer POST /api/reviews/cards/:id/skip ``` 表: ```text review_cards review_attempts ``` `review_cards`: ```text id userId knowledgeItemId focusItemId question answerReference cardType dueAt intervalDays easeFactor status createdAt updatedAt ``` `review_attempts`: ```text id userId reviewCardId answerText selfRating aiRating result createdAt ``` --- ## 15. LearningActivity 学习活跃模块 优先级:高。 接口: ```text GET /api/learning-activity/summary GET /api/learning-activity/daily POST /api/learning-activity/events ``` 表: ```text learning_activity_events ``` 事件: ```text KNOWLEDGE_BASE_CREATED KNOWLEDGE_ITEM_CREATED LEARNING_SESSION_STARTED ACTIVE_RECALL_SUBMITTED AI_ANALYSIS_COMPLETED FOCUS_ITEM_CREATED REVIEW_CARD_CREATED REVIEW_COMPLETED LEARNING_SESSION_COMPLETED ``` 这个模块后面会支撑: ```text 连续学习天数 最近 7 天学习趋势 学习活跃记录 分析首页 我的页数据 ``` --- # P4:AI 基础设施层 这一层支撑 AI 成本、质量、可扩展性。 ## 16. AIGateway 模型网关 优先级:高。 包括: ```text 统一模型调用 provider 抽象 DeepSeek provider MiniMax provider OpenAI provider Qwen provider 超时控制 错误重试 JSON 解析 fallback ``` 结构: ```text AIGatewayService AIProvider DeepSeekProvider MiniMaxProvider OpenAIProvider ``` --- ## 17. PromptTemplate 提示词模块 优先级:高。 表: ```text prompt_templates ``` 字段: ```text id key version systemPrompt userPromptTemplate outputSchema model temperature maxTokens isActive createdAt updatedAt ``` Prompt 不要散落在业务代码里。 --- ## 18. AIUsageLog AI 成本日志 优先级:高。 表: ```text ai_usage_logs ``` 字段: ```text id userId feature provider model promptVersion inputTokens outputTokens cachedInputTokens totalTokens inputCost outputCost totalCost currency latencyMs status errorCode errorMessage createdAt ``` 这是后面定价、限流、后台成本看板的基础。 --- ## 19. AIQuota / UsageLimit AI 额度模块 优先级:中高。 表: ```text usage_quotas usage_records ``` 负责: ```text 免费用户 AI 次数 Pro 用户 AI 次数 高级分析额度 文件解析额度 每日限制 每月限制 异常限流 ``` 接口: ```text GET /api/usage/me ``` --- ## 20. AIWorkflow 工作流模块 优先级:中高。 后期完整体需要。 表: ```text ai_workflows ai_workflow_steps ai_workflow_runs ``` 用于: ```text 知识导入工作流 主动回忆分析工作流 长期趋势分析工作流 复习卡生成工作流 学习报告生成工作流 ``` --- # P5:文件、导入、知识生成层 这层让知识库从“手动输入”升级为“资料导入”。 ## 21. File / Storage 文件模块 优先级:中高。 接口: ```text POST /api/files/upload-url POST /api/files/complete GET /api/files/:id DELETE /api/files/:id ``` 表: ```text files ``` 字段: ```text id userId bucket objectKey filename mimeType size purpose status createdAt ``` 用途: ```text 头像 反馈截图 文档上传 知识库文件 ``` --- ## 22. DocumentImport 文档导入模块 优先级:中高。 接口: ```text POST /api/document-imports GET /api/document-imports/:id POST /api/document-imports/:id/confirm ``` 表: ```text document_import_jobs document_import_items ``` 流程: ```text 上传文件 → 创建导入任务 → 解析文本 → AI 切分知识点 → 用户确认 → 写入 knowledge_items ``` 需要: ```text Redis BullMQ Worker COS 文本解析 AI 切分 ``` --- ## 23. KnowledgeGeneration 知识点生成模块 优先级:中。 用于: ```text AI 生成知识点标题 AI 生成摘要 AI 提取关键点 AI 生成标签 AI 生成主动回忆问题 ``` 可以作为 document-import 的子模块。 --- # P6:会员、订阅、商业化层 这层决定你后端能不能真正商业化。 ## 24. Plans 套餐模块 优先级:中。 表: ```text plans ``` 字段: ```text id key name price currency billingPeriod features isActive ``` --- ## 25. Membership 权益模块 优先级:中高。 接口: ```text GET /api/membership/me GET /api/plans ``` 表: ```text membership_entitlements ``` 字段: ```text userId planKey status aiAnalysisLimit knowledgeBaseLimit knowledgeItemLimit fileUploadLimit advancedReportEnabled expiresAt ``` --- ## 26. Subscription 订阅模块 优先级:中。 接口后期: ```text POST /api/subscriptions/apple/verify POST /api/subscriptions/apple/notifications POST /api/subscriptions/google/notifications GET /api/subscriptions/me ``` 表: ```text subscriptions subscription_events payment_transactions refund_records ``` 字段: ```text platform originalTransactionId productId status startedAt expiresAt renewalStatus ``` --- # P7:用户 Web 后台层 这是你说的用户 Web 端上传知识库。 ## 27. User Web Console 用户后台 优先级:中。 它不是 Admin 后台,而是普通用户自己的 Web 工作台。 后端复用普通用户接口: ```text /api/users/me /api/knowledge-bases /api/knowledge-items /api/files /api/document-imports /api/membership/me ``` 新增可能需要: ```text 批量上传 批量编辑知识点 导入历史 导出数据 Web 端文件管理 ``` 对应模块: ```text files document-import knowledge-bases knowledge-items membership ``` --- # P8:管理员后台层 这是平台运营后台。 ## 28. Admin Auth / Admin Guard 优先级:中。 接口: ```text GET /api/admin/me ``` 权限: ```text ADMIN SUPER_ADMIN ``` --- ## 29. Admin Users 用户管理 优先级:中。 接口: ```text GET /api/admin/users GET /api/admin/users/:id PATCH /api/admin/users/:id/status ``` 功能: ```text 查看用户 禁用用户 查看会员状态 查看学习数据概览 ``` --- ## 30. Admin Knowledge 知识库管理 优先级:中。 接口: ```text GET /api/admin/knowledge-bases GET /api/admin/knowledge-bases/:id ``` 默认只看元数据: ```text 标题 创建者 创建时间 知识点数量 文件数量 状态 可见性 是否被举报 ``` 敏感内容查看需要: ```text 权限 原因 审计日志 ``` --- ## 31. Admin AI Usage AI 成本后台 优先级:中高。 接口: ```text GET /api/admin/ai-usage GET /api/admin/ai-usage/summary ``` 看: ```text 每日 AI 调用 用户 AI 消耗 功能成本排行 模型成本 失败率 平均耗时 ``` --- ## 32. Admin Feedback 反馈管理 优先级:中。 接口: ```text GET /api/admin/feedback GET /api/admin/feedback/:id PATCH /api/admin/feedback/:id POST /api/admin/feedback/:id/reply ``` --- ## 33. Admin Audit 审计日志 优先级:中高。 表: ```text admin_audit_logs ``` 记录: ```text 谁 什么时候 做了什么 操作对象 操作前 操作后 原因 IP UserAgent ``` --- # P9:客服、反馈、帮助中心层 ## 34. Feedback 用户反馈模块 优先级:中高。 接口: ```text POST /api/feedback GET /api/feedback/my ``` --- ## 35. SupportTicket 工单模块 优先级:中。 接口: ```text POST /api/support/tickets GET /api/support/tickets/my GET /api/support/tickets/:id ``` --- ## 36. Dify 智能客服模块 优先级:中低。 接口: ```text POST /api/support/chat GET /api/support/conversations ``` 架构: ```text iOS / Web → NestJS → Dify API → 官方帮助知识库 ``` 不能让 iOS 直接调 Dify。 --- ## 37. HelpCenter 帮助中心模块 优先级:中低。 表: ```text help_articles faq_items ``` 功能: ```text 常见问题 订阅说明 退款说明 功能说明 隐私政策摘要 ``` --- # P10:通知、任务、调度层 ## 38. Notifications 通知模块 优先级:中。 接口: ```text GET /api/notifications PATCH /api/notifications/:id/read ``` 表: ```text notifications ``` 用于: ```text 复习提醒 系统通知 订阅通知 反馈回复 ``` --- ## 39. Push 推送模块 优先级:中低。 包括: ```text APNs 设备 token 推送偏好 复习提醒推送 ``` 表: ```text device_tokens notification_preferences ``` --- ## 40. Jobs / Worker 后台任务模块 优先级:中高。 需要: ```text BullMQ Redis Worker Job logs Retry Dead letter queue ``` 用于: ```text 文档解析 AI 批量分析 学习报告生成 通知推送 订阅状态同步 ``` --- # P11:学习分析与长期画像层 ## 41. LearningAnalytics 学习分析模块 优先级:中。 接口: ```text GET /api/analytics/learning/overview GET /api/analytics/learning/trends GET /api/analytics/learning/weaknesses ``` 数据来源: ```text learning_activity_events active_recall_answers ai_analysis_results focus_items review_attempts ``` --- ## 42. UserLearningProfile 用户学习画像 优先级:中。 表: ```text user_learning_profiles ``` 字段: ```text userId weakTypes preferredExplanationStyle recallAccuracyAvg reviewCompletionRate repeatedMistakes updatedAt ``` 这是后期 Learning Agent 的基础。 --- ## 43. LearningReport 学习报告模块 优先级:中低。 接口: ```text GET /api/reports/weekly GET /api/reports/monthly POST /api/reports/generate ``` 可以异步生成。 --- # P12:公开知识库、分享、社区层 这层是完整体可能会有的,但复杂度高。 ## 44. Knowledge Visibility 公开权限模块 优先级:中低。 支持: ```text PRIVATE UNLISTED PUBLIC ``` 需要: ```text 公开链接 可见性变更日志 举报机制 内容审核 ``` --- ## 45. Knowledge Sharing 分享模块 优先级:中低。 接口: ```text POST /api/knowledge-bases/:id/share-links GET /api/share/:token DELETE /api/share-links/:id ``` --- ## 46. Public Knowledge 官方 / 公共知识库 优先级:低到中。 功能: ```text 官方模板库 公开知识库市场 精选知识库 复制到我的知识库 ``` 需要强审核。 --- # P13:合规、系统配置、运营层 ## 47. SystemConfig 系统配置模块 优先级:中。 接口: ```text GET /api/system/config GET /api/health ``` 配置: ```text 最低 App 版本 强制升级版本 隐私政策版本 用户协议版本 备案号 客服邮箱 功能开关 AI 模型配置 ``` --- ## 48. Compliance 合规模块 优先级:中。 包括: ```text 用户协议 隐私政策 数据导出 账号注销 内容举报 违规处理 备案信息 ``` 接口: ```text POST /api/account/delete-request GET /api/account/export POST /api/reports/content ``` --- ## 49. DataExport 用户数据导出 优先级:中低。 完整体需要: ```text 导出知识库 导出学习记录 导出账户数据 ``` --- # P14:增长、归因、营销数据层 如果你后端要支持营销闭环,后面可以做。 ## 50. Attribution 归因模块 优先级:中低。 表: ```text marketing_campaigns attribution_events ``` 字段: ```text campaignId utmSource utmMedium utmCampaign utmContent userId eventName createdAt ``` 用于: ```text 内容 → 注册 → 激活 → 付费 ``` --- ## 51. ProductAnalytics 产品行为埋点 优先级:中。 事件: ```text app_opened signup_completed knowledge_base_created active_recall_submitted ai_analysis_completed review_completed paywall_viewed subscription_started ``` 可以先用 PostHog / Firebase,后端只接关键事件。 --- # 总优先级总表 | 优先级 | 工作层级 | 核心模块 | | --- | --------- | ------------------------------------------------------------------------- | | P0 | 后端地基 | 安全、配置、数据库、统一异常、DTO、日志 | | P1 | 身份权限 | Auth、Users、RefreshToken、Role、Resource Permission | | P2 | 知识系统 | KnowledgeBase、KnowledgeItem、Tag、Search | | P3 | 学习闭环 | LearningSession、ActiveRecall、AIAnalysis、FocusItem、Review、LearningActivity | | P4 | AI 基础设施 | AIGateway、PromptTemplate、AIUsageLog、Quota、AIWorkflow | | P5 | 文件导入 | File、Storage、DocumentImport、KnowledgeGeneration | | P6 | 商业化 | Plans、Membership、Subscription、Payment、Refund | | P7 | 用户 Web 后台 | Web Console、批量上传、导入、导出 | | P8 | 管理员后台 | Admin Users、Admin Knowledge、AI Cost、Feedback、Audit | | P9 | 客服反馈 | Feedback、SupportTicket、Dify、HelpCenter | | P10 | 通知任务 | Notifications、Push、BullMQ Worker、Scheduler | | P11 | 学习画像 | LearningAnalytics、UserLearningProfile、LearningReport | | P12 | 公开分享 | Visibility、ShareLink、Public Knowledge | | P13 | 合规配置 | SystemConfig、Privacy、Delete Account、Data Export | | P14 | 增长归因 | Attribution、ProductAnalytics、Campaign Tracking | --- # 如果按“完全体开发路线”分阶段 ## 第一阶段:能真实使用 ```text 安全 数据库 登录 用户 权限 知识库 知识点 ``` 目标: ```text 用户可以登录并创建自己的知识库。 ``` --- ## 第二阶段:形成学习闭环 ```text 学习会话 主动回忆 AI 分析 待巩固项 复习卡片 学习活跃 AI usage log ``` 目标: ```text 用户可以从输入知识走到主动输出、AI 反馈、复习。 ``` --- ## 第三阶段:支持真实内容导入 ```text 文件上传 文档导入 AI 切分知识点 导入任务队列 Worker ``` 目标: ```text 用户可以上传资料并转成知识库。 ``` --- ## 第四阶段:商业化 ```text 会员权益 AI 额度 套餐 Apple IAP 订阅通知 退款处理 ``` 目标: ```text 用户可以付费,系统可以控制成本。 ``` --- ## 第五阶段:运营后台 ```text 管理员后台 用户管理 知识库元数据 反馈管理 AI 成本看板 订阅管理 审计日志 ``` 目标: ```text 你和后续合作的人可以运营这个产品。 ``` --- ## 第六阶段:客服和支持 ```text 反馈 工单 Dify 智能客服 帮助中心 ``` 目标: ```text 基础问题自动回答,复杂问题进入工单。 ``` --- ## 第七阶段:学习画像和 Agent ```text 用户学习画像 长期趋势分析 周报月报 AI 工作流 Learning Agent ``` 目标: ```text 系统开始越来越懂用户。 ``` --- ## 第八阶段:公开知识库和社区 ```text 公开知识库 分享链接 官方知识库 精选模板 举报审核 ``` 目标: ```text 从个人学习工具扩展到内容和社区。 ``` --- # 最终结论 知习后端完全体不是一个简单 CRUD 后端,它最终会变成: ```text 用户系统 + 权限系统 + 知识库系统 + 学习闭环系统 + AI 工作流系统 + 复习系统 + 成本控制系统 + 订阅系统 + 文件导入系统 + 后台管理系统 + 客服工单系统 + 学习画像系统 + 合规系统 + 增长归因系统 ``` 但是优先级一定是: ```text 身份权限 → 知识系统 → 学习闭环 → AI 基础设施 → 文件导入 → 商业化 → 后台 → 客服 → 学习画像 → 公开分享 → 增长归因 ``` 你现在如果要写后端开发文档,可以直接按这个顺序作为总路线图。