Hubris
Скачать из Google PlayСкачайте из RuStore
hubris

Логи

Журнал запросов на странице /logs — колонки, строка «Итого», фильтры, живой режим, детали запроса и экспорт в CSV.

Страница Логи — журнал каждого запроса, а не свод. Для графиков и рейтингов по периоду — Использование.

Как и везде в Hubris, здесь не хранится содержимое запросов — только метаданные (модель, токены, стоимость, статус). Карточка деталей запроса так прямо и говорит: «Мы храним только метаданные запроса. Сами сообщения, промпты и ответы модели не записываются и недоступны для просмотра.».

Колонки

Журнал запросов: дата, модель, приложение, токены, стоимость и скорость

КолонкаЧто в ней
ДатаВремя запроса по Москве
МодельЛого вендора + модель; значок рядом появляется, если запрос шёл через цепочку роутинга
ПриложениеКто вызвал — по имени/адресу, которые прислал клиент, либо канал (API/MCP)
Вход / ВыходТокены запроса и ответа. Вход — весь промпт: новые токены вместе с прочитанными из кеша и записанными в кеш
СтоимостьИтоговая цена в ₽; значок рядом — если в запросе участвовал кеш, в подсказке вход разложен на новые токены, из кеша и записанные в кеш
СкоростьТокенов в секунду на генерации ответа
ПричинаИтог запроса одной категорией: готово, таймаут, нет средств, лимит запросов, ошибка запроса или ошибка модели
API-ключКаким ключом сделан запрос; пусто — если без ключа (сайт, чат)
СтатусHTTP-код ответа

Строка «Итого»

Внизу таблицы закреплена строка «Итого»: число запросов, из них с ошибкой, вход, выход, всего токенов и стоимость. Считается весь выбранный период с фильтрами, а не только подгруженные строки, поэтому числа не меняются от прокрутки и совпадают с суммами столбцов в выгрузке CSV. Наведите на сумму «Входа» — она разложится на новые токены, из кеша и записанные в кеш. В живом режиме «Итого» обновляется вместе со списком.

На телефоне таблица показана карточками: модель и цена, дата, приложение и ключ со статусом, вход, выход и скорость. Список прокручивается вместе со страницей, «Итого» прибито к низу экрана, нажатие на карточку открывает детали запроса.

Имя приложения в логах

В колонке «Приложение» Hubris показывает то, чем вы представились. Порядок такой:

  1. Заголовок X-Title — если он есть, в логах будет ровно его значение.
  2. Канал MCP — запросы через MCP-сервер подписываются сами.
  3. User-Agent — распознаём известные инструменты (Claude Code, n8n, Cline, LangChain и другие) и семейство клиента для остальных.

Отсюда практическое следствие: если вы ходите в API из своего кода или из универсальной HTTP-ноды конструктора, добавьте заголовок X-Title — иначе в логах окажется имя библиотеки, которой вы отправляли запрос (axios, httpx, Go), одинаковое у всех ваших сценариев.

curl https://api.hubris2.ru/v1/chat/completions \
  -H "Authorization: Bearer sk-gw-..." \
  -H "X-Title: Бот отдела продаж" \
  -H "HTTP-Referer: https://example.com" \
  -H "Content-Type: application/json" \
  -d '{"model":"anthropic/claude-haiku-4.5","messages":[{"role":"user","content":"Привет"}]}'

X-Title — это имя в списке и в фильтре, HTTP-Referer — адрес, по которому в карточке запроса появится ссылка и значок сайта. Оба заголовка необязательны и содержат только то, что вы сами прислали: содержимое запроса в логи не попадает никогда.

Разным сценариям удобно давать разные имена — тогда фильтр по приложению показывает расход каждого по отдельности.

Период и живой режим

Пресеты: последние 15/30 минут, час, 3 часа, день, 2 дня, неделя, месяц, год — либо «Произвольный диапазон…» (до 365 дней, «С» не может быть позже «По»).

Для коротких пресетов (до часа включительно) доступен живой режим: таблица сама обновляется каждые 5 секунд, рядом с периодом — бейдж «Live» с обратным отсчётом. Он выключается сам при переключении на более длинный период и при уходе со вкладки браузера. Пока живой режим включён, бесконечная подгрузка строк ниже не работает — сначала выключите его.

Фильтр

Кнопка «Фильтр» открывает панель с категориями: Модель, Цепочка, API-ключ, Проект, Приложение, Модальность, Статус, Оплата (бесплатные / платные), Кеш (с кешем / без кеша). В каждой категории выбирается одно значение — это не мультивыбор и не режим «исключить», а быстрый способ сузить журнал до одного среза за раз. Активные фильтры показаны чипами под шапкой таблицы, каждый снимается кликом; при нескольких — кнопка «Сбросить всё».

Детали запроса

Панель «Детали запроса»: время ответа, модель, приложение и ключ

Клик по строке открывает карточку «Детали запроса»: полный ID модели, метрики (латентность, скорость, стоимость, разбивка токенов кольцевой диаграммой, стриминг да/нет, канал), таймлайн ответа, сведения о модели (контекст, модальность — и, если запрос шёл через цепочку роутинга, какие шаги были пропущены и почему), приложение и ключ, а также точная причина завершения ответа модели (например «Завершено» или «Лимит токенов» — это отдельное, более детальное поле, чем колонка «Причина» в таблице), а для неуспешных запросов — текст ошибки и HTTP-код. Внизу — сворачиваемый технический JSON записи с кнопкой копирования, а в футере — переход «Предыдущий» / «Следующий» по уже загруженным строкам.

Экспорт CSV

Кнопка «Экспорт» скачивает CSV за выбранный период с теми же фильтрами, что стоят на странице: в файл попадают ровно те строки, что в таблице, и суммы его столбцов совпадают со строкой «Итого». Строк больше 100 000 — сузьте период, выгрузка с таким объёмом не начнётся.

Одна строка файла — один запрос. Колонки по порядку:

КолонкаЧто в ней
created_atВремя запроса в UTC
model_idМодель
client_app, client_urlПриложение, из которого пришёл запрос, и его сайт
api_key_prefix, api_key_nameКлюч; пусто, если запрос без ключа (чат, студии)
prompt_tokensНовые токены входа, без кеша
completion_tokensТокены ответа, вместе с рассуждениями
cost_rubСписано за запрос, ₽
latency_msВремя ответа, мс
streamСтриминг: true или false
statusИтог запроса: success — готово, client_error — ошибка запроса, upstream_error — ошибка модели, timeout, insufficient_balance — нет средств, rate_limit_blocked — лимит запросов
cache_read_tokensТокены входа, прочитанные из кеша
cache_write_tokensТокены входа, записанные в кеш
input_tokens_totalВесь вход: новые + из кеша + запись в кеш. Это число стоит во «Входе» колонки «Вход / Выход»

Чтобы посчитать весь расход токенов, складывайте input_tokens_total и completion_tokens: у агентов почти весь вход берётся из кеша, и prompt_tokens у них в разы меньше входа.

Бесконечная прокрутка

Строки подгружаются по 50 при прокрутке до конца списка. Смена периода или фильтра начинает список заново. Если ничего не нашлось: «Запросов не найдено. Попробуйте расширить период или сбросить фильтры.».

Что дальше

  • Использование — графики и рейтинги по периоду вместо построчного журнала.
  • Роутинг — что означает значок цепочки у модели и как отфильтровать журнал по цепочке.
  • Коды ошибок — расшифровка HTTP-статусов и кодов из колонки «Статус».

Обновлено: