メインコンテンツまでスキップ

ファイルとターミナル

Anyyはファイルの読み取りや検索、狙った部分の編集、シェルコマンドの実行、バックグラウンドプロセスセッションの管理ができます。セッションのWorkspaceと目的が明確なときに、これらのツールが特に役立ちます。

ファイルツール​

機能動作
Readテキストまたは対応するJPEG/PNG/GIF/WebP/BMP画像を読む。大きなテキストには上限がある
Listドットファイルを含め、ディレクトリをアルファベット順に一覧表示
Find.gitignoreを尊重し、globでパスを検索
Grep.gitignoreを尊重し、パスと行番号付きでファイル内容を検索
Write1ファイルを作成または上書きし、親ディレクトリも作成
Edit1ファイル内の完全一致し、一意で、重複しないテキスト領域を置換

検索結果と読み取りは意図的に上限付きです。切り詰めた出力を完全だと仮定せず、オフセットからの続行や検索の絞り込みを依頼します。

ターミナルツール​

ターミナルは、フォアグラウンドのシェルコマンドや管理対象バックグラウンドプロセスを起動できます。管理対象プロセスには、一覧、poll、log、wait、入力の書き込み/送信、入力を閉じる、killなどのライフサイクル操作があります。

依頼例:

In this Workspace, find every reference to the old setting and show me the affected files. Do not edit anything.
Run the focused tests for this package. If they pass, update the two affected files and summarize the diff.

ファイルの変更​

writeとeditは要求された変更を直接適用します。writeは不足する親ディレクトリを作り、editでは各置換が一意で重複しない領域に一致する必要があります。不正なソースコード構文も、追加の構文検査なしに要求どおり書き込まれます。

相対パスはツールの作業ディレクトリから解決されます。絶対パス、親ディレクトリパス、通常のシンボリックリンクはファイルシステムの意味に従います。Workspaceはコンテキストを提供するもので、ファイルアクセスを1ディレクトリに制限しません。OSの権限は引き続き適用されます。

同じ対象への変更は順番にキューへ入ります。I/O開始後に失敗またはキャンセルされたら、再試行前にファイルを確認します。完了済みの作用は自動ロールバックされません。

作業の進め方​

  1. 現在の状態を確認し説明するよう依頼します。
  2. 関連パスを示し、具体的な変更を依頼します。
  3. 結果の差分を確認します。
  4. 対象を絞った検証を行います。

ランタイムと依存関係​

ローカルのbashツールは、設定したシェルまたは利用可能なbashをAnyyホストで実行し、代替に/bin/shを使います。コマンドには、その環境で実行ファイル、インタープリター、認証情報が必要です。クライアントPCで使えるコマンドが常駐ホストにもあるとは限りません。

grepはrg、findはfdまたはfdfindを使用します。AnyyはProfileのbin/、次にPATHを調べ、不足するヘルパーを公式リリースから取得できます。ANYY_OFFLINE=1はインストール済みヘルパーを許可しつつ取得を無効にします。Androidでは取得を行いません。検索ヘルパーの利用可否を参照してください。

既定で最初に選ばれる移植可能なファイルツールはread、bash、edit、writeです。grep、find、lsは別途選ぶか、条件を満たす場合は有効なCodemodeから呼び出せます。実際の選択は現在のカタログで確認します。

既知の認証情報は、結果やプロセスログの公開前に秘匿されます。モデル向け出力とプログラム向け戻り値には別々の上限があります。たとえばCodemodeのtools.bashはoutput、truncated、exit_code、wall_time_secondsを返し、1 MiB超の出力は先頭/末尾とfull_output_pathを保持します。非ゼロ終了でもこのオブジェクトが解決される場合があるため、exit_codeを確認してください。テキスト読み取りの続行案内に従うか、tool_result_readで有効な論理結果参照を使います。

バックグラウンドプロセス​

サーバー、監視、長いテストには管理対象プロセスを使います。プロセスセッションハンドルの報告、pollやログ表示、作業終了時の停止を依頼します。プロセスは開始した会話に属し、別の会話から入力、ログの読み取り、停止はできません。

既定の上限は、Profile内の全会話で管理対象バックグラウンドプロセス4件です。フォアグラウンドシェルコマンドは対象外です。終了済みジョブは再通知されません。常駐ランタイムの再起動後は、保存済みプロセスIDだけで制御を復元できません。Anyyは古いIDでプロセスを停止せず、制御不能と報告します。

独立したエージェント作業はバックグラウンドジョブを参照してください。