Skip to content

コンセプト

なぜ存在するのか

コーディングエージェントは、コマンドの連なりを静かに実行し、ファイルを書き換え、外部に副作用を引き起こします。「あれは何をしたのか」を後から再構築するのは困難であり、そのコストは現実のものです。エージェントが 1 ステップでデータを上書きし、後で調査しようとして初めて記録が残っていなかったと気づくのです。

STRIDE の用語で言えば、これは 否認(Repudiation)の問題であり、個人の CLI マシンにおいて最初に塞ぐ価値のあるギャップです。目指したのは美しいビューアではなく、「あの操作 — どのコマンドで、実際に何をしたのか」を事後に絞り込めるようにすることでした。

中核となる原則

検索優先

grep は第一級の市民です。本ツールは、ツール種別、cwd、時間範囲、エージェントによる複合フィルタを中心に構築されています。タイムラインや集計は副産物です。

読み取り専用

編集は一切行いません。確定した過去を忠実に再生し、抽出します。元のトランスクリプトはそのままの場所に残り、agtail はインデックスと検索を所有します — きれいな役割分担です。

エージェント非依存

Claude と Codex のトランスクリプトは 1 つのスキーマに正規化され、1 つのインターフェースを通して読み取られます。エージェントを追加してもエントリポイントは変わりません。アダプタと正規化モデル を参照してください。

何も黙って捨てない

未知のレコード型は破棄されず、unknown イベントとして表面化されます。トランスクリプトから何かが消えることはありません。

フォールバックなし

前提条件が欠けている場合、agtail はもっともらしい値をごまかすのではなく、声高に失敗するか「unknown」と報告します。たとえば、価格が不明なモデルについてコストは推定されず、「unknown」と表示されます(トークンとコスト を参照)。

公式アプリとの違い

Claude Desktop と Codex アプリは、いずれもローカルセッションを閲覧できます。それでも agtail が存在するのは、そのスコープが異なるからです。

agtail が引き受けること:

  • エージェント横断検索 — ツールやプロジェクトをまたいだすべてのセッションを一度に grep する
  • CLI / 自動化agtail grep ... | ... をパイプし、CI から実行する
  • ツール軸の分析 — 「今週の Bash 実行回数は、どのファイルが最も多く Write されたか」
  • フックとプラグインのフォレンジック — フックの発火を検索可能なイベントとして扱い、それを所有するプラグインに帰属させる(アダプタ)
  • クロスマシン監査 — 名前付きコレクションへエクスポート/インポートし、複数のマシンや人物を 1 つのビューアでレビューする(クロスマシン同期)
  • 変換 / エクスポートの自由度 — マスクや JSONL プロジェクション

公式アプリに委ねる(競合しない)こと:

  • リアルタイムの会話再生、リッチなレンダリング、添付画像のプレビュー

agtail は事後の検索と分析に全面的にコミットしており、ライブ閲覧では競合しません。