Установка
Загрузите wheel с GitHub Releases, используя вашAGENTEYE_TOKEN. Если у вас еще нет токена, см. GitHub Token Setup для описания шагов настройки и необходимых разрешений.
Использование gh CLI + pip:
gh CLI + uv:
gh CLI):
Быстрый старт
configure()
event.*. Безопасно опустить; параметры по умолчанию работают сразу. Все аргументы только именованные; передавайте их по имени, как показано выше.
Когда base_dir равен None (по умолчанию), SDK читает $AGENTEYE_HOME, если установлена,
в противном случае переходит к ~/.agenteye. Это совпадает с разрешением коллектора,
поэтому одна переменная окружения AGENTEYE_HOME настраивает общий пул событий для обоих
SDK и коллектора, что необходимо для развертываний sidecar / single-pod, где
оба процесса должны согласиться с путем пула.
Среда
Пометьте каждое событие средой развертывания (production, staging, qa, canary и т.д.). Установите один раз; SDK автоматически прикрепляет его к каждому событию.
Вариант 1: через configure():
configure(environment=...) имеет приоритет над переменной окружения. Если ничего не установлено, по умолчанию равен "dev".
Значение среды появляется в качестве фильтра первого уровня в панели управления и хранится в виде индексированного столбца на сервере для быстрых запросов.
Ограничение: значения среды не должны содержать литеральную запятую ,. Фильтры панели управления используют разделенную запятыми мультивыборку по каналу (?environment=prod,staging), поэтому среда с названием prod,blue будет разделена на два значения. События с содержащимися запятыми окружениями отклоняются при приеме.
Справка по событиям
Все методы события требуют эти два поля:| Поле | Тип | Описание |
|---|---|---|
session_id | str | Идентифицирует запуск агента верхнего уровня |
agent_id | str | Идентифицирует, какой агент в сеансе создал событие |
**kwargs для пользовательских метаданных (см. Пользовательские поля).
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()
Создается непосредственно перед отправкой подсказки в LLM.
messages принимают либо простую строку content, либо стиль Anthropic с списком блоков content. Параметры выборки (temperature, max_tokens и т.д.) могут быть переданы в виде дополнительных kwargs.
event.model_response()
Создается, когда LLM возвращает ответ.
content принимает либо простую строку (универсальные провайдеры), либо список блоков контента в стиле Anthropic. Вызовы инструментов находятся внутри content в виде блоков {"type": "tool_use", ...} без отдельного поля tool_calls.
event.hook_triggered()
Создается, когда срабатывает хук. Сопряжен с hook_completed; SDK автоматически вычисляет duration_ms.
event.hook_completed()
Создается, когда хук завершается. Коррелирует с hook_triggered через hook_id.
event.error()
Создается, когда происходит необработанная ошибка.
События “человек в цикле”
События “человек в цикле” дают вам надзор над моментами, когда человек вмешивается в выполнение агента (ожидание утверждения, предоставление ввода, пауза или остановка агента). Они позволяют вам измерить, сколько времени требуется людям на ответ (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, работа агента завершается, а не приостанавливается.
Пользовательские поля
Любые дополнительные аргументы ключевого слова добавляются к событию после стандартных полей:timestamp, type и environment зарезервированы и вызывают ValueError (Reserved field names cannot be used as custom fields: [...]) если переданы как пользовательские поля. session_id и agent_id являются обязательными параметрами для каждого метода события и не могут быть поданы во второй раз; Python вызывает TypeError, если вы это сделаете. Установите среду с помощью configure(environment=...) (или переменной AGENTEYE_ENVIRONMENT) вместо этого.
Как события записываются
События буферизуются в процессе и записываются на диск каждыеflush_interval секунд (по умолчанию 500 мс). Каждый флеш записывает один файл JSONL:

