jq में पाइप करता है। ये रेसिपी AgentEye के अवलोकन योग्य डेटा को कुछ ऐसे में बदलते हैं जिसे टर्मिनल उपयोगकर्ता या AI कोडिंग एजेंट (Claude Code, Cursor) डैशबोर्ड के माध्यम से क्लिक किए बिना क्वेरी और स्वचालित कर सकते हैं।
नीचे दिए गए पैटर्न AgentEye CLI (agenteye) के लिए कॉपी-पेस्ट के लिए तैयार हैं। इंस्टॉलेशन, प्रमाणीकरण और पूर्ण विकल्प सूची के लिए CLI देखें; agenteye -h या agenteye <command> -h चलाएं बिल्ट-इन सहायता के लिए।
स्वर्णिम नियम
- ग्लोबल विकल्प कमांड से पहले आते हैं।
agenteye --json sessionsसही है;agenteye sessions --jsonनहीं है। ग्लोबल विकल्प हैं--json,--base-url,--org,--token,--insecure/--secure,--timeout,--quiet,--no-color। - जब भी आप आउटपुट पार्स करते हैं तो
--jsonपास करें। डेटा stdout पर JSON के रूप में जाता है; मानव स्थिति और त्रुटियां stderr पर जाती हैं, इसलिए stdoutjqमें पाइपिंग के लिए स्वच्छ रहता है। - stderr टेक्स्ट पर नहीं, exit कोड पर ब्रांच करें:
0ठीक है ·2ख़राब तर्क ·3डैशबोर्ड तक नहीं पहुंच सकते ·4लॉगिन नहीं या एक्सपायर्ड ·5अनुमति नहीं। -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 लौटाता है। sessions evals के साथ --env, --status, --agent-id, --session-id और समय-श्रेणी फ़िल्टर साझा करता है, लेकिन --score नहीं है।
एक सेशन को अंत तक पढ़ें
कोई एकलsession show कमांड नहीं है — इवेंट ट्रेल को सेशन के मूल्यांकन के साथ संयोजित करें:
सब कुछ प्राप्त करें (पेजिनेशन)
परिणाम सबसे नए-प्रथम और कर्सर-पेजिनेटेड हैं।—fields के साथ आउटपुट को पतला करें
एजेंट को पढ़ना पड़ने वाले को कम करने के लिए कुंजियों को (टेबल और--json दोनों में) प्रतिबंधित करें।
2) वैध सूची के साथ, फ़ील्ड नाम खोजने का एक सस्ता तरीका।
वैध फ़िल्टर मान खोजें
अपना org चुनें (बहु-किरायेदार)
यदि आप एक से अधिक org के सदस्य हैं, तो लॉगिन पर सक्रिय टेनेंट चुनें (यह सहेजा जाता है):--org के बिना एक बहु-org लॉगिन गैर-शून्य से बाहर निकलता है और चुनने के लिए org को प्रिंट करता है।
SDK/कलेक्टर के लिए API की प्रदान करें
सहेजी गई या तदर्थ क्वेरी चलाएं
गैर-इंटरैक्टिव रूप से एक घटना का विश्लेषण करें
म्यूटेशन--jsonके तहत या जब stdin TTY नहीं है तो अपने पुष्टि प्रॉम्प्ट को स्वचालित रूप से छोड़ देते हैं, इसलिए एजेंट कभी हैंग नहीं होते; अन्यत्र स्पष्ट रूप से छोड़ने के लिए--yes/-yपास करें।
स्क्रिप्ट में Exit-code हैंडलिंग
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"?: "..."} |
- प्रत्येक event आइटम (
events):id, session_id, agent_id, event_type, ts, payload, environment। - प्रत्येक evaluation आइटम (
evals):id, session_id, agent_id, environment, status, scores, reasoning, summary, error, attempt_count, duration_ms, completed_at, created_at। - प्रत्येक 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 बिल्कुल अपने आइटम के फ़ील्ड नामों को स्वीकार करते हैं — सेट sessions और evals के बीच अलग है, इसलिए एक के लिए वैध नाम दूसरे द्वारा अस्वीकार किया जा सकता है।
