每批最多 20 个文件,单文件不超过 50 MB。同一知识库内同名上传,自动生成新版本。
| 文档名称 | 处理状态 | 片段数 | 操作 |
|---|
文档名称沿用现有管理方式;同名上传将更新该文档。
每批最多 20 个文件,单文件不超过 50 MB。同一知识库内同名上传,自动生成新版本。
| 文档名称 | 处理状态 | 片段数 | 操作 |
|---|
现状问题:上传使用整批事务,任一文件失败会回滚其他文件;同名再次上传被拒绝。现有任务版本计数没有保存可查看、可恢复的内容历史。本方案分别解决逐文件接收与真实内容版本管理。
① 同一知识库内,以完整文档名(包含扩展名)识别同一文档;再次上传默认创建新版本,不再以重名报错。② 新版处理中或处理失败时继续检索上一份可用版本。③ 恢复历史内容时创建新版本,例如恢复 v1 生成 v4,保留全部历史。
选择后逐项校验、显示结果。单文件超过 50 MB、格式不支持、空文件等只阻止对应文件,其他有效文件可以继续上传。超过 20 个文件时保留选择并提示移除多余项或分批,不擅自截取前 20 个。每个文件独立接收,成功项不回滚;选择时提示新建/更新,版本号在成功接收时由服务端分配。没有更新权限的同名文件只影响该项,不影响其他文件;同一批内多个同名文件全部标记冲突,要求保留其中一个,其他名称不受影响。
“已接收”代表文件已上传且已生成版本,不等于已可检索。弹窗展示本批字节进度、逐项接收结果和新版本号;结束后可以仅重试上传失败项、关闭查看处理状态。解析失败属于版本处理失败,在文档/版本历史重试该版本,不需要重复上传成功的文件。重试处理不会生成新的内容版本。
文档列表保持一个文档一行,原四列与分类布局不变。在状态单元格显示“检索使用 v3”“v4 解析中/失败”等信息,在操作列增加“版本历史”。历史抽屉按版本号倒序展示来源、处理状态、原文件大小、创建人、创建时间和生效时间(北京时间,精确到秒,正式实现使用实际记录);支持版本原文预览、下载和“恢复为新版本”。
任何时刻只检索一个生效版本;新版本解析、分块、向量化全部成功后原子切换,避免同时命中新旧版本。若同时提交 v4、v5,只有最新待生效版本可以接替,晚完成的 v4 不得覆盖 v5。新文档没有可用旧版时,在首次处理成功前不参与检索。
恢复不是将版本号倒回去,而是复制所选版本的内容快照(含手工编辑正文和资源)创建 vN+1,保留该版本正文及资源快照,使用当前知识库的向量模型重新分块和索引,分块策略沿用被恢复版本的快照;不得重解析原文件而丢掉被恢复的手工编辑。恢复版本记录直接来源版本关系,显示可点击的“恢复自 v1”;点击定位并突出来源记录,来源记录也显示“已恢复为 v4”。主列表在恢复版本处理中及生效后都展示对应来源关联。再次恢复已恢复的版本时,记录直接来源,例如 v6 恢复自 v4;通过关系继续追溯 v4 → v1。此前的生效版本继续检索。恢复失败不影响旧版;成功后新版本成为默认。重复点击用同一请求标识防止重复建版,并发更新需重新确认,不能覆盖其他人刚提交的版本。
创建时间:服务端成功接收内容并创建该版本的时间,不是本地文件修改时间;恢复生成的新版本记录本次创建时间,不复制来源版本时间。生效时间:处理成功并原子切换为检索版本的时间,不是仅完成上传或解析的时间。处理中、失败以及处理成功但未被切换为检索版本的记录显示“尚未生效”。处理重试不改创建时间;后续历史记录保留原生效时间。恢复新版本使用自己的创建/生效时间,不改动来源记录。
上传新版、正文内容编辑、重解析原文、恢复历史内容会创建内容版本。重命名、分类、标签等属于文档属性,修改不创建内容版本;历史展示当时的文件名,今后同名匹配使用文档当前名称。新版保留原文档 ID、分类、标签、权限及引用,批次选择的分类只用于新文档。处理失败后的重试、仅重新向量化不创建内容版本。重解析原文可能替换正文、覆盖手工编辑,因此需确认创建新版本,保留此前快照;所有重建均先成功再切换生效索引。
编辑正文的历史快照必须包括检索正文,不能仅保留原 PDF/Word,否则恢复会丢失手工编辑。同内容再次主动上传仍按已确认规则生成新版本;网络重试沿用文件请求标识,不能误建重复版本。
推荐浏览器采用逐文件上传队列,默认并发 2,每文件独立事务与幂等记录;返回失败不影响其他文件。持续有数据时继续等待,连续 2 分钟无数据或传输结束后确认超过 2 分钟时超时;本批队列整体最长 30 分钟。用户取消时保留已接收项,未开始项停止;无法确定是否被接收的项先查询请求结果再决定重试。接收记录不依赖当前页面,刷新或重开可查询并核对,避免丢失响应后反复造版。
候选:保留一个 multipart 请求并在后台逐文件事务/返回部分结果,接口改动较少,但整个传输中断后难以准确呈现每个文件的接收结果。逐文件队列更适合进度、取消和定向重试。版本保存推荐采用文档身份与不可变内容快照分离的结构;简单覆盖原文件或复用现有任务计数不能支持真实历史与恢复。
后台新增内容版本与接收结果记录,版本状态及任务关联;每个版本保存原文件、解析正文、资源与处理设置快照。当前已有 version 字段用于任务失效/并发控制,不能直接当产品内容版本号。检索、问答、知识应用和发布工具都只读取当前生效索引,引用需带具体内容版本,点击旧引用能查看对应历史内容。知识应用配置版本与文档内容版本分别管理;发布工具不会自动冻结文档内容版本,仍跟随知识库生效内容。
迁移时既有文档建立 v1 快照,当前可用索引保持生效;已有处理中/失败状态按实际记录迁移,不编造过去的历史。权限沿用原知识库编辑与只读规则。新文件与版本号的分配需加锁,任务完成时校验是否仍为待生效版本;切换需保证原文、正文、资源和检索引用来自同一内容版本。
第一版保留全部内容历史,不提供单个版本删除、版本比较或自动清理。可只保留生效/构建中的向量索引,历史版本保留内容快照,回退需重建。删除整个文档时明确包含所有历史版本,取消相关任务并清理存储;知识库删除沿用已有规则。
必须覆盖:同名新版本;一批存在超大文件/同名冲突/网络失败且其他项成功;成功项不回滚、失败项单独重试;响应丢失幂等;新版本失败旧版继续检索;新文档失败不参与检索;恢复成功/失败/并发冲突;v4/v5 完成顺序颠倒;正文编辑可恢复;跨分类同名;重命名后同名匹配;只读用户无上传/恢复权限;删除全部历史;应用及 MCP 查询与引用正确带版。
待确认整页交互设计。两项关键语义已获用户确认:旧版继续检索,恢复生成新版本。版本保留/清理策略、比较能力属于后续独立需求;第一版保留全部历史。
数据来源:2026-10-14 本机知识库的 7 个文档,其名称、大小与当前片段数为真实数据。版本历史、上传失败、处理失败与恢复过程均为交互模拟,不代表真实记录。原型不上传、修改、恢复或删除真实资料。