# 需求分析 ## 时间戳 2026-04-19 20:30 ## 需求来源 用户在 AI 修改确认后遇到两个问题: 1. 点击「确认并写入报告」后,Ctrl+Z 撤销按钮无法撤销 AI 的修改 2. AI 替换后的文字字体格式与原有文字不一致(原有宋体 12pt,替换后变为浏览器默认字体) ## 问题 1:Ctrl+Z 撤销失效 **现象**:AI 修改确认注入后,按 Ctrl+Z 无法撤销。 **根因分析**: `confirmAiInjection` 使用 `targetContent.innerHTML = newHtml;` 直接修改 DOM 属性。这种方式绕过了浏览器 `contentEditable` 的原生撤销/重做历史栈,导致浏览器无法追踪这次更改。 ## 问题 2:字体格式不一致 **现象**: - 替换前:`

内容

` - 替换后:`

内容

`(无内联样式,显示为浏览器默认字体) **根因分析**: 大模型严格按照指令返回纯净的 `

` 标签,没有内联样式。注入后浏览器使用默认字体渲染,与原有宋体 12pt 不一致。 ## 解决方向 1. `confirmAiInjection` 改用 `Range.selectNodeContents` + `document.execCommand('insertHTML')`,让浏览器原生撤销栈记录这次替换 2. `handleAIGenerate` 中对 `cleanHtml` 进行正则替换,给 `

` 标签注入标准内联样式