Skip to content

Web UI

agtail servehttp://127.0.0.1:8765 に検索優先の 2 ペインビューアを開きます。ループバックのみにバインドし、外部への通信は一切行いません。ブラウザはファイルシステムを直接読めないため、ローカルプロセスが存在します。このプロセスがトランスクリプトを読み込み、ページへ渡します。

sh
agtail serve            # then open http://127.0.0.1:8765
agtail serve --port 9000

UI のライブ開発(ホットリロード)には、同じ API を内蔵した自己完結型の開発サーバを起動する pnpm dev:web を使います。別途バックエンドは不要です。

セッション一覧、ヘッダー検索、フィルタ / 保存済み検索 / インポートのコントロール。

ヘッダー

左から右へ:

  • テーマ切替 (☀ / 🌙) — ダークとライトを切り替えます。選択は記憶されます。
  • Import — 別のマシンからエクスポートされたセッションバンドルを取り込みます(クロスマシン同期を参照)。
  • 検索ボックス — エージェント横断の grep です。フォーカスすると最近の検索がドロップダウンで表示され、入力するとそれらが絞り込まれます。
  • ★ Saved — 現在の検索 + フィルタを名前を付けて保存し、後から再適用または管理できます。
  • ⊕ Filters — フィルタのポップオーバー(後述)を開きます。ボタンにはアクティブなフィルタの数が表示されます。
  • ソース切替(ソーススイッチャー) — コレクションを 1 つ以上インポートした場合にのみ表示されます。ビュー全体を All sourcesLocal(このマシン)、または 1 つのインポート済みコレクションにスコープします。コンテンツフィルタとは独立しています。

アクティブなフィルタは、ヘッダーの下に削除可能なチップとしても表示されます。

フィルタ

⊕ Filters ポップオーバーには、すべての絞り込みコントロールがまとまっています:

フィルタのポップオーバー: tool・model・project のチェックリスト、日付範囲、agent / status / origin のトグル、マスクトグル、最大結果数のセレクト。

  • tool / model / project (cwd) — 複数選択のチェックリストで、履歴に実際に登場するものをキャッシュした /api/facets のスキャンから生成されます(そのため自由入力ではなく、有限の選択可能なリストになります)。MCP ツールが 1 つでも存在する場合、tool のリストには mcp__* の便利なエントリが追加されます。長いリストは折りたたまれた状態で始まります。ファセットの読み込み中、リストは突然表示されるのではなく短い間スケルトンのプレースホルダーを表示します。
  • date range — since / until。
  • agent — claude / codex。
  • status — アクティブ vs. 🗄 アーカイブ済みセッション。
  • origin — インタラクティブ vs. 🤖 プログラム駆動(SDK 駆動)セッション。
  • outputMask secrets(シークレットをマスクする)トグル。
  • max results — 結果数の上限を設定します。

Clear all ですべてを一度にリセットします。

左ペイン — 統合リスト

新しい順の単一リストです。デフォルトではセッションを表示し、コンテンツ検索がアクティブな場合は検索ヒットに切り替わります。各ヒット行はそのセッションへジャンプし、マッチ数を表示します。

セッション横断検索: セッションごとのマッチ数を持つヒット一覧と Export-results アクション。

各行は、その出自を一目で示します:

  • ソースタグ(claude / codex)。
  • サブエージェントセッションは親の下にネストされ、エージェントタイプ(例: Explore)がバッジ表示されます。
  • 🗄 アーカイブ済み、インポート済み(コレクション由来)、🤖 プログラム駆動セッションのマーク。SDK が起動したセッションには、それを起動したプラグイン名を示す 🧩 plugin チップも表示されます(そのプラグインがローカルにインストールされている場合)。

リストのヘッダーには件数と Export アクションが表示されます。Export all、または検索 / フィルタがアクティブな場合は Export results(フィルタ済みのエクスポートはサーバー側でフィルタを再実行します)。ペイン間の仕切りはドラッグ可能でサイドバーをリサイズでき、その幅はリロードをまたいで記憶されます。

右ペイン — タイムライン

選択したセッションが、タイムラインとしてレンダリングされます:

セッションのタイムライン: 入力 / 結果付きのツール呼び出し、ターンごとのトークン / コストバッジ、ネストされたサブエージェント。

  • アシスタント / ユーザーのテキストは Markdown としてレンダリングされます。
  • サイドチェーンの「user」メッセージには agent というラベルが付きます — サブエージェントスレッド内では、そのテキストは人間ではなく親エージェントの指示です。
  • ツール呼び出しには展開可能(▸/▾)なヘッダーがあり、入力と結果を表示できます。
  • 重いブロック(長いテキスト、思考、生の unknown レコード)はデフォルトで折りたたまれ、「Show all」のアフォーダンスが付きます。
  • 各ターンには右上に固定されたトークン / コストバッジが表示されます(トークンとコストを参照)。セッションヘッダーには合計が表示されます。

フック

フックの発火はタイムライン上でノイズではなく一級のイベントです:

タイムライン上のフックイベント: それぞれイベント、トリガーとなったツール、注入されたコンテキスト、所有するプラグインでラベル付けされる。

  • 各フックイベントは、そのイベント(PostToolUse、Stop、SessionStart、…)を示し、それをトリガーしたツール(🔧)を解決します。
  • 🧩 plugin チップは、ローカルにインストールされたプラグインと照合し、そのフックが属するプラグイン名を示します。
  • hook_additional_context フックは、単なるマーカーではなく注入したテキスト+context · …)を表示します。
  • Stop のサマリーには、実行されたフックスクリプトと合計所要時間が一覧表示されます。

セッション内検索のヘッダーには、フック、ツール呼び出し、思考、システムメッセージを折りたたんだり表示したりするトグルがあり、イベントタイプごとの件数も表示されます。

セッション内検索

タイムラインヘッダーの検索ボックスは、現在のセッションをマッチするイベントに絞り込み、用語をハイライトし、マッチ数を表示し、マッチしたツールの詳細を自動展開します。スクロールに追従し、グローバル(セッション横断)検索とは別物です。