jq, терминал bash или PowerShell, аккаунты в Codex, Claude и Cursor с доступом к странице использования, ~50 МБ свободного местаnpm install -g) без sudo либо с ним.jq — консольный парсер JSON; нужен, чтобы читать снимок квот в скрипте. Установка: brew install jq (macOS) / sudo apt install jq (Ubuntu) / winget install jqlang.jq (Windows).Пример: проверка, что jq уже стоит — jq --version. Если в ответ приходит command not found (bash) или jq : Имя "jq" не распознано (PowerShell), ставьте по команде выше.
Что сделать: создать рабочую папку, проверить окружение и записать текущие показатели расхода по каждому сервису в файл quota.json.
Зачем: базовая линия — это снимок «сколько уже израсходовано» на старте. Без него через неделю невозможно понять, растёт расход или нет, и не с чем сверять данные TokenBar.
Как проверить: команда cat quota.json | jq . печатает ваш объект без ошибок парсинга.
mkdir -p ~/quota-monitor && cd ~/quota-monitor
node -v
npm -v
jq --version
Ожидаемый результат: три строки, каждая содержит номер версии. Если хоть одна команда отвечает command not found, дальше идти нельзя — установите компонент.
Создайте файл quota.json в папке ~/quota-monitor. Поля used (израсходовано) и limit (потолок) заполните цифрами со страницы использования соответствующего сервиса; нули ниже — заглушки, а не реальные лимиты:
{
"checked_at": "2025-01-15T10:00:00Z",
"providers": {
"codex": { "used": 0, "limit": 0 },
"claude": { "used": 0, "limit": 0 },
"cursor": { "used": 0, "limit": 0 }
}
}
Пример: если панель Cursor показывает «израсходовано N из M запросов», впишите "used": N, "limit": M. Единицы измерения (запросы, токены, кредиты) у каждого провайдера свои — не смешивайте их в одном счёте, но и не приводите к общему знаменателю: скрипт считает проценты внутри каждого провайдера отдельно.
Почему это работает: плоский JSON с одинаковой структурой по трём провайдерам дальше читается одной командой jq, без ручного разбора разных форматов вывода.

Что сделать: поставить CLI TokenBar глобально, создать конфигурационный файл и перечислить в нём три провайдера.
Зачем: TokenBar — консольная утилита, которая сводит показатели лимитов и квот нескольких ИИ-сервисов в один снимок. Без него вы открываете три разные панели и вручную переносите цифры.
Как проверить: tokenbar --help печатает список команд, а tokenbar providers (или аналогичная команда вашей версии) показывает три подключённых провайдера.
npm install -g <имя-пакета-tokenbar>
tokenbar --help
Точное имя npm-пакета, набор флагов и поддерживаемые версии Node.js — сверьтесь с документацией TokenBar: в открытых источниках канала они не приводились, поэтому подставлять конкретику отсюда нельзя.
Конфигурация. Типовой путь для CLI-утилит на Linux/macOS — ~/.config/tokenbar/config.json; на Windows — %APPDATA%\tokenbar\config.json. Фактический путь и имена ключей сверьте с документацией, логика остаётся той же:
{
"providers": ["codex", "claude", "cursor"],
"refresh_interval_min": 15,
"warn_threshold_pct": 80
}
providers — список сервисов, которые опрашиваются.refresh_interval_min — как часто обновлять снимок, в минутах.warn_threshold_pct — порог предупреждения в процентах: при 80 % расхода строка помечается как проблемная.Если сервис требует отдельный ключ, положите его в переменную окружения перед запуском. Имя переменной сверьте с документацией — не угадывайте:
export TOKENBAR_CLAUDE_KEY="<ваш-ключ>"
Пример: после установки выполните tokenbar --help и найдите в выводе команду выгрузки в JSON (обычно содержит слово export или json). Она понадобится на следующем шаге. Если такой команды нет — сверьтесь с документацией, возможно, снимок сохраняется автоматически в файл, путь к которому указан в справке.
Почему это работает: TokenBar обращается к каждому провайдеру по его учётным данным и складывает ответы в один файл-снимок; вы читаете один JSON вместо трёх панелей. Как связать такие CLI с другими агентами в одном рабочем окружении, разобрано в гайде как превратить чёлку MacBook в пульт управления ИИ-агентами.

