ファイルシステムとシェルツール
Triggerfishはエージェントに読み取り、書き込み、検索、コマンド実行のための汎用ファイルシステムと シェルツールを提供します。これらは他の機能(exec環境、explore、スキル)が構築する基本ツールです。
ツール
read_file
絶対パスのファイルの内容を読み取ります。
| パラメーター | タイプ | 必須 | 説明 |
|---|---|---|---|
path | string | はい | 読み取るファイルの絶対パス |
ファイルの完全なテキストコンテンツを返します。
write_file
ワークスペース相対パスのファイルにコンテンツを書き込みます。
| パラメーター | タイプ | 必須 | 説明 |
|---|---|---|---|
path | string | はい | ワークスペース内の相対パス |
content | string | はい | 書き込むファイルコンテンツ |
書き込みはエージェントのワークスペースディレクトリにスコープされます。エージェントはファイルシステム上の 任意の場所に書き込むことができません。
edit_file
ファイル内のユニークな文字列を置き換えます。old_textはファイル内に正確に1回出現する必要があります。
| パラメーター | タイプ | 必須 | 説明 |
|---|---|---|---|
path | string | はい | 編集するファイルの絶対パス |
old_text | string | はい | 見つける正確なテキスト(ファイル内で一意) |
new_text | string | はい | 置換テキスト |
これは精密な編集ツールです — 1つの正確な一致を見つけて置き換えます。テキストが複数回または全く 存在しない場合、操作はエラーで失敗します。
list_directory
指定された絶対パスのファイルとディレクトリをリストします。
| パラメーター | タイプ | 必須 | 説明 |
|---|---|---|---|
path | string | はい | リストするディレクトリの絶対パス |
ディレクトリには/サフィックスを付けてエントリを返します。
search_files
Globパターンに一致するファイルを検索するか、grepでファイルの内容を検索します。
| パラメーター | タイプ | 必須 | 説明 |
|---|---|---|---|
path | string | はい | 検索するディレクトリ |
pattern | string | はい | ファイル名のGlobパターン、またはファイル内で検索するテキスト/正規表現 |
content_search | boolean | いいえ | trueの場合、ファイル名の代わりにファイルの内容を検索 |
run_command
エージェントワークスペースディレクトリでシェルコマンドを実行します。
| パラメーター | タイプ | 必須 | 説明 |
|---|---|---|---|
command | string | はい | 実行するシェルコマンド |
stdout、stderr、終了コードを返します。コマンドはエージェントのワークスペースディレクトリで実行されます。 PRE_TOOL_CALLフックは実行前にデナイリストに対してコマンドを確認します。
他のツールとの関係
これらのファイルシステムツールはExec環境ツール(exec.write、 exec.read、exec.run、exec.ls)と重複します。区別:
- ファイルシステムツールは絶対パスとエージェントのデフォルトワークスペースで動作します。常に 利用可能です。
- Execツールは明示的な分離、テストランナー、パッケージインストールを持つ構造化されたワークスペース 内で動作します。exec環境統合の一部です。
エージェントは一般的なファイル操作にはファイルシステムツールを使用し、開発ワークフロー(書く/実行/修正のループ) で作業する場合はexecツールを使用します。
セキュリティ
write_fileはエージェントのワークスペースディレクトリにスコープされますrun_commandはコマンドをコンテキストとしてPRE_TOOL_CALLフックを通過します- コマンドデナイリストが危険な操作をブロックします(
rm -rf /、sudoなど) - すべてのツールレスポンスは分類とtaintトラッキングのために
POST_TOOL_RESPONSEを通過します - プランモードでは、計画が承認されるまで
write_fileはブロックされます
