התקנה
הורד את wheel מ-GitHub Releases באמצעותAGENTEYE_TOKEN שלך. אם עדיין אין לך token, ראה GitHub Token Setup לשלבי הגדרה ולהרשאות נדרשות.
שימוש ב-gh CLI + pip:
gh CLI + uv:
gh CLI):
התחלה מהירה
configure()
event.*. בטוח להשמיט; ברירות המחדל עובדות מחוץ לתיבה. כל הארגומנטים הם keyword-only; העבר אותם לפי שם כפי שמוצג למעלה.
כאשר base_dir הוא None (ברירת המחדל), ה-SDK קורא $AGENTEYE_HOME אם הוגדר,
אחרת חוזר ל-~/.agenteye. זה תואם את ההחלטה שלעצמו של האספן,
כך שמשתנה AGENTEYE_HOME אחד מסביבה מגדיר את ה-spool המשותף של האירועים עבור
ה-SDK והאספן, נדרש עבור פריסות sidecar / single-pod כאשר שתי התהליכים חייבים
להסכים על נתיב ה-spool.
Environment
תייג כל אירוע עם environment פריסה (production, staging, qa, canary, וכו’). הגדר פעם אחת; ה-SDK מצרף אותה לכל אירוע באופן אוטומטי.
אפשרות 1: דרך configure():
configure(environment=...) מנצח על משתנה הסביבה. אם שום דבר לא הוגדר, ברירת המחדל היא "dev".
ערך ה-environment מופיע כמסנן מדרגה ראשונה בלוח המחוונים ומאוחסן כעמודה מודדת על השרת לשאילתות מהירות.
הגבלה: ערכי environment לא חייבים להכיל פסיק , ממשי. מסנני לוח המחוונים משתמשים בבחירה מרובה מופרדת בפסיקים על החוט (?environment=prod,staging), כך שenv בשם prod,blue היה מחולק לשני ערכים. אירועים עם environments המכילים פסיקים מדחים בזמן הספיגה.
הפניה לאירועים
כל שיטות אירוע דורשות שני שדות אלה:| שדה | סוג | תיאור |
|---|---|---|
session_id | str | מזהה את הרצת הסוכן ברמה העליונה |
agent_id | str | מזהה איזה סוכן בתוך ה-session פרסם את האירוע |
**kwargs שרירותיות עבור מטא-נתונים מותאמים אישית (ראה Custom Fields).
event.agent_start()
פולט כאשר סוכן מתחיל לעבוד.
event.agent_end()
פולט כאשר סוכן סיים עבודה.
event.tool_use()
פולט כאשר סוכן מעוררת כלי. זוגי עם tool_result; ה-SDK מחשב אוטומטית duration_ms.
event.tool_result()
פולט כאשר כלי חוזר. מתואם עם tool_use דרך tool_call_id.
event.model_request()
פולט ממש לפני שליחת prompt ל-LLM.
messages מקבלים או content מחרוזת פשוטה או Anthropic-style list-of-blocks content. פרמטרי דגימה (temperature, max_tokens, וכו’) יכולים להיות מועברים כ-kwargs נוסף.
event.model_response()
פולט כאשר LLM חוזר עם תגובה.
content מקבל או מחרוזת פשוטה (ספקים גנריים) או רשימה של Anthropic-style content blocks. קריאות כלי חיות בתוך content כ-{"type": "tool_use", ...} blocks, ללא שדה tool_calls נפרד.
event.hook_triggered()
פולט כאשר hook שורה. זוגי עם hook_completed; ה-SDK מחשב אוטומטית duration_ms.
event.hook_completed()
פולט כאשר hook מסתיים. מתואם עם hook_triggered דרך hook_id.
event.error()
פולט כאשר שגיאה לא מטופלת מתרחשת.
אירועי Human-in-the-Loop
אירועי human-in-the-loop נותנים לך פיקוח על הרגעים שבהם אדם נכנס להוצאה לפועל של הסוכן (המתנה לאישור, הנמקת קלט, השהייה, או עצירת הסוכן). הם מאפשרים לך למדוד כמה זמן אדם לוקח כדי להגיב (ה-SDK מחשב אוטומטיתduration_ms על אירועים מזווגים), ביקורת מי השהה או הפריע לסוכן, ובנייה של זרימות עבודה של אישור ופיקוח שמופיעות בלוח המחוונים.
event.human_wait()
פולט כאשר הסוכן מעצור את ההוצאה לפועל כדי להמתין לאדם לספק קלט. זוגי עם human_input; ה-SDK מחשב אוטומטית duration_ms (כמה זמן לקח לאדם להגיב).
event.human_input()
פולט כאשר אדם מספק קלט והסוכן חוזר. מתואם עם human_wait דרך input_id. duration_ms מחושב אוטומטית ולא חייב להיות מועבר על ידי הקורא.
event.human_pause()
פולט כאשר אדם בפעיל מעצור את הסוכן (למשל דרך בקרת לוח מחוונים). הסוכן מושעה אך לא מסתיים.
event.human_interrupt()
פולט כאשר אדם בפעיל עוצר את הסוכן באמצע ביצוע. בניגוד ל-human_pause, עבודת הסוכן מסתיימת ולא משעה.
שדות מותאמים אישית
כל kwargs נוסף מצורף לאירוע לאחר השדות הסטנדרטיים:timestamp, type, ו-environment שמורים והעלו ValueError (Reserved field names cannot be used as custom fields: [...]) אם מועברים כשדות מותאמים אישית. session_id ו-agent_id הם פרמטרים נדרשים בכל שיטת אירוע ולא ניתן לספק אותם בפעם שנייה; Python מעלה TypeError אם אתה עושה זאת. הגדר את ה-environment עם configure(environment=...) (או משתנה AGENTEYE_ENVIRONMENT) במקום זאת.
כיצד אירועים נכתבים
אירועים מאוגרים בתהליך ומשטפים לדיסק כלflush_interval שניות (ברירת מחדל 500 ms). כל flush כותב קובץ JSONL אחד:

