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

@@ -10,6 +10,9 @@ server:
enabled: true
charset: UTF-8 # 必须设置 UTF-8避免 WebFlux 流式返回AI 场景)会乱码问题
force: true
tomcat:
# Public API 单次最多 200 个文件,额外为 metadata 与表单边界预留 Part。
max-part-count: 205
spring:
profiles:
@@ -44,8 +47,8 @@ spring:
servlet:
multipart:
max-file-size: 100MB
# 为 multipart 边界和请求头预留空间,文件本身仍由 M18 的 100 MiB 硬上限约束
max-request-size: 105MB
# Public API 业务上限为 200 MiB为 metadata 与 multipart 边界预留空间
max-request-size: 220MB
web:
resources:
# 示例windows【file: C:\easyflow\attachment】 linux【file: /www/easyflow/attachment】
@@ -127,7 +130,7 @@ easyflow:
max-retry: 16
consumer-executor:
core-size: 16
max-size: 24
max-size: 32
queue-capacity: 64
keep-alive-seconds: 60
pool:
@@ -198,6 +201,22 @@ easyflow:
health:
cache-ttl: 5s
document-import:
bulk:
max-file-count: 2000
max-total-size: 1GB
max-file-size: 100MB
upload-concurrency: 3
parse-max-running: 2
split-max-running: 2
index-max-running: 2
per-batch-parse-max-running: 2
pending-dispatch-batch-size: 100
pending-dispatch-interval: 2s
pending-redispatch-delay: 5s
pending-timeout: 24h
parse-submit-timeout: 120s
interruption-timeout: 10m
max-task-attempts: 3
status-broadcast-channel: easyflow:document-import:status
parse-monitor:
fixed-delay: 10000
@@ -249,7 +268,8 @@ easy-agents:
provider: mineru
mineru:
# 统一文档解析桥接层直接复用 easy-agents 的 provider 配置,不在 easyflow 再复制一套配置体系
base-url: https://hub.wust.edu.cn/modelServer/mineru-api
base-url: https://ontoweb.wust.edu.cn/mineru-api
submit-timeout-ms: 120000
default-lang-list:
- ch