jq. Những recipes này biến dữ liệu observability của AgentEye thành điều mà một terminal user hoặc AI coding agent (Claude Code, Cursor) có thể truy vấn và tự động hóa, mà không cần click vào dashboard.
Các patterns dưới đây đã sẵn sàng copy-paste cho AgentEye CLI (agenteye). Để cài đặt, xác thực và danh sách option đầy đủ xem CLI; chạy agenteye -h hoặc agenteye <command> -h để xem trợ giúp tích hợp.
Golden rules
- Global options đứng trước lệnh.
agenteye --json sessionslà đúng;agenteye sessions --jsonlà sai. Các globals là--json,--base-url,--org,--token,--insecure/--secure,--timeout,--quiet,--no-color. - Luôn truyền
--jsonkhi bạn phân tích output. Dữ liệu đi tới stdout như JSON; trạng thái cho con người và lỗi đi tới stderr, vì vậy stdout luôn sạch để pipe vàojq. - Branch dựa trên exit code, không phải text stderr:
0ok ·2tham số xấu ·3không thể kết nối tới dashboard ·4chưa đăng nhập hoặc hết hạn ·5thiếu quyền. - Khám phá bằng
-h. Mỗi lệnh tài liệu hóa các filters, định dạng giá trị và JSON shape của nó.
One-time setup
Confirm auth before doing work
whoami không bao giờ lỗi trên phiên missing hoặc hết hạn; nó báo cáo logged_in:false thay vào đó, vì vậy một agent có thể probe auth state một cách an toàn. (Nó vẫn có thể exit non-zero nếu không có base URL được đặt hoặc dashboard không thể tiếp cận.)
Find failing or low-scoring sessions
evals, không phải sessions. --score KEY:MIN..MAX có thể lặp lại và được kết hợp AND; cả hai ranh giới đều optional (..0.5 có nghĩa là ≤ 0.5, 0.9.. có nghĩa là ≥ 0.9). Bạn có thể truyền tới 20 score filters trên mỗi yêu cầu; nhiều hơn thế trả về HTTP 400. sessions chia sẻ các filter --env, --status, --agent-id, --session-id và time-range với evals, nhưng không có --score.
Read one session end-to-end
Không có lệnhsession show duy nhất — kết hợp event trail với evaluation của phiên:
Fetch everything (pagination)
Results là newest-first và cursor-paginated.Slim the output with —fields
Hạn chế các keys (cả trong table và--json) để giảm những gì một agent phải đọc.
2) với danh sách hợp lệ, một cách rẻ để khám phá tên fields.
Discover valid filter values
Pick your org (multi-tenant)
Nếu bạn thuộc về nhiều hơn một org, chọn active tenant khi đăng nhập (nó được lưu):--org exit non-zero và in các orgs để chọn.
Provision an API key for the SDK/collector
Run a saved or ad-hoc query
Triage an incident non-interactively
Mutations tự động bỏ qua confirmation prompt của họ dưới--jsonhoặc khi stdin không phải TTY, vì vậy agents không bao giờ hang; pass--yes/-yđể bỏ qua một cách rõ ràng ở nơi khác.
Exit-code handling in a script
JSON output shapes
| Command | stdout JSON (with --json) |
|---|---|
whoami | {"logged_in": true, "id", "email", "is_instance_admin", "active_org", "permissions": [...], "memberships": [...]} hoặc {"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 shown once) |
query run | {columns: [{name,type}], rows: [[...]], truncated, elapsed_ms} |
users list / settings list | {"users": [...]} / {"settings": [...]} |
alerts list / incidents list | {"alerts": [...]} / {"incidents": [...]} |
| create/update/delete (any) | the resource object, or {"deleted": true, "id"} for deletes |
failure (any, with --json) | {"error": "...", "exit_code": <n>, "status"?: <http>, "hint"?: "..."} on stdout |
- Mỗi item event (
events):id, session_id, agent_id, event_type, ts, payload, environment. - Mỗi item evaluation (
evals):id, session_id, agent_id, environment, status, scores, reasoning, summary, error, attempt_count, duration_ms, completed_at, created_at. - Mỗi item session (
sessions):session_id, agent_id, environment, status, scores, event_count, started_at, last_event_at, first_event_id, last_event_id, latest_evaluation.
--fields của mỗi lệnh chấp nhận chính xác tên fields của item của nó — tập hợp khác nhau giữa sessions và evals, vì vậy một tên hợp lệ cho một cái có thể bị từ chối bởi cái kia.
