ZapMyCo
指南内置工具

file_edit — 编辑文件内容

提供五种编辑模式对本地文件进行精确、安全的内容修改(快速参考)

file_edit 提供五种编辑模式:line_range(推荐)、append、insert_after、批量编辑、以及旧有的 old_string/new_string 模式。

适用场景:让 AI 修复代码中的 bug、重构代码、更新配置文件等。

参数速览

参数类型必填说明
file_pathstring要修改的文件的绝对路径
modestring编辑模式:line_range(默认)、append
start_lineinteger否*要替换的起始行号(仅 line_range 模式)
end_lineinteger否*要替换的结束行号(仅 line_range 模式)
expectedstring否*预期的当前内容,至少 3 行非空代码行(仅 line_range 模式)
new_contentstring否*替换后的新内容(仅 line_range 模式)
contentstring否*要追加的内容(仅 append 模式)
old_stringstring否*(旧模式)要被替换的文本
new_stringstring否*(旧模式)替换后的文本
replace_allboolean(旧模式)是否替换所有匹配项(默认 false

* 不同模式需要不同的参数组合,详见独立设计文档

行为特性

  • 内容验证(line_range 模式):自动验证 AI 描述的 expected 内容与实际内容是否一致,防止数错行号
  • 自动合并:AI 在一轮中发出的多个同文件 line_range 编辑会自动合并,降序执行解决行号偏移,全部验证通过后才一次性写回
  • 向后兼容:旧的 old_string/new_string 模式完整保留

约束与限制

限制项
支持的文件仅纯文本文件(UTF-8 编码)
不支持的类型二进制文件、Jupyter Notebook(.ipynb

使用示例

zapmyco run '修复 src/main.rs 中的拼写错误,将 "helo" 改为 "hello"'
zapmyco run '在 src/lib.rs 末尾追加一个 helper 函数'
zapmyco run '将 Cargo.toml 中的版本号改为 0.2.0,并将 edition 改为 2024'

📖 详细文档:见 file_edit 独立设计文档,包含完整的实现原理、安全模型、验证算法、边界 case 和设计考量。

相关文档

On this page