明白，你要的不是“现在别做什么”，而是：

```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 基础设施
→ 文件导入
→ 商业化
→ 后台
→ 客服
→ 学习画像
→ 公开分享
→ 增长归因
```

你现在如果要写后端开发文档，可以直接按这个顺序作为总路线图。
