Skip to main content
通过精确文本替换编辑文件。相比 write 整体覆盖,edit 只传改动的部分,更快也更不容易误伤文件其余内容,因此修改已有文件时优先使用它。oldText 为空时则追加到文件末尾。

依赖

无额外依赖,默认可用。

参数

默认要求 oldText 在文件中唯一:出现多处时会报错并提示补充上下文,避免改错位置。确实要全部替换时设置 replaceAll=true
read 返回的每行前面带有 12| 这样的行号前缀,那是显示用的,不属于文件内容。oldText / newText 中不要带这些前缀。

安全检查

编辑写入前会做几项检查,异常时在结果中给出提示:
  • 文件被外部改动:若文件在 Agent 读取之后被其他程序修改过,会附带提醒,避免基于过期内容覆盖他人改动。
  • 语法检查:改动后的内容若是 JSON / YAML / TOML 且解析失败,会拒绝写入并保持文件原样——这类文件半截即损坏。源码文件(如 .py)只在本次改动引入了新语法错误时给出告警,不阻止写入。
  • 凭证保护:存放 API Key 的 ~/.cow/.env 不允许通过本工具修改,请使用 env_config 工具。

使用场景

  • 修改配置文件中的特定参数
  • 修复代码中的 bug
  • 在文件指定位置插入内容