الانتقال إلى المحتوى الرئيسي
اسحب بيانات الجلسة والحدث والتقييم (وشغّل إعادة التقييمات) مباشرة من سكريبت أو وكيل ترميز، مع JSON نظيف على stdout يتم توجيهه مباشرة إلى jq. تحول هذه الوصفات بيانات المراقبة في AgentEye إلى شيء يمكن لمستخدم الطرفية أو وكيل ترميز AI (Claude Code، Cursor) أن يستعلم عنه ويأتمتته، دون الحاجة للنقر عبر لوحة التحكم. الأنماط أدناه جاهزة للنسخ واللصق لـ 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 كلما قمت بتحليل الإخراج. تذهب البيانات إلى stdout كـ JSON؛ رسائل الحالة والأخطاء البشرية تذهب إلى stderr، لذا يبقى stdout نظيفًا للتوجيه إلى jq.
  3. تفرع بناءً على رمز الخروج، وليس على نص stderr: 0 حسنًا · 2 وسائط سيئة · 3 لا يمكن الوصول إلى لوحة التحكم · 4 لم تقم بتسجيل الدخول أو انتهت الجلسة · 5 إذن مفقود.
  4. اكتشف مع -h. كل أمر يوثّق مرشحاته وتنسيقات القيمة وشكل JSON.

إعداد لمرة واحدة

تأكد من المصادقة قبل القيام بالعمل

whoami لا يخطئ أبدًا على جلسة مفقودة أو منتهية الصلاحية؛ بدلاً من ذلك يبلّغ عن logged_in:false، لذا يمكن للوكيل أن يفحص حالة المصادقة بأمان. (لا يزال يمكنه الخروج برمز غير صفري إذا لم يتم تعيين عنوان URL أساسي أو كانت لوحة التحكم غير قابلة للوصول.)

ابحث عن الجلسات التي تفشل أو ذات الدرجات المنخفضة

يعيش تصفية الدرجات على evals، وليس sessions. --score KEY:MIN..MAX قابل للتكرار ويتم دمجه مع AND؛ كلا الحدين اختياري (..0.5 يعني ≤ 0.5، 0.9.. يعني ≥ 0.9). يمكنك تمرير ما يصل إلى 20 مرشح درجة لكل طلب؛ المزيد يعيد HTTP 400. sessions يشارك مرشحات --env, --status, --agent-id, --session-id ونطاق الوقت مع evals، لكنه لا يحتوي على --score.

اقرأ جلسة واحدة من البداية للنهاية

لا يوجد أمر واحد session show — ادمج مسار الحدث مع تقييم الجلسة:

احصل على كل شيء (الترقيم)

النتائج هي الأحدث أولاً والترقيم بواسطة المؤشر.

اختصر الإخراج مع —fields

قيّد المفاتيح (في الجدول و--json) لتقليل ما يجب على الوكيل قراءته.
أسماء الحقول غير المعروفة يتم رفضها (خروج 2) مع القائمة الصحيحة، وهي طريقة رخيصة لاكتشاف أسماء الحقول.

اكتشف قيم المرشح الصحيحة

اختر منظمتك (متعدد المستأجرين)

إذا كنت تنتمي إلى أكثر من منظمة واحدة، اختر المستأجر النشط عند تسجيل الدخول (سيتم حفظه):
تسجيل دخول متعدد المنظمات بدون --org يخرج برمز غير صفري ويطبع المنظمات للاختيار من بينها.

توفير مفتاح API لـ SDK/المجمِّع

شغّل استعلامًا محفوظًا أو مخصصًا

فرز حادثة طارئة بدون تفاعل

التغييرات تخطي تلقائيًا مطالبة التأكيد الخاصة بها تحت --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": [...]}
إنشاء/تحديث/حذف (أي)كائن المورد، أو {"deleted": true, "id"} للحذف
فشل (أي، مع --json){"error": "...", "exit_code": <n>, "status"?: <http>, "hint"?: "..."} على stdout
  • كل عنصر حدث (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 لكل أمر بالضبط أسماء حقول عنصره الخاص — تختلف المجموعة بين sessions وevals، لذا قد يتم رفض الاسم الصحيح لأحدهما من قبل الآخر.