Как проявляется
Напоминания срабатывают не в нужное время, например, с задержкой на часы или с неправильным смещением по UTC.
Из-за чего возникает
Агент видит только временную зону в системном промпте, а точное время приходит в человекочитаемом формате, непригодном для вычислений. Поэтому агент угадывает время, что приводит к ошибкам.
Как исправить
- Используйте скрипт, который вычисляет точное время сдвига в UTC и передает его агенту, чтобы избежать ошибок с часовыми поясами:
#!/bin/bash
# Usage: create-delayed-cron.sh --delay "2h" --name "My reminder" --text "Message"
NOW_EPOCH=$(date +%s)
TARGET_EPOCH=$((NOW_EPOCH + SECONDS_DELAY))
TARGET_UTC=$(date -u -r "$TARGET_EPOCH" +%Y-%m-%dT%H:%M:%S.000Z)
-
Рассмотрите использование PR #10836, который передает агенту точный unix/ISO-временной штамп для вычислений.
-
Альтернативно, примените PR #19716, который добавляет временные метки в контекст сообщений, чтобы агент всегда знал точное время каждого сообщения.
-
Если вы разрабатываете платформу, подумайте о поддержке расписаний с задержкой (delayMs) или расписаний с указанием временной зоны, чтобы агенту не приходилось выполнять арифметику с временными зонами самостоятельно.
-
Для разработчиков: расширьте
session_statusили создайте новый инструмент, возвращающий текущее время в ISO-8601 UTC и Unix epoch, чтобы агент мог точно считать время напоминаний.
Как не столкнуться снова
Обеспечьте, чтобы агент всегда получал текущее время в машинно-читаемом формате ISO-8601 UTC, а не только временную зону или человекочитаемую строку.
Источник
Разбор основан на обсуждении в репозитории проекта: issue #10841.
Другие типичные проблемы — в разделе ошибок и решений, а базовая настройка разобрана в первом запуске.