vibereceipt — Ваша работа с ИИ —по позициям.
vibereceipt читает логи сессий, которые Claude Code, Codex CLI и OpenCode и так хранят у вас на диске, и печатает кассовый чек: токены, сколько бы они стоили по ценам API и сколько раз агент сказал «You’re absolutely right». А потом сохраняет PNG, который можно сразу выложить.
npx github:glmn-ai/vibereceiptСкоро в npm: npx vibereceipt.
- Без аккаунта
- Без сетевых запросов
- Ноль зависимостей

Напечатано из примера данных --demo, а не из чьих-то настоящих логов.
Всё, что сделали агенты, построчно
Посчитано по логам, оценено по опубликованному прайсу. Забавные счётчики появляются, только если они есть в ваших логах.
*** FUN COUNTERS ***
Та часть, которую скриншотят.
- "YOU'RE ABSOLUTELY RIGHT"Считается в ответах агента.
- "PERFECT!"То же для второй любимой фразы.
- TIMES YOU INTERRUPTEDСколько раз вы остановили агента посреди хода.
- RAGE TAXПромпты с бранным словом.
- NIGHT-OWL PROMPTS 00-05Отправленные с полуночи до пяти утра.
- BUSIEST DAYСамый загруженный день за период.
- LONGEST STREAKСамая длинная серия дней подряд.
- LONGEST SESSIONОдна сессия без перерыва больше часа.
- PEAK HOURЧас дня, когда вы работаете больше всего.
0 BYTES UPLOADED
Что вы делали
Сессии, промпты, которые вы набрали, ответы агента, вызовы инструментов с тремя самыми частыми, изменённые файлы и запросы к моделям.
- SESSIONS
- PROMPTS YOU TYPED
- TOOL CALLS
- FILES EDITED
Токены
Входные, выходные, чтение и запись кеша, плюс итог.
- INPUT
- OUTPUT
- CACHE READ
- CACHE WRITE
По харнессам и моделям
Токены и стоимость для каждого агента, которым вы пользовались, и для трёх главных моделей.
- BY HARNESS
- BY MODEL (TOP 3)
Счёт
Подытог по ценам API с датой прайса. Добавьте --plan — и чек сравнит его с вашей подпиской.
- SUBTOTAL
- SUBSCRIPTION
- YOU SAVED
Шапка и подвал
Дата, номер чека (хэш вашей статистики) и «кассир» — самая дорогая из ваших моделей. Внизу — штрихкод и обещание.
- CASHIER
- 0 BYTES UPLOADED
- THANK YOU FOR VIBING
Прочитано локально, напечатано локально
Читает файлы на вашем диске и пишет один PNG. Это весь список.
Нет сетевого кода
Ноль зависимостей во время работы. Не импортирует http, https, net, tls и dgram и никогда не вызывает fetch. Ни аккаунта, ни выгрузки.
Только чтение
Логи открываются только на чтение, база OpenCode — в режиме только для чтения. Единственный файл, который он пишет, — PNG.
Ничего личного в чеке
Текст промпта сразу превращается в отметку времени и флаг «ругался или нет». MCP и неизвестные инструменты сводятся в одну строку, их имена не видны. Названия проектов — только с --projects.
Проверьте сами
Склонируйте репозиторий и прогоните grep по сборке. Он ничего не выведет.
git clone https://github.com/glmn-ai/vibereceiptcd vibereceiptgrep -rnE "fetch\(|node:https?|node:net|node:tls|node:dgram|WebSocket" dist
Единственные адреса в dist/ — обычный текст: ссылка «поделиться», которую он печатает, и два источника прайса. CI повторяет эту проверку при каждом запуске.
Точные деньги — или никакой цены
Парсеры и цены взяты из @neurosquad/core, движка nsq.
- 01
Цены API, с датой
Опубликованные цены API от Anthropic и OpenAI. В чеке напечатана дата прайса:
price table 2026-10-12. - 02
Каждый запрос — один раз
Claude Code пишет строку на каждый блок ответа, а продолженные сессии копируют старые сообщения. Строки сводятся по id сообщения.
- 03
Своя цена у каждого типа токенов
Некешированный вход, выход, чтение кеша, запись кеша на 5 минут и на час, длинный контекст и быстрый режим — у каждого своя цена.
- 04
Целочисленная арифметика
Целые токены, целые цены, стоимость в пикодолларах. Без плавающей точки, округление один раз — при выводе.
- 05
«Без цены», а не $0
Локальная модель или модель, которой нет в прайсе, остаётся без цены. Чек пишет, сколько запросов и токенов это касается, и помечает частично оценённые строки
*.
Математика подписки
С --plan подписка списывается за каждый календарный месяц, в котором вы работали за период. Потом чек пишет YOU SAVED или YOU OVERPAID — как есть на самом деле.
SUBSCRIPTION
4 mo x $200 (Jul-Oct 2026)
YOU SAVED
/ YOU OVERPAID
Итог — это сколько стоил бы тот же трафик по ценам API. Подписка не тарифицируется по токенам, так что это не то, что вы заплатили.
Выберите период, добавьте свой план
Без флагов — за всё время, в терминале и в PNG.
| Флаг | Что делает |
|---|---|
--since <when> | Период: 30d, 7d, 4w, 6m, 1y или дата вроде 2026-09-01. По умолчанию — за всё время. |
--month / --year | Текущий календарный месяц или год. |
--plan <plan> | Сравнить с подпиской: pro, max5, max20, chatgpt-plus, chatgpt-pro или любая цена в месяц, например 49.99. |
--short | Компактный чек для публикации, PNG ровно 4:5. |
--out <path> | Куда сохранить PNG. По умолчанию — ./vibereceipt-YYYY-MM-DD.png. |
--no-png | Только напечатать, PNG не сохранять. |
--json | Статистика в JSON, деньги — точно, в пикодолларах. PNG не сохраняется без --out. |
--projects | Добавить три главные папки проектов, только имена. По умолчанию выключено. |
--demo | Чек из встроенного примера данных, с пометкой DEMO сверху и снизу. |
Логи трёх агентов, ничего не настраивать
Читает то, что эти CLI и так хранят на диске. Логи субагентов тоже учитываются.
Claude Code
Читает
~/.claude/projectsCodex CLI
Читает
~/.codex/sessionsOpenCode
Читает
~/.local/share/opencode/opencode.dbНужен Node 18.17 или новее. Для истории OpenCode в SQLite — Node 22.13+; на более старом Node OpenCode пропускается с пометкой.
Нужен другой агент? Парсеры взяты из @neurosquad/core, а он читает и другие. Откройте issue.
Напечатайте свой.
Одна команда. Ничего не покидает ваш компьютер.
npx github:glmn-ai/vibereceipt