LogWatcher

Machine API для LLM-агентов работы с логами. Инструмент просмотра и анализа лог-файлов, переработанный под tool calling: синхронно «запрос → ответ», без стриминга и UI-излишеств.

Продукт = машиночитаемый API (FastAPI + JSON). Фронтенд — лишь один из клиентов интерфейса.

Ключевые принципы

Возможности (инструменты skill)

Код Инструмент Назначение
C1 Discover Список файлов + метаданные (relpath, size, lines), поддержка rotation/gzip
C2 Pagination Чтение порциями по номеру строки: GET /v2/logs/{path}/lines?offset=&limit=
C3 Search / grep ⭐ Полнотекстовый grep по всем файлам с фильтрацией по полям и time-range
C4 Парсинг схемы ⭐ Авто-определение формата, извлечение полей, темплирование (Drain)
C5 Stats Агрегация: by_level, top-N ошибок, rate, гистограмма активности
C6 Anomalies Аутлайнеры по числовым полям + детектор новых шаблонов
C7 Correlate Единый таймлайн и джойн ключами (miner_id / subnet / request-id) между файлами
C8 Export Экспорт результатов в JSON/CSV
C9 Rules check Одноразовая проверка диапазона на соответствие regex + порог + окно
C10 Overview ⭐ Каталог файлов и ключей: стабильные столбцы + оценка типа/кардинальности ключей

Скриншот

Интерфейс просмотра и анализа логов (один из клиентов API):

LogWatcher

Как начать агенту

Фиксированный bootstrap первого обращения:

GET  /v2/tool_info          ← контракт всех инструментов (генерируется из OpenAPI)
POST /api/discover          ← что есть файлов
POST /v2/logs/overview      ← структура: ключи + стабильные столбцы по файлам
        ◄──── агент работает обычными tool'ами (search/stats/correlate/…)

Протокол согласования схемы (inspect → validate → accept) и onboarding’а описан в коде API (api_v2.py).