Write/SearchReplace 对已存在的大 HTML 文件做增量修…

Write/SearchReplace 对已存在的大 HTML 文件做增量修改时,工具返回成功但磁盘内容未更新

问题描述

在使用 workspace 模式时,底层 AI 的 Write / SearchReplace 工具对已存在的较大 HTML 文件(约 100KB、1300+ 行)进行多次增量修改时,出现如下现象:

  • 工具调用返回"修改成功",file_changes 也显示 diff 正确;

  • 但随后读取/检索该文件,发现部分修改未真正落盘(磁盘内容与工具返回的 diff 不一致);

  • 尤其集中在文件后半段(如第 500 行之后的多个 section)进行连续多次编辑时更容易复现;

  • 新建文件、覆盖整个文件、shell 层 cp 覆盖写入均正常,唯独"对已存在大文件的多次 SearchReplace 增量修改"会出现丢失。

复现步骤

  1. 准备一个 1300+ 行、约 100KB 的 HTML 文件;

  2. 用 SearchReplace 对文件不同位置连续做 3~5 次增量修改;

  3. 每次工具均返回成功;

  4. 用 Grep / Read / wc -l 核验磁盘内容,发现部分修改未生效。

期望行为

SearchReplace 对已存在大文件的增量修改应可靠落盘,工具返回成功即代表磁盘内容已更新,不应出现"返回成功但内容未变"的不一致。

补充排查信息

  • 挂载类型:/workspace 与 /data/user 均为 virtiofs,同一底层文件系统;

  • 目录权限正常(777 / 755),shell 层与 Write 工具新建、覆盖写入均正常且落盘保持;

  • 已排除 issue #2071 描述的"多目录权限不足"原因(本环境两个目录均可正常写入)。

环境信息

  • 模式:workspace 模式

  • 复现对象:自包含 HTML 文件(约 100KB、1370+ 行)

  • 工具:Write / SearchReplace

排序方式 :

成为第一条评论!

Nobody's responded to this post yet. Add your thoughts and get the conversation going.