AgentsView レビュー: ローカル完結のAIエージェントセッション検索・コスト追跡ツール
ローカルファーストのセッション検索、分析、洞察、およびコーディング エージェントのトークン使用統計。Claude Code、Codex、およびその他 20 を超えるエージェントをサポートします。
ひと目でわかる
- これは何?
- AgentsViewはClaude CodeやCodexなど20以上のコーディングエージェントのセッションをローカルSQLiteに集約し、検索・分析・トークン使用量の追跡を単一バイナリで提供する。アカウント不要で、データはすべて手元に残る。
- 誰に向いている?
- AgentsViewは、複数のAIコーディングエージェントを日常的に使い、セッション履歴の検索やトークンコストの把握をローカルで完結させたい個人開発者や小規模チームに向いている。一方、エージェントのセッションデータを一切外部に出したくないセキュリティ要件がある場合や、Dockerコンテナ内で複数のエージェントを動かす構成を取っていない場合は、マウント設定の複雑さが障害になる。
- 商用利用できる?
- できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
- 今もメンテナンスされている?
- されています。直近 1 日以内に新しいコミットがあります。
- 何の言語で書かれている?
- 主に Go です(GitHub の言語統計による)。
回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。
オープンソース詳細解説
ローカルセッション分析の空白を埋める
AIコーディングエージェントは日々大量のセッションログを生成する。Claude Codeは`~/.claude/projects`に、CodexやForgeはそれぞれ独自のディレクトリに保存する。これらのログはJSONやSQLite形式で散在し、検索や集計が難しい。AgentsViewはこの問題を解決するために作られた。Go製の単一バイナリで、アカウント登録も不要、データはすべてローカルのSQLiteに保存される。対象はClaude Code、Codex、Forge、OpenCodeなど20以上のエージェントで、セッションの検索、分析、トークン使用統計を提供する。開発者や小規模チームが、エージェントごとのコストを把握し、過去のセッションから学ぶためのツールだ。
セッションディスカバリとSQLite同期の仕組み
AgentsViewの初回起動時、サポートされているエージェントのセッションディレクトリを自動的に発見し、ローカルのSQLiteデータベースに同期する。同期は増分で行われ、変更されたセッションのみをダウンロードする。この仕組みはS3互換のオブジェクトストレージにも対応しており、`claude_project_dirs`や`codex_sessions_dirs`に`s3://`ルートを追加することで、他のマシンからアップロードされたセッションを中央のAgentsViewインスタンスで読むことができる。S3の変更検出はサイズ、更新時刻、ETagやチェックサムなどのオブジェクトフィンガープリントを使用する。この設計は、複数マシンでエージェントを使うが、セッションを一元管理したい場合に有効だ。ただし、コンテナ化されたAgentsViewは明示的にマウントしたディレクトリしか発見できないため、Docker利用時はマウント設定を間違えるとエージェントがUIに表示されない。
インストールから起動までの実践コマンド
macOSとLinuxでは`curl -fsSL https://agentsview.io/install.sh | bash`でインストールし、WindowsではPowerShellから`irm https://agentsview.io/install.ps1 | iex`を実行する。Homebrewユーザーは`brew install --cask agentsview`でデスクトップアプリを入れられる。起動は`agentsview serve`でフォアグラウンド、`agentsview daemon start`でバックグラウンドの書き込み可能なデーモンを開始する。デーモンの状態確認は`agentsview daemon status`、停止は`agentsview daemon stop`だ。初回起動時に`http://127.0.0.1:8080`でWeb UIが開く。セッション一覧は`agentsview session list`、日次コストは`agentsview usage daily`で確認できる。デーモンはアイドル状態が続くと自動終了するが、`sync`や`usage`などのコマンドは必要に応じて自動起動する。
リモートアクセスとセキュリティの落とし穴
AgentsViewはデフォルトでループバックにバインドし、DNSリバインディング攻撃を防ぐために`Host`ヘッダーを検証する。SSHポートフォワーディングやリモート開発環境(exe.dev、Codespaces、Coder、WSL2)経由でアクセスすると、ブラウザが送信する`Host`がサーバーの認識と一致せず、`/api/v1/settings`などのAPIリクエストが`403 Forbidden`で拒否される。この問題を解決するには、`--public-url`でブラウザで開く正確なオリジンを指定してサーバーを再起動する。例えば`ssh -L 18080:127.0.0.1:8080 host`を使うなら、`agentsview serve --public-url http://127.0.0.1:18080`となる。追加のオリジンを信頼したい場合は`--public-origin`を繰り返し指定できる。ループバック外に公開する場合は`--require-auth`を有効にすべきだ。この設定を怠ると、リモート環境でUIがまともに使えない。
PostgreSQLとDuckDBへの拡張
SQLiteだけでなく、PostgreSQLバックエンドもサポートしている。`AGENTSVIEW_PG_URL`環境変数に接続文字列を設定し、`PG_SERVE=1`を指定すると`agentsview pg serve`が起動する。これは複数ユーザーで共有する場合や、既存のPostgreSQLインフラを活用したい場合に有用だ。また、DuckDBミラーを作成することもでき、`duckdb push --full`でSQLiteアーカイブから`/data/sessions.duckdb`を生成し、`duckdb serve`で読み取り専用のサーバーとして提供できる。さらに、Quackプロトコルを使ってDuckDBミラーを公開し、リモートからWeb UIを配信する構成も可能だ。ただし、Quackを非ループバックで公開するには`--allow-insecure`が必要で、平文HTTPでの公開は信頼できるトンネルやリバースプロキシの背後に限定すべきだとREADMEは警告している。
Docker構成の注意点
Dockerイメージはデフォルトで`agentsview serve`を実行する。`docker-compose.prod.yaml`が本番用の例として提供されており、`docker compose -f docker-compose.prod.yaml up -d`で起動できる。composeファイルはデータディレクトリを名前付きボリュームに永続化し、Claude、Codex、Forge、OpenCodeのセッションルートを読み取り専用でマウントする。コンテナはrootユーザーで実行されるため、ホストのバインドマウントを使うとroot所有のファイルがホームディレクトリに作られる可能性がある。READMEは名前付きボリュームを推奨し、バインドマウントする場合は事前にディレクトリを作成して所有権を設定するよう助言している。重要なのは、コンテナ内のAgentsViewは明示的にマウントしたディレクトリしか発見できない点だ。マウントと環境変数の設定を忘れると、そのエージェントはUIに表示されない。
ccusageとの比較とトークン追跡の位置づけ
READMEは`agentsview usage`を「ccusageの高速なローカル代替」と位置づけている。ccusageがClaude Codeの使用量に特化しているのに対し、AgentsViewは20以上のエージェントを横断的に扱える点が異なる。ただし、ccusageは単一コマンドで素早く結果を出力するのに対し、AgentsViewはデーモンとSQLite同期を前提としており、初回の同期には時間がかかる。`usage daily`はデイリーコストの要約を出力するが、詳細なトークン使用量の分析は`token-use`コマンドで行う。トークン追跡の正確性はエージェントのログ形式に依存するため、すべてのエージェントで完全な内訳が得られるわけではない。この点は、正確なコスト管理を求めるユーザーにとって確認すべき項目だ。
編集部の結論
AgentsViewは、複数のAIコーディングエージェントを日常的に使い、セッション履歴の検索やトークンコストの把握をローカルで完結させたい個人開発者や小規模チームに向いている。一方、エージェントのセッションデータを一切外部に出したくないセキュリティ要件がある場合や、Dockerコンテナ内で複数のエージェントを動かす構成を取っていない場合は、マウント設定の複雑さが障害になる。導入前に、自分が使うエージェントのセッション保存先がサポートされているか、S3同期が必要かどうか、そしてPostgreSQLバックエンドが必要かを確認してほしい。特に、リモート環境で利用する場合は`--public-url`の設定を最初に行わないと403エラーでUIが使えない点に注意が必要だ。
コミュニティノート