Files
Mdeical_Sur_Report/工程分析/20260419_0359/需求分析.md
admin 9f73d8595c feat(ai): 修改模式自动锁定目标区域 + SystemPrompt模式语义强化
- handleAIGenerate开头增加自动修正目标区域逻辑:修改模式开启且未选区域时,自动选择文档中第一个AI区域
- systemPrompt明确标注'当前处于【修改模式】/【对话模式】',并细化字段要求
- diffModal的targetId改为使用actualTargetId,确保确认注入时使用实际修正后的区域ID
2026-04-19 04:02:05 +08:00

1.7 KiB
Raw Blame History

需求分析

时间戳

2026-04-19 03:59

需求来源

用户希望 AI 辅助撰写功能实现两个明确的场景:

  • 场景 A修改模式:勾选「允许修改正文」→ AI 自动修改当前选定的 AI 可编辑区域 → 弹出 diff 对比弹窗(左侧原稿、右侧可二次编辑的 AI 稿)→ 用户可确认或放弃
  • 场景 B纯对话模式:取消勾选「允许修改正文」→ AI 只回复聊天内容,不修改编辑器

当前状态评估

从上一次修改后,当前代码已基本实现两个场景的核心逻辑:

  1. systemPrompt 条件为 aiModifyEnabled(已解绑 targetRegionEl
  2. 接收逻辑为 if (responseJson.updatedHtml && aiModifyEnabled),然后分支判断 targetRegionEl
  3. diffModal 已实现左右分栏:左侧原稿只读,右侧 AI 稿可编辑contentEditable

剩余问题

问题 1修改模式开启但未选区域时AI 找不到修改目标

aiTargetRegion 默认值为 'none'。用户勾选「允许修改正文」后,如果未在下拉框中手动选择具体区域,targetRegionElnullprompt 中不会包含目标区域源码,导致 AI 虽然返回了 updatedHtml,但可能不是用户期望的修改位置。

问题 2systemPrompt 文案可进一步优化

当前 systemPrompt 对修改模式和纯对话模式的区分可以更加明确,让大模型更清楚知道是否应该生成 HTML。

约束条件

  • 自动修正目标区域时,若下拉框原本为 'none',应同步更新 UI 状态(setAiTargetRegion
  • diffModaltargetId 应使用实际修正后的区域 ID
  • 保持现有 diff 弹窗交互不变(左原稿右可编辑稿)