feat: 新增多格式文件上传入库与认证体系

- 新增 JWT 认证模块,支持登录/注册/用户管理
- 新增文件上传接口,支持 .txt/.md/.html/.pdf/.docx 等格式解析入库
- 新增检索结果 AI 总结功能
- 新增文本去重缓存机制
- 新增全局认证夹具简化测试
- 新增配置项与环境变量支持
- 完善文档与测试覆盖
This commit is contained in:
2026-07-30 10:30:15 +08:00
parent 51dc8dc4f6
commit dce9e31bde
31 changed files with 3021 additions and 45 deletions
+26
View File
@@ -72,3 +72,29 @@ CACHE_TTL=300
# --- 分块参数 ---
# chunk 超长二次切分阈值(字符数)
CHUNK_MAX_CHARS=800
# --- 认证(JWT---
# JWT 签名密钥,生产环境必须设置为足够长的随机串;留空则启动时自动生成(仅开发用)
JWT_SECRET_KEY=
# JWT 签名算法
JWT_ALGORITHM=HS256
# token 有效期(分钟),默认 24 小时
JWT_EXPIRE_MINUTES=1440
# 是否开放 POST /api/v1/auth/register 注册接口
AUTH_REGISTER_ENABLED=true
# 启动时自动创建的默认管理员用户名
DEFAULT_ADMIN_USERNAME=admin
# 默认管理员密码,留空则不创建默认管理员
DEFAULT_ADMIN_PASSWORD=
# --- 检索结果 AI 总结 ---
# 参与总结的最大 hit 条数(控制 prompt 长度)
RESULT_SUMMARY_MAX_HITS=5
# --- 文件上传 ---
# 原始文件保存目录(相对路径以工作目录为基)
UPLOAD_DIR=./uploads
# 单文件大小上限(MB
UPLOAD_MAX_SIZE_MB=20
# 允许上传的扩展名(逗号分隔,含点号,全小写)
UPLOAD_ALLOWED_EXTENSIONS=.txt,.md,.html,.htm,.pdf,.docx