---
updated: 2026-05-17
---

# 知习 api-server 已实现功能汇总

> 从各设计/计划文档中提取的已完成内容，集中存放。原文档中已移除这些内容，仅保留待推进部分。

---

## 一、基础设施

| 项目 | 状态 |
|------|------|
| NestJS + TypeScript | ✅ |
| Prisma + MySQL | ✅ |
| Docker + Nginx | ✅ api.longde.cloud |
| Let's Encrypt SSL | ✅ |
| Swagger（Basic Auth 保护） | ✅ |
| 全局 JwtAuthGuard（@Public 白名单） | ✅ |
| 全局 RolesGuard（角色层级 SUPER_ADMIN ⊃ ADMIN ⊃ USER） | ✅ |
| 全局 ExceptionFilter | ✅ |
| 全局 ValidationPipe（whitelist + forbidNonWhitelisted） | ✅ |
| `npx tsc --noEmit` | ✅ 0 errors |
| DNS 迁到 DNSPod（腾讯云） | ✅ |

---

## 二、业务模块（全部完成）

| 模块 | 说明 |
|------|------|
| Auth（Apple + JWT） | Apple 登录、JWT access/refresh token rotation、logout 撤销、SHA-256 hash 存储 |
| Role / Permission | `@Roles()` 装饰器 + `RolesGuard` + `ROLE_HIERARCHY`（SUPER_ADMIN ⊃ ADMIN ⊃ USER） |
| Users | 个人资料 CRUD、偏好设置（外观/语言/提醒）、`/users/me` |
| Knowledge Base | CRUD + 软删除，Prisma |
| Knowledge Items | CRUD + 排序，Prisma |
| Learning Session | 开始/结束/列表 |
| Active Recall | 回答提交 + AI 分析集成 |
| AI Analysis | 同步分析 + 结果存储 |
| AI Gateway | 三层架构：Provider（DeepSeek + MiniMax + Mock）→ Gateway → Workflow |
| AI Workflows | 🔶 1/5：主动回忆分析完成 |
| Focus Items | CRUD + 完成标记 |
| Review | 到期卡片 + 提交复习 |
| Learning Activity | 热力图 + 摘要统计 |
| Document Import | 导入创建 + 状态查询 |
| Notifications | 列表 + 已读标记 |
| Feedback | 提交 + 列表 + 统计 |
| System | 健康检查 |

---

## 三、AI 基础设施

```
src/modules/ai/
├── ai.module.ts
├── ai.controller.ts
├── model-router.ts
├── gateway/ai-gateway.service.ts           ← 统一入口、选模型、JSON容错、超时重试
├── gateway/ai-gateway.types.ts
├── providers/ai-provider.interface.ts
├── providers/mock-ai.provider.ts
├── providers/deepseek.provider.ts
├── providers/minimax.provider.ts
├── prompts/prompt-template.service.ts      ← key + version 注册
├── prompts/active-recall-analysis.prompt.ts
├── prompts/schemas/active-recall-analysis.schema.ts
├── usage/ai-cost-calculator.service.ts
├── usage/ai-usage-log.service.ts
└── workflows/active-recall-analysis.workflow.ts
```

已完成能力：
- 三层架构（Provider → Gateway → Workflow）
- 多模型路由（DeepSeek + MiniMax）
- Mock Provider（无 API Key 也能开发）
- JSON 解析三层回退
- 超时重试
- AI Usage Logging + Cost Calculation
- 1 个 Workflow：ActiveRecallAnalysisWorkflow

---

## 四、数据库

- 27 张表完整设计，Prisma schema 已落地
- 12 个 Repository 全部 Prisma 化（从 Map/Array 迁移完成）
- 所有查询方法加 `userId` 过滤
- ID 生成用 Prisma `@default(cuid())`
- 复杂字段（数组/对象）存 Prisma `Json` 字段
- 旧 `src/infrastructure/ai/` 已删除

---

## 五、安全基线

| 措施 | 说明 |
|------|------|
| helmet | 安全 HTTP 头 |
| CORS | 仅允许配置域名 |
| JWT | accessToken 1h + refreshToken SHA-256 hash 存储 + rotation |
| 角色系统 | USER/ADMIN/SUPER_ADMIN + 层级继承 |
| 资源归属校验 | `findByIdAndUserId()` / `ensureOwnership()` |
| StrictValidationPipe | whitelist + forbidNonWhitelisted |
| 限流 | `RateLimitService`：登录/反馈/AI/上传 |
| 文件上传安全 | 类型白名单、大小限制、随机文件名、路径隔离 |
| 异常过滤 | 生产环境不暴露 stack trace |
| Swagger | 生产环境默认关闭，可 Basic Auth 保护 |
| 日志安全 | 禁止打印敏感信息原则已确立 |

---

## 六、已废弃/清理的内容

- 旧 AI 基础设施 `src/infrastructure/ai/` 已删除
- 所有 `Map<string, T>` / `Array<T>` 内存存储
- 所有 `generateShortId()` 调用
- 所有 `OnModuleInit` 种子假数据
- 所有 `'anonymous'` fallback