Что сделать: выгрузить снимок TokenBar в JSON, прогнать его через скрипт проверки порогов и поставить скрипт на расписание.
Зачем: сам снимок — просто файл, который никто не откроет. Скрипт превращает проценты в строки OK/ALERT, а cron или Планировщик задач запускает его без вашего участия.
Как проверить: скрипт печатает по одной строке на каждого провайдера; при превышении порога появляется ALERT.
Сохраните файл quota-check.sh в ~/quota-monitor и сделайте его исполняемым:
#!/usr/bin/env bash
set -euo pipefail
SNAP="${1:-snapshot.json}"
THRESHOLD="${2:-80}"
jq -r '.providers | to_entries[] | "\(.key)\t\(.used)\t\(.limit)"' "$SNAP" |
while IFS=$'\t' read -r name used limit; do
if [ "$limit" -le 0 ]; then
printf 'SKIP %s: лимит неизвестен (%s/%s)\n' "$name" "$used" "$limit"
continue
fi
pct=$(( used * 100 / limit ))
if [ "$pct" -ge "$THRESHOLD" ]; then
printf 'ALERT %s: %s%% (%s/%s)\n' "$name" "$pct" "$used" "$limit"
else
printf 'OK %s: %s%% (%s/%s)\n' "$name" "$pct" "$used" "$limit"
fi
done
chmod +x quota-check.sh
./quota-check.sh snapshot.json 80
Пример вывода (значения условные, подставьте свои из снимка):
OK claude: 41% (41/100)
OK codex: 62% (62/100)
ALERT cursor: 84% (420/500)
Расписание. Строка для cron — проверка каждые 30 минут с дописыванием в журнал:
crontab -e
*/30 * * * * /home/<пользователь>/quota-monitor/quota-check.sh /home/<пользователь>/quota-monitor/snapshot.json 80 >> /home/<пользователь>/quota-monitor/quota.log 2>&1
Чек-лист приёмки:
tokenbar --help отрабатывает без ошибокsnapshot.json содержит блок providers с ключами codex, claude, cursor./quota-check.sh snapshot.json 80 печатает три строкиALERT появляется при пороге ниже текущего расходаcrontab -lПочему это работает: jq разворачивает объект providers в три строки «имя → used → limit», а цикл while считает процент целочисленно и сравнивает с порогом. Никаких внешних зависимостей, кроме jq, у проверки нет. Если вы держите ИИ-агентов в общем репозитории и хотите контролировать ещё и безопасность их кода, пригодится гайд как проверить код от Cursor и Claude Code на уязвимости.
Проблема. Команда TokenBar не находится после установки
bash: tokenbar: command not foundPATH (частая ситуация на macOS с nvm или при установке Node.js без перелогина).PATH:npm prefix -g
export PATH="$(npm prefix -g)/bin:$PATH"
Затем перезапустите терминал и повторите tokenbar --help.
Проблема. Скрипт не видит провайдеров
jq: error (at snapshot.json:1): Cannot index string with string "providers"jq прочитал его как строку.head -c 120 snapshot.json
jq -e '.providers | type == "object"' snapshot.json
Вторая команда должна вернуть true. Если вернула false или ошибку — снимок пересоздан неверно, сверьтесь с документацией по флагу выгрузки.
Проблема. Проценты считаются как 0 % или деление падает
ALERT codex: 0% (0/0) либо division by zerolimit осталось нулевым — цифру не перенесли из панели или провайдер не отдал потолок квоты.[ "$limit" -le 0 ], она печатает SKIP ...: лимит неизвестен. Заполните limit вручную из страницы использования сервиса и перезапустите ./quota-check.sh snapshot.json 80.Вы получили три вещи: конфиг TokenBar с подключёнными Codex, Claude и Cursor, файл snapshot.json с текущими процентами расхода и скрипт quota-check.sh, который сам пишет ALERT в журнал по расписанию. Дальше настройте порог под свою нагрузку (например, 70 % для сервиса, который вы расходуете быстрее всего) и пересматривайте базовую линию quota.json раз в месяц.
Нужен ли TokenBar, если я пользуюсь только одним сервисом?
Нет, для одного сервиса достаточно quota.json и скрипта из Шага 3 — они не зависят от TokenBar. TokenBar окупается удобством, когда сервисов два и больше.
TokenBar заменяет официальные панели биллинга и оплаты?
Нет. Он показывает лимиты и квоты, а баланс, счета и списания подтверждайте в кабинете провайдера. Расхождения трактуйте в пользу кабинета.
Как часто обновлять снимок квот?
Ориентир — интервал, указанный в refresh_interval_min (в примере 15 минут), а проверку порогов в cron можно ставить реже, раз в 30 минут. Для активной работы с агентами интервал уменьшают; конкретные ограничения по частоте запросов сверьте с документацией TokenBar.
Хранит ли TokenBar мои ключи и где они лежат?
Точный ответ зависит от версии и способа установки — сверьтесь с документацией TokenBar. Практическое правило: держите ключи в переменных окружения или в файле конфигурации с правами 600 и не коммитьте их в git.