LogWatcher
Machine API для LLM-агентов работы с логами. Инструмент просмотра и анализа лог-файлов, переработанный под tool calling: синхронно «запрос → ответ», без стриминга и UI-излишеств.
Продукт = машиночитаемый API (FastAPI + JSON). Фронтенд — лишь один из клиентов интерфейса.
Ключевые принципы
- format-agnostic — структура логов не харкодится, а выводится из данных на лету.
Один эндпоинт работает для JSON,
key=value, syslog и stacktrace. - Динамическая схема — набор и типы полей определяются per-файл; агент согласует её
через протокол
inspect → validate → accept. - Machine-first — единая схема ошибок
{error:{code,message}}, версионирование/v2/…, пагинацияoffset/limitвезде, где «много».
Возможности (инструменты 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):

Как начать агенту
Фиксированный 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).