メインコンテンツへスキップ
failproofai ダッシュボードは、AIエージェントセッションの監視とポリシー管理のためのローカルWebアプリケーションです。あなたが離れている間にエージェントが何をしたかを確認できます。

ダッシュボードの起動

failproofai
http://localhost:8020 で開きます。 ダッシュボードはファイルシステムから直接読み取ります。Claude Code のプロジェクトフォルダと failproofai の設定ファイルを参照しており、リモートサービスへの書き込みは行いません。

ページ

プロジェクト

マシン上で見つかったすべての Claude Code プロジェクトを一覧表示します。プロジェクトは ~/.claude/projects/(または CLAUDE_PROJECTS_PATH で設定されたパス)から検出されます。 各プロジェクトには以下が表示されます:
  • プロジェクト名(フォルダパスから生成)
  • セッション数
  • 最新のセッションアクティビティの日時
プロジェクトをクリックすると、そのセッション一覧が表示されます。

セッション

プロジェクト内のすべてのセッションを一覧表示します。各セッションには以下が表示されます:
  • セッションID
  • 開始・終了タイムスタンプ
  • ツール呼び出し数
  • フックアクティビティ数(発動したポリシーの数)
日付範囲フィルターとセッションID検索で絞り込みができます。セッションはページネーション表示されます。 セッションをクリックすると、セッションビューアーが開きます。

セッションビューアー

セッションビューアーは、自律型エージェントにおける核心的な問いに答えます。「エージェントは何をしたのか、そして正しく動作していたのか?」セッション内で起きたすべての出来事をタイムライン形式で表示します:
  • メッセージ - Claude のテキスト応答とユーザープロンプト
  • ツール呼び出し - Claude が呼び出したすべてのツールと、その入力・出力
  • ポリシーアクティビティ - 各ツール呼び出しに対して、どのポリシーが発動し、どの判断を返したか
上部のステータスバーには、セッション時間、ツール呼び出しの合計数、フック判断の概要(allow / deny / instruct の件数)が表示されます。 ダウンロードボタンを使って、セッションをZIPまたはJSONLファイルとしてエクスポートできます。

ポリシー

ポリシーの管理とアクティビティ確認のための2タブページです。
  • ワンクリックで個別のポリシーのオン・オフを切り替え(~/.failproofai/policies-config.json に書き込まれます)
  • ポリシーを展開してパラメーターを設定(policyParams に対応したポリシーの場合)
  • 指定したスコープのフックをインストールまたは削除
  • カスタムポリシーファイルのパスを設定

自動更新

ダッシュボードの上部ナビゲーションには自動更新のトグルがあります。有効にすると、現在のページが定期的に更新され、新しいセッションやポリシーアクティビティがリアルタイムで表示されます。長時間稼働する自律型エージェントセッションの監視に欠かせない機能です。

ページの無効化

ダッシュボードの一部のみ必要な場合は、FAILPROOFAI_DISABLE_PAGES にカンマ区切りのページ名を設定します:
FAILPROOFAI_DISABLE_PAGES=policies failproofai
有効な値:policiesprojects

テーマ

ダッシュボードはライトモードとダークモードに対応しています。ナビゲーションバーのボタンで切り替えられます。設定はブラウザのローカルストレージに保存されます。

プロジェクトパスの設定

デフォルトでは、ダッシュボードは標準の Claude Code プロジェクトディレクトリを読み取ります。カスタム構成の場合は上書きできます:
CLAUDE_PROJECTS_PATH=/custom/path/to/projects failproofai

localhost 以外のホストからのアクセス

devモードnpm run dev)でダッシュボードを起動し、localhost 以外のホスト名(カスタムドメイン、リモートIPアドレス、トンネリングURLなど)からアクセスすると、以下のような警告が表示されることがあります:
⚠ Blocked cross-origin request to Next.js dev resource /_next/webpack-hmr from "dashboard.example.com".
これは、Next.js がHMR(ホットモジュールリロード)WebSocketへのクロスオリジンアクセスをブロックしているためです。これはdev専用の機能です。対象のホストを許可するには、--allowed-origins フラグを使用します:
npm run dev -- --allowed-origins dashboard.example.com
複数のホストやIPアドレスを許可する場合は、カンマ区切りで指定します:
npm run dev -- --allowed-origins dashboard.example.com,192.168.1.5
代わりに FAILPROOFAI_ALLOWED_DEV_ORIGINS 環境変数を設定することもできます:
FAILPROOFAI_ALLOWED_DEV_ORIGINS=dashboard.example.com npm run dev
これはdevモードにのみ適用されます。failproofai(本番モード)を実行している場合、HMR WebSocketは存在しないため、クロスオリジンのdev用リソースの問題は発生しません。