メインコンテンツへスキップ
セッション、イベント、評価データの取得(および再評価のトリガー)をスクリプトやコーディングエージェントから直接行えます。stdout にはクリーンな JSON が出力されるため、jq にそのままパイプできます。これらのレシピは、ダッシュボードを操作せずに、ターミナルユーザーやAIコーディングエージェント(Claude Code、Cursor)がAgentEyeの可観測性データをクエリ・自動化できるようにするものです。 以下のパターンはAgentEye CLI(agenteye)にコピー&ペーストしてすぐに使えます。インストール、認証、オプションの全一覧については CLI を参照してください。組み込みのヘルプは agenteye -h または agenteye <command> -h で確認できます。

基本ルール

  1. グローバルオプションはコマンドのに指定します。 agenteye --json sessions が正しく、agenteye sessions --json は誤りです。グローバルオプションは --json--base-url--org--token--insecure/--secure--timeout--quiet--no-color です。
  2. 出力をパースする場合は必ず --json を渡してください。 データは JSON として stdout に出力され、人間向けのステータスやエラーは stderr に出力されるため、stdout はクリーンな状態で jq にパイプできます。
  3. 終了コードで分岐してください(stderrのテキストではなく): 0 成功 · 2 引数が不正 · 3 ダッシュボードに到達できない · 4 未ログインまたはセッション期限切れ · 5 権限不足。
  4. -h で機能を確認できます。 各コマンドにはフィルター、値のフォーマット、JSONの形状がドキュメント化されています。

初回セットアップ

作業前に認証を確認する

whoami はセッションが存在しないか期限切れでもエラーになりません。代わりに logged_in:false を返すため、エージェントは安全に認証状態を確認できます(ベースURLが未設定またはダッシュボードに到達できない場合は、ゼロ以外の終了コードになる可能性があります)。

失敗または低スコアのセッションを見つける

スコアのフィルタリングは sessions ではなく evals で行います。--score KEY:MIN..MAX は繰り返し指定可能でAND結合されます。どちらの境界値も省略可能です(..0.5 は ≤ 0.5、0.9.. は ≥ 0.9 を意味します)。リクエストごとに最大20件のスコアフィルターを指定でき、それ以上はHTTP 400が返ります。sessionsevals--env--status--agent-id--session-id、時間範囲フィルターを共有しますが、--score はありません。

セッションをエンドツーエンドで読む

単一の session show コマンドはありません。イベントの履歴とセッションの評価を組み合わせて使用してください。

全件取得(ページネーション)

結果は新しい順で返され、カーソルによるページネーションが行われます。

—fields で出力をスリム化する

テーブルおよび --json の両方でキーを制限し、エージェントが読む量を減らします。
不明なフィールド名は(終了コード 2 で)有効なフィールドの一覧とともに拒否されるため、フィールド名を調べる簡単な方法としても使えます。

有効なフィルター値を調べる

組織を選択する(マルチテナント)

複数の組織に所属している場合は、ログイン時にアクティブなテナントを選択します(設定は保存されます)。
--org なしでマルチ組織アカウントにログインすると、ゼロ以外の終了コードで選択可能な組織の一覧が表示されます。

SDK/コレクター用のAPIキーを発行する

保存済みまたはアドホッククエリを実行する

インシデントを非対話的にトリアージする

ミューテーションは --json 使用時またはstdinがTTYでない場合、確認プロンプトを自動でスキップするため、エージェントがハングすることはありません。それ以外の場所で明示的にスキップするには --yes/-y を渡してください。

スクリプトでの終了コード処理

JSON出力の形式

コマンドstdout JSON(--json 使用時)
whoami{"logged_in": true, "id", "email", "is_instance_admin", "active_org", "permissions": [...], "memberships": [...]} または {"logged_in": false}
orgs list{"active_org", "orgs": [{"org_slug","org_name","permission_set","permissions"}]}
events{"events": [...], "next_cursor": <cursor or null>}
evals{"evaluations": [...], "next_cursor": <cursor or null>}
sessions{"sessions": [...], "next_cursor": <cursor or null>}
errors{"errors": [...], "next_cursor": <cursor or null>}
list <kind>{"kind", "values": [...]}
keys list / keys create{"keys": [...]} / {id, name, permissions, created_at, key}key は一度だけ表示)
query run{columns: [{name,type}], rows: [[...]], truncated, elapsed_ms}
users list / settings list{"users": [...]} / {"settings": [...]}
alerts list / incidents list{"alerts": [...]} / {"incidents": [...]}
create/update/delete(全般)リソースオブジェクト、削除の場合は {"deleted": true, "id"}
失敗時(全般、--json 使用)stdout に {"error": "...", "exit_code": <n>, "status"?: <http>, "hint"?: "..."}
  • イベントアイテム(events): id, session_id, agent_id, event_type, ts, payload, environment
  • 評価アイテム(evals): id, session_id, agent_id, environment, status, scores, reasoning, summary, error, attempt_count, duration_ms, completed_at, created_at
  • セッションアイテム(sessions): session_id, agent_id, environment, status, scores, event_count, started_at, last_event_at, first_event_id, last_event_id, latest_evaluation
各コマンドの --fields は、そのコマンド固有のアイテムのフィールド名のみを受け付けます。sessionsevals でフィールドセットが異なるため、一方で有効な名前が他方では拒否される場合があります。