--- 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` / `Array` 内存存储 - 所有 `generateShortId()` 调用 - 所有 `OnModuleInit` 种子假数据 - 所有 `'anonymous'` fallback