Куда уходят токены и деньги за AI-инструменты
В конце месяца я открыл выписки по картам и понял, что плачу сразу за три разных AI-ассистента. В терминале шуршит Claude Code, в редакторе открыт Cursor, для автокомплита крутится Copilot, а на домашнем сервере фоном висит открытая модель через OpenCode. Сколько токенов улетело впустую, сколько раз кэш спас бюджет и когда именно упрется лимит подписки — в такой связке понять невозможно.
Каждый сервис рисует собственную статистику в личном кабинете. Некоторые вообще держат логи только локально на диске. Чтобы навести порядок в этом зоопарке, разработчик под ником Javis написал Token Monitor — десктопный виджет, собирающий потребление токенов, расходы и квоты более чем из 30 инструментов для программирования.

Как устроен сбор данных
Большинство подобных утилит либо требуют вбивать API-ключи, либо завязаны на один конкретный редактор. Token Monitor пошел другим путем: он работает по принципу local-first.
Приложение ставится как виджет в трей или плавающее окно. Дальше оно просто наблюдает за локальными файлами и базами данных, куда CLI-агенты и расширения складывают сессии. Например, для Claude Code читаются транскрипты из ~/.claude/projects/, для Codex — каталоги в ~/.codex/, для Zed — локальная SQLite-база threads.db, а для Copilot парсится хранилище VS Code.
Под капотом за разбор логов отвечает библиотека tokscale. При этом сам виджет не отправляет промпты, исходный код или ответы моделей на внешние серверы. Вся обработка происходит прямо на вашей машине, что снимает любые вопросы к приватности рабочего кода.
Что умеет приложение
Список поддерживаемых утилит впечатляет: Cursor, Claude Code, GitHub Copilot, Kimi, DeepSeek Harness, OpenCode, Qwen CLI, Grok Build, Cherry Studio, плюс внешние провайдеры вроде OpenRouter и Minimax.
Вот несколько вещей, которые сразу обращают на себя внимание:
Детализация сессий и попадания в кэш
Если кликнуть по конкретному инструменту, открывается детальный разбор: сколько ушло входных токенов, сколько выходных, и главное — сколько токенов попало в prompt cache. При работе с длинными контекстами именно cache hit rate определяет, разоритесь вы на API или нет.
Для сессий Claude Code, Codex и OpenCode можно провалиться глубже и посмотреть точный расклад по каждому сообщению и задействованному тулу.
Сохранение удаленной истории
Многие AI-агенты чистят историю сессий по таймеру. Тот же Claude Code по умолчанию удаляет файлы старше 30 дней. Из-за этого годовую статистику обычно не собрать. Token Monitor умеет архивировать сводные показатели за день в собственную локальную базу. Исходные тексты диалогов стираются, но цифры расходов и тепловая карта активности остаются на месте.
Контроль лимитов и мультиаккаунты
Виджет отслеживает не только голые токены, но и окна ограничений тарифов (недельные квоты, кредитные балансы, ресеты по таймеру). Если у вас заведено два аккаунта в Codex, переключить активный профиль на локальной машине можно в один клик прямо из окна виджета, не проходя повторную авторизацию в терминале.
Также можно вручную зафиксировать стоимость подписок. Программа посчитает, окупает ли реальное использование потраченные на тариф деньги.
Синхронизация между устройствами
Если вы пишете код на ноутбуке, десктопе и удаленной виртуалке, локальная статистика на одном компьютере дает только часть картины. В проекте предусмотрено три варианта синхронизации через Server-Sent Events:
- Встроенный хаб в виджете. На основном компьютере включается режим хоста, генерируется токен, а остальные машины подключаются к нему по локальной сети или через внутренний overlay (например, Tailscale).
- Отдельный headless-хаб. Запускается через
npm run hubна домашнем сервере или Raspberry Pi. - Cloudflare Worker. Быстрый вариант без настройки портов и выделенных серверов, к которому можно подключить даже iOS-виджеты в Widgy или Scriptable.
Для фоновых машин без графического окружения и сессий внутри WSL есть CLI-агент npm run agent, который просто парсит каталоги и шлет сводки на ваш хаб.
# Быстрый запуск headless-хаба на сервере
cp .env.example .env
# задаем TOKEN_MONITOR_SECRET в .env файле
npm run hub
Как это выглядит в системе
Приложение написано на Electron с использованием нативных бинарников для парсинга, готовые сборки подписаны для macOS (Apple Silicon и Intel), Windows и Linux (AppImage).
В трее или строке меню можно вывести не просто иконку, а настроить собственный компактный статус: процент оставшегося лимита у самого загруженного провайдера, потраченную за день сумму в долларах или точный счетчик токенов. Есть плавающий виджет-пузырь, интеграция со статусом в Discord и экспорт истории в CSV и JSON для тех, кто ведет аналитику в Obsidian или Grafana.
Кому пригодится
Если вы пользуетесь одним лишь ChatGPT в браузере, утилита вряд ли вам нужна. Но если ваш рабочий процесс завязан на консольные агенты, плагины в IDE и прямые обращения к моделям через разные API, Token Monitor закрывает наболевшую проблему слепых зон в расходах.
Проект открытый, лицензия MIT, настройки гибкие, а главное — данные остаются под вашим полным контролем на вашей же файловой системе. Попробовать готовый бинарник под свою ОС можно в релизах репозитория на GitHub.
