feat: 完善知识库批量导入与公共 API

- 新增批量异步导入、状态查询、失败重试与中断恢复链路

- 拆分知识库读取、导入、维护权限并完善 Public API 契约

- 补充数据库迁移、管理端交互、接口说明与相关测试
This commit is contained in:
2026-08-03 11:13:48 +08:00
parent 6df3dd9981
commit 51dbfd41b6
99 changed files with 16274 additions and 480 deletions

View File

@@ -78,6 +78,50 @@
"fileName": "文件名称",
"progressUpload": "文件上传进度",
"fileSize": "文件大小",
"batchUploadTitle": "点击选择文件,或将文件拖到这里上传",
"batchUploadDescription": "支持 TXT、PDF、DOCX、MD、PPTX、XLSX单个文件不超过 100MB文件夹总大小不超过 1GB。",
"batchUploadTip": "上传完成后,可选择手动导入或自动导入。",
"selectFolder": "选择文件夹",
"manualImport": "手动导入",
"autoImport": "自动导入",
"autoImportTip": "自动完成解析、分块、向量化和入库,无需逐篇确认。",
"manualImportStarted": "文档已进入列表,解析完成后可继续选择分块策略",
"autoImportStarted": "自动导入已开始",
"uploadCompleteFirst": "请等待所有文件上传完成",
"uploaded": "已上传",
"uploading": "上传中",
"retryUpload": "重试上传",
"retry": "重试",
"singleFileLimit": "单个文件不能超过 100MB",
"folderSizeLimit": "文件夹总大小不能超过 1GB",
"fileCountLimit": "单批次文件数不能超过 2000",
"noSupportedFiles": "未找到支持的文档",
"unsupportedSkipped": "已跳过不支持的文件",
"createBatchFailed": "创建上传批次失败",
"cancelBatchFailed": "取消上传批次失败,请重试",
"uploadFailed": "文件上传失败,请重试",
"duplicatePolicy": "重复文件",
"skipDuplicates": "跳过",
"overwriteDuplicates": "覆盖",
"reimportDuplicates": "重新导入",
"batchStatus": "自动导入状态",
"batchRunning": "处理中",
"batchInterrupted": "已中断",
"batchPartial": "部分失败",
"batchFailed": "导入失败",
"batchCompleted": "已完成",
"completedCount": "完成",
"processingCount": "处理中",
"failedCount": "失败",
"pendingCount": "等待",
"skippedCount": "跳过",
"continueBatch": "继续",
"splitOrIndexFailed": "分块或向量化失败,请重试",
"documentSourceUnavailable": "文档文件读取失败,请联系管理员",
"parseServiceUnavailable": "文档解析服务暂不可用,请稍后重试",
"parseServiceTimeout": "文档解析服务响应超时,请稍后重试",
"taskPendingTimeout": "任务排队超时,请重试",
"taskExecutionInterrupted": "任务执行中断,请重试",
"uploadCreateTip": "上传完成后,文档会先进入列表并异步解析,解析完成后再继续分块和向量化。",
"analysisTip": "系统会先基于文档结构做中英文规则分析,再推荐拆分策略,你也可以逐个文件手动调整。",
"manualStrategyTip": "调整分块策略后会自动刷新预览,确认效果后再启动向量化。",
@@ -134,6 +178,8 @@
"PARSING": "解析中",
"PARSE_FAILED": "解析失败",
"READY_FOR_SEGMENT": "待分块",
"SPLITTING": "分块中",
"SPLIT_FAILED": "分块失败",
"READY_FOR_INDEX": "待向量化",
"INDEXING": "向量化中",
"INDEX_FAILED": "向量化失败",