-
Notifications
You must be signed in to change notification settings - Fork 1.4k
[Bug]: MarkdownParser:重复顶级标题导致 merged 文件名冲突覆盖,入库文档缺失内容 #1004
Copy link
Copy link
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Bug Description
- 使用 ov add-resource 导入这个 Markdown 文档时,导入后的资源目录里缺失了原文的多段内容。
- 复现发现当原文中重复出现相同的顶级标题(例如多次出现 # 我们的文化理念 )时, MarkdownParser 会把多个“小节”合并为 *_Nmore.md 文件,但合并文件名仅由 “第一个 section 名 + Nmore” 组成,导致不同批次合并产生同名文件并被后写覆盖,最终出现内容缺失。
Steps to Reproduce
ov add-resource 我们的文化理念.md
Expected Behavior
导入后所有原文内容都应出现在解析产物中(即使被拆分/合并),不应因为文件名冲突而丢失。
Actual Behavior
解析产物中部分内容丢失
Minimal Reproducible Example
Error Logs
OpenViking Version
0.2.11
Python Version
3.12
Operating System
macOS
Model Backend
None
Additional Context
原因分析
- generate_merged_filename() 在 count > 1 时仅用 {first}{count}more 生成文件名;当文档里大量重复同名标题、且多次发生合并时,不同合并组会产出相同文件名,从而产生冲突(甚至覆盖)
- 此时_save_merged() 写文件会覆盖已有同名文件,导致前一次合并内容被覆盖丢失。
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working
Type
Projects
Status
Done