内蔵ツール
zqagent には 21 のツール が内蔵されており、次のように分類されます(ツール名は承認カードに表示されます):
| 分類 | ツール |
|---|---|
| ファイル | read_file, write_file, replace_in_file, list_files, grep |
| Shell | run_shell(同じ shell セッションで連続実行。Auto モードでは許可リストのコマンドを自動許可)、shell_task_output、shell_task_kill(run_shell のバックグラウンドタスクを管理) |
| ネットワーク | web_search, web_fetch |
| Git | git_log, git_status, git_diff(読み取り専用) |
| パッチ | apply_patch, apply_unified_diff |
| コラボレーション | ask_user, propose_plan, request_directory |
| タスク | todo_write(進捗状態を共有) |
| サブエージェント | explore(読み取り専用の調査サブエージェント) |
| メディア | media(ffmpeg / ffprobe のラッパー:メタデータ取得、トリム、トランスコード、音声抽出、フレーム抽出、サムネイル、圧縮) |
ファイル
read_file— ファイル内容を読み取るwrite_file— ファイルを書き込む(新規作成または上書き)replace_in_file— 文字列の正確な置換。部分的な修正に適するlist_files— ディレクトリ構造を列挙grep— 正規表現でファイル内容を検索
Shell
run_shell は同じ shell セッションでコマンドを連続実行します。コマンド許可リストは Auto モードで自動許可され、 対話モードでは特定コマンドに対して C で常に許可できます(ツール全体を許可するより安全です)。
長いコマンドは run_in_background でバックグラウンドに回せます。返された task_id を使って shell_task_output で累積出力と 実行状態を確認し、shell_task_kill で終了できます(子プロセスツリーも含む)。
どの shell を使うかは実行時に自動選択されます:macOS / Linux は Node 既定の /bin/sh(挙動は従来どおり)。 Windows は POSIX 風シェルを優先し(同ディレクトリの BusyBox-w32 → Git Bash → PowerShell)、 どれもなければ cmd.exe にフォールバックし、選択した shell をツール説明に書いてモデルにコマンドスタイルの調整を促します。 ZQAGENT_SHELL(キーワードまたは実行ファイルパス)と ZQAGENT_BUSYBOX で上書きできます。 詳しくは README の「マルチプラットフォームパッケージ配布 → Windows の shell と検索」をご覧ください。
grep ツールは内蔵 / インストール済みの ripgrep を優先し、なければ内蔵の純 Node スキャナーにフォールバックします (完全な JS 正規表現に対応)。Windows 単体環境でもそのまま使えます。
Windows の従来コンソール(cmd.exe/conhost)が emoji や Unicode の表罫線を描画できない場合、CLI は 自動で ASCII 表記に切り替えます(✅→[OK]、❌→[x]、⚠️→[!] …)。Windows Terminal / VS Code などのモダンターミナルでは emoji を維持します。ZQAGENT_EMOJI=1/0 で強制できます。
ネットワーク
web_search— ウェブ検索web_fetch— ウェブページの内容を取得
Git(読み取り専用)
git_log / git_status / git_diff はリポジトリの履歴と状態を読み取り専用で確認します。
パッチ
apply_patch / apply_unified_diff はコードパッチを適用し、一括修正に適します。
コラボレーション
ask_user— ユーザーに質問propose_plan— 計画提案を提出request_directory— 作業ディレクトリを要求
タスクとサブエージェント
todo_write— 共有タスクの進捗を管理explore— 読み取り専用調査のサブエージェントを起動
メディア
media はローカルの ffmpeg / ffprobe をラップし、1 つのツールでメタデータ取得(probe)、トリム、トランスコード、 音声抽出、フレーム抽出、サムネイル、圧縮をカバーします。shell を経由する必要はありません。
ffmpeg は 4 段階で探します:① 環境変数 ZQAGENT_FFMPEG / ZQAGENT_FFPROBE → ② ワークスペース <workspace>/.agent/bin → ③ 単一ファイル内蔵リソース / PATH → ④ 見つからない場合は構造化された案内を返す (op="setup" による公式静的ビルドの自動ダウンロード、run_shell のインストールコマンド、手動インストールと環境変数の書き方を含む)。 各プラットフォームのインストールコマンドとライセンスの注意は戻り値の install_commands / notes にあります。
確認と無効化
CLI で /tools と入力するとすべてのツール(出所、リスク、無効状態を含む)を一覧できます。 /tool disable <name> で一時的に無効化し、/tool enable <name> で再度有効化できます。
