Installation
Laden Sie das Wheel von den GitHub Releases mit IhremAGENTEYE_TOKEN herunter. Falls Sie noch kein Token besitzen, lesen Sie GitHub Token Setup für die Einrichtungsschritte und erforderlichen Berechtigungen.
Mit gh CLI + pip:
gh CLI + uv:
gh CLI):
Schnellstart
configure()
event.*-Aufruf aufrufen. Kann weggelassen werden; die Standardwerte funktionieren sofort. Alle Argumente sind nur als Schlüsselwortargumente zulässig; übergeben Sie sie wie oben gezeigt mit Namen.
Wenn base_dir None ist (der Standard), liest das SDK $AGENTEYE_HOME aus, falls gesetzt, andernfalls wird auf ~/.agenteye zurückgegriffen. Dies entspricht der eigenen Auflösung des Collectors, sodass eine einzelne AGENTEYE_HOME-Umgebungsvariable den gemeinsamen Event-Spool für SDK und Collector konfiguriert – erforderlich für Sidecar- bzw. Single-Pod-Deployments, bei denen beide Prozesse denselben Spool-Pfad verwenden müssen.
Umgebung
Versehen Sie jedes Ereignis mit einer Deployment-Umgebung (production, staging, qa, canary usw.). Einmalig setzen; das SDK hängt sie automatisch an jedes Ereignis an.
Option 1: über configure():
configure(environment=...) hat Vorrang vor der Umgebungsvariable. Ist keines von beiden gesetzt, wird standardmäßig "dev" verwendet.
Der Umgebungswert erscheint als erstklassiger Filter im Dashboard und wird als indizierte Spalte auf dem Server für schnelle Abfragen gespeichert.
Einschränkung: Umgebungswerte dürfen kein literales , Komma enthalten. Die Dashboard-Filter verwenden kommagetrennte Multi-Selects auf der Leitung (?environment=prod,staging), sodass eine Umgebung namens prod,blue in zwei Werte aufgeteilt würde. Ereignisse mit kommaenthaltenden Umgebungen werden beim Einlesen abgelehnt.
Ereignis-Referenz
Alle Ereignismethoden erfordern diese zwei Felder:| Feld | Typ | Beschreibung |
|---|---|---|
session_id | str | Identifiziert den übergeordneten Agentenlauf |
agent_id | str | Identifiziert, welcher Agent innerhalb der Sitzung das Ereignis ausgelöst hat |
**kwargs für benutzerdefinierte Metadaten (siehe Benutzerdefinierte Felder).
event.agent_start()
Wird ausgelöst, wenn ein Agent mit der Arbeit beginnt.
event.agent_end()
Wird ausgelöst, wenn ein Agent seine Arbeit abschließt.
event.tool_use()
Wird ausgelöst, wenn ein Agent ein Tool aufruft. Mit tool_result kombinieren; das SDK berechnet duration_ms automatisch.
event.tool_result()
Wird ausgelöst, wenn ein Tool zurückgibt. Korreliert mit tool_use über tool_call_id.
event.model_request()
Wird unmittelbar vor dem Senden eines Prompts an ein LLM ausgelöst.
messages-Einträge akzeptieren entweder einen einfachen String als content oder Anthropic-Stil-Listen von Blöcken als content. Sampling-Parameter (temperature, max_tokens usw.) können als zusätzliche kwargs übergeben werden.
event.model_response()
Wird ausgelöst, wenn das LLM eine Antwort zurückgibt.
content akzeptiert entweder einen einfachen String (generische Anbieter) oder eine Liste von Anthropic-Stil-Content-Blöcken. Tool-Aufrufe befinden sich in content als {"type": "tool_use", ...}-Blöcke, ohne separates tool_calls-Feld.
event.hook_triggered()
Wird ausgelöst, wenn ein Hook feuert. Mit hook_completed kombinieren; das SDK berechnet duration_ms automatisch.
event.hook_completed()
Wird ausgelöst, wenn ein Hook abgeschlossen ist. Korreliert mit hook_triggered über hook_id.
event.error()
Wird ausgelöst, wenn ein unbehandelter Fehler auftritt.
Human-in-the-Loop-Ereignisse
Human-in-the-Loop-Ereignisse geben Ihnen Kontrolle über die Momente, in denen eine Person in die Ausführung des Agenten eingreift (Warten auf Genehmigung, Eingabe liefern, Pausieren oder Stoppen des Agenten). Sie ermöglichen es Ihnen, zu messen, wie lange Menschen für eine Antwort benötigen (das SDK berechnetduration_ms bei den gepaarten Ereignissen automatisch), zu auditieren, wer einen Agenten pausiert oder unterbrochen hat, sowie Genehmigungs- und Überwachungsworkflows aufzubauen, die im Dashboard sichtbar sind.
event.human_wait()
Wird ausgelöst, wenn der Agent die Ausführung anhält, um auf eine menschliche Eingabe zu warten. Mit human_input kombinieren; das SDK berechnet duration_ms automatisch (wie lange der Mensch für eine Antwort benötigt hat).
event.human_input()
Wird ausgelöst, wenn ein Mensch eine Eingabe liefert und der Agent fortsetzt. Korreliert mit human_wait über input_id. duration_ms wird automatisch berechnet und darf nicht vom Aufrufer übergeben werden.
event.human_pause()
Wird ausgelöst, wenn ein Mensch den Agenten aktiv pausiert (z. B. über eine Dashboard-Steuerung). Der Agent wird angehalten, aber nicht beendet.
event.human_interrupt()
Wird ausgelöst, wenn ein Mensch den Agenten während der Ausführung aktiv stoppt. Im Gegensatz zu human_pause wird die Arbeit des Agenten beendet statt nur pausiert.
Benutzerdefinierte Felder
Beliebige zusätzliche Schlüsselwortargumente werden nach den Standardfeldern an das Ereignis angehängt:timestamp, type und environment sind reserviert und lösen ValueError aus (Reserved field names cannot be used as custom fields: [...]), wenn sie als benutzerdefinierte Felder übergeben werden. session_id und agent_id sind Pflichtparameter für jede Ereignismethode und können nicht ein zweites Mal übergeben werden; Python löst TypeError aus, wenn Sie es versuchen. Legen Sie die Umgebung stattdessen mit configure(environment=...) (oder der AGENTEYE_ENVIRONMENT-Variable) fest.
Wie Ereignisse geschrieben werden
Ereignisse werden prozessintern gepuffert und alleflush_interval Sekunden auf die Festplatte geschrieben (Standard 500 ms). Jeder Flush schreibt eine JSONL-Datei:

