write と異なり、edit は変更する部分だけを送信するため高速で、ファイルの他の箇所を壊しにくくなります。既存ファイルを変更する場合はこちらを優先してください。oldText が空の場合、ファイル末尾に追記します。
依存関係
追加の依存関係は不要で、デフォルトで利用可能です。パラメータ
デフォルトでは
oldText がファイル内で一意である必要があります。複数箇所に出現する場合はエラーとなり、前後の文脈を追加するよう促されます。誤った箇所を変更しないためです。本当にすべてを置換したい場合は replaceAll=true を指定してください。
read が返す各行には 12| のような行番号の接頭辞が付いています。これは表示用でありファイルの内容ではないため、oldText / newText には含めないでください。安全チェック
書き込み前にいくつかのチェックが実行され、問題があれば結果に含めて通知します:- 外部での変更:Agent が読み取った後にそのファイルが他のプログラムによって変更されていた場合、警告が付きます。他者の変更を上書きしないためです。
- 構文チェック:編集後の内容が JSON / YAML / TOML でパースに失敗する場合、書き込みを拒否しファイルはそのまま保持されます。これらの形式は途中まででは壊れているためです。ソースコード(
.pyなど)は、今回の編集が新たな構文エラーを生じさせた場合にのみ警告し、書き込み自体は妨げません。 - 認証情報の保護:API キーを保管する
~/.cow/.envは本ツールでは変更できません。env_configツールをご利用ください。
ユースケース
- 設定ファイルの特定パラメータの変更
- コードのバグ修正
- ファイル内の特定位置へのコンテンツ挿入
