Маленькая иконка в строке меню, которая держит на виду лимиты, кредиты и таймер сброса сразу у 55 провайдеров AI-кодинга. Без отдельного окна, без переключения между вкладками, без сюрприза на длинной задаче.

Помню момент, когда это перестало быть для меня приятной мелочью и стало рабочей необходимостью. Запустил длинный рефакторинг в Codex, ушёл заваривать чай, вернулся — а агент стоит на паузе: rate limit. Если бы я видел счётчик заранее, разбил бы задачу на части и доделал до сброса окна. Вместо этого потерял контекст и потратил ещё полчаса на повторный запуск.

CodexBar закрывает именно такие моменты. Это open-source приложение для macOS, которое показывает текущее состояние ваших лимитов у Codex, Claude, Cursor, Gemini, Copilot, Vertex AI и ещё пяти десятков сервисов. Живёт в menu bar, занимает одну строку, читает существующие сессии провайдеров — OAuth, device flow, API-ключи, браузерные cookies, локальные файлы. Никакие пароли не сохраняет. К 2026 году это стало стандартом для разработчиков, которые работают одновременно с двумя-тремя AI-провайдерами: лимит у одного упёрся в потолок — CodexBar подскажет, что у другого ещё есть запас. Переключаешься осознанно, а не когда уже поздно.

Что это

CodexBar — это бесплатное приложение для macOS 14 Sonoma и выше, которое живёт в строке меню и показывает состояние лимитов у AI-провайдеров, которые вы реально используете. Один статус-айтем на каждого провайдера, или режим Merge Icons, когда все сворачиваются в одну иконку с переключателем. Под капотом — codexbar CLI, который можно дёргать из скриптов и CI.

Ключевая идея, которая отличает CodexBar от простого «логгера лимитов»: утилита переиспользует ваши существующие сессии провайдеров. Не нужно вводить токены, не нужно копировать cookies. Если вы уже залогинены в Codex CLI, Claude CLI, залогинены в Cursor через браузер — CodexBar прочитает эти сессии и сразу начнёт показывать данные. Токены и настройки хранятся в ~/.config/codexbar/config.json (на новых установках) или в легаси ~/.codexbar/config.json, с правами 0600 — только владелец читает и пишет.

Приложение написано на Swift (требует Swift 6.2+), выпускается как Universal Binary (Apple Silicon и Intel). Исходники открыты под MIT-лицензией, репозиторий живёт на GitHub под авторством Peter Steinberger (@steipete). Текущая стабильная версия на 2 июля 2026 — 0.37.2 от 22 июня 2026, релизы выходят регулярно (на текущий момент 79 релизов, 100+ контрибьюторов, 15 674 звёзды). Автообновление через Sparkle.

Ключевое правило: CodexBar — это menu bar + CLI, не окно в Dock. Если вы ищете дашборд с графиками и подробной аналитикой — откройте сайт провайдера. Если хотите держать лимит в поле зрения, не открывая ничего — это оно.

Зачем нужно

Главная боль, которую закрывает CodexBar, — невидимые лимиты. Когда вы работаете в одном окне IDE с одним агентом, легко держать в голове, сколько осталось. Когда вы параллельно гоняете Codex, Claude Code и Cursor на разных задачах — счётчики ломаются, и rate limit приходит как снег на голову.

  • Планирование длинных задач. Перед тем как запустить большой рефакторинг, посмотрите в menu bar, сколько осталось до сброса лимита. Если окно закроется через 12 минут, а задача рассчитана на час — лучше отложить или разбить. CodexBar показывает обратный отсчёт до конца текущей сессии, до конца недельного окна, до конца месячного окна.
  • Переключение между провайдерами. Когда Claude упёрся в лимит, а задача горит, CodexBar подскажет, что у Codex ещё 70% запаса. Переключаетесь не потому что «ну, попробуем», а потому что видите конкретные цифры.
  • Контроль расходов. Локальный скан расходов за 30 дней по Codex и Claude помогает не удивляться счетам в конце месяца. Графики показывают, сколько ушло на каждую модель, на какой день пришёлся пик, как шёл спад.
  • CI и автоматизация. codexbar CLI позволяет проверить лимиты перед запуском pipeline и выбрать провайдера с наибольшим запасом. Тот же codexbar отдаёт JSON, который можно распарсить в bash или Python.
  • Реакция на инциденты провайдера. Встроенный опрос статуса показывает incident-бейджи прямо в меню и индикатор на иконке. Если у Anthropic деградация API — вы увидите это до того, как отправите запрос.
  • Единая точка наблюдения. 55 провайдеров в одном месте: не нужно держать открытыми 5 вкладок с дашбордами. Для команд, где один разработчик работает с Codex, другой с Claude, третий с Cursor — это особенно ценно.

Как устроено

CodexBar устроен как комбинация из четырёх слоёв: UI в menu bar, движок провайдеров, CLI для скриптов, и хранилище конфигурации.

СлойЧто делаетТехнология
Menu bar UIОдин статус-айтем на провайдера, либо Merge IconsSwiftUI + AppKit, Universal Binary
Provider engineПо каждому провайдеру — отдельный модуль с правилами опроса лимитовSwift 6.2+, async/await, actor isolation
CLI (codexbar)Скриптовый интерфейс: cost, config, config providers, config enableТот же Swift-бинарь, собирается под macOS и Linux
Config & secretsХранение токенов, списка активных провайдеров, настроек refresh~/.config/codexbar/config.json (0600), Keychain для OAuth

Провайдерский движок работает по одному принципу: для каждого сервиса есть свой «адаптер», который знает, как достать текущий лимит. Это может быть OAuth API (Codex, Claude, Gemini), device flow (GitHub Copilot), браузерные cookies (Cursor, Windsurf), локальные файлы (JetBrains AI, Zed, Ollama) или локальные CLI-вызовы (Kiro). Данные обновляются по настраиваемому расписанию — manual, раз в минуту, раз в 2 минуты, раз в 5 минут, раз в 15 минут.

CLI — это не обёртка для UI, а полноценный инструмент. На каждом релизе публикуются отдельные тарболлы: CodexBarCLI-v-macos-arm64.tar.gz, CodexBarCLI-v-macos-x86_64.tar.gz, CodexBarCLI-v-linux-aarch64.tar.gz, CodexBarCLI-v-linux-x86_64.tar.gz, плюс статические musl-сборки. CLI ставится отдельно от GUI-приложения и работает в headless-окружении — на сервере, в CI, в крон-задаче.

Конфигурация живёт в ~/.config/codexbar/config.json (на новых установках) или ~/.codexbar/config.json (для обратной совместимости). API-ключи можно задавать не открывая Settings — через codexbar config set-api-key --provider elevenlabs --stdin. Бинарь сам тримит значение, ставит права 0600 и по умолчанию включает провайдера.

Когда использовать

CodexBar подходит не всегда. Таблица ниже помогает понять, когда утилита решает задачу, а когда — нет.

СитуацияПодходитПочему
Один провайдер, лимиты простыеНе обязательноХватит встроенного дашборда провайдера
Два-три провайдера, переключаетесь между ними каждый деньДаЭто основной сценарий CodexBar
Активный CI/CD, который дёргает разные моделиДаCLI отдаёт данные в JSON, можно встраивать в pipeline
Команда 5+ разработчиков, общий бюджетНе основной сценарийЛучше подходит OpenAI Admin API или Anthropic Admin
Linux-разработчикЧастичноGUI только на macOS, CLI работает на Linux
Нужен исторический анализ расходов за полгодаНетВстроенный сканер показывает 30 дней, для длинной истории — отдельные инструменты

Пример

Установка через Homebrew — рекомендуемый способ для macOS:

brew install --cask codexbar
brew upgrade codexbar

Установка CLI-варианта (тоже подходит для Linux):

brew install steipete/tap/codexbar

Arch Linux — через AUR:

yay -S codexbar-cli

Или скачать тарболлы с GitHub Releases. После установки GUI-приложения CLI ставится из комплекта:

# после установки CodexBar.app в /Applications
./bin/install-codexbar-cli.sh

Первый запуск:

1. Откройте Settings → Providers и включите нужных провайдеров.
2. Авторизуйтесь в тех, которые используете (CLI, OAuth, API-ключи, браузерные сессии).
3. Опционально: настройте OpenAI cookies для расширенных данных дашборда Codex.

Пример работы CLI для скриптов и CI:

# расходы за 30 дней по Codex
codexbar cost --provider codex

# расходы за 30 дней по Claude
codexbar cost --provider claude

# оба провайдера сразу
codexbar cost --provider both

# список активных провайдеров
codexbar config providers

# включить/выключить провайдера без GUI
codexbar config enable --provider grok
codexbar config disable --provider cursor

# задать API-ключ без открытия Settings
printf '%s' "$ELEVENLABS_API_KEY" | codexbar config set-api-key --provider elevenlabs --stdin

Пример вывода codexbar cost --provider both (структура, реальные значения зависят от ваших сессий):

Codex (30d)
  gpt-5.5          $12.40
  gpt-5.5-mini     $0.85
  Total            $13.25

Claude (30d)
  claude-opus-4.8  $18.90
  claude-sonnet-4.6 $4.10
  Total            $23.00

Если у провайдера заканчивается окно — в menu bar иконка тускнеет, появляется обратный отсчёт. Когда лимит сбрасывается — приложение подсвечивает это (опциональные session quota notifications и confetti при недельном reset, настраивается).

Ограничения

Ограничения

Что учитывать

Короткий список того, что CodexBar не делает или делает с оговорками.

GUI только на macOS 14+ — Universal Binary работает на Apple Silicon и Intel, но Linux-версии GUI нет.

Для Linux-разработчиков остаётся CLI.

Активная сессия провайдера обязательна — CodexBar переиспользует OAuth, device flow, API-ключи, браузерные cookies.

Если вы не залогинены — данные не появятся.

Не покрывает все 55 провайдеров одинаково — для части провайдеров есть только кредитный баланс, для части — session/weekly/monthly окна, для части — только биллинг.

Покрытие зависит от того, что провайдер открыто отдаёт.

Исторический анализ ограничен 30 днями — встроенный сканер по Codex и Claude показывает окно в 30 дней.

Для длинной истории — отдельные инструменты.

Обновление через Sparkle работает только для GUI-варианта

CLI обновляется через brew upgrade или скачивание нового тарболла вручную.

macOS-разрешения для части источников — Full Disk Access нужен для Safari cookies, Keychain access — для расшифровки cookies и OAuth-флоу.

Без разрешений часть провайдеров работать не будет.

Антипаттерны

Антипаттерны

Чего не делать

Что чаще всего делают не так с CodexBar.

Не ставить CodexBar на машину без активных сессий провайдеров

без залогиненных CLI/OAuth/cookies приложение покажет пустые индикаторы, и смысла в нём не будет.

Не путать CLI-команду codexbar с codex — это разные бинарники.

codexbar отдаёт данные, codex — это OpenAI Codex CLI. Пакеты и конфиги у них разные.

Не запускать codexbar cost в CI без set-api-key с заранее зашитым ключом — иначе в JSON-выводе увидите «credentials missing».

Лучше передавать ключ через stdin в pipeline.

Не отключать Keychain alerts через «Allow all applications» — это расширяет поверхность атаки.

Безопаснее добавить именно CodexBar.app в Access Control конкретного keychain-айтема.

Не использовать ~/.codexbar/config.json для новых установок — это легаси-путь.

На новых инсталляциях CodexBar пишет в ~/.config/codexbar/config.json, что соответствует XDG-стандарту.

Не публиковать скриншоты индикаторов в открытых каналах — даже если токены в Keychain, окно лимитов может намекнуть на ваш рабочий стек и приоритеты.

Это не критично, но лишний раз светить не стоит.

Чеклист

Чеклист

Проверка перед запуском

Что должно быть готово, чтобы CodexBar сразу показал полезные данные.

macOS 14 Sonoma или новее

на старых версиях приложение не запустится, CLI будет работать.

Залогиненные сессии провайдеров — минимум один из:

Codex CLI, Claude CLI, Cursor через браузер, GitHub Copilot через device flow, API-ключ для OpenAI/Anthropic.

Разрешения macOS

Full Disk Access, если используете Safari cookies; Keychain access для OAuth и расшифровки cookies.

Homebrew установлен — для рекомендованного способа.

Иначе — Universal Binary с GitHub Releases и ручное обновление.

Конфиг-файл ~/.config/codexbar/config.json создан

CodexBar создаст его при первом запуске, но если хотите предзадать API-ключи — сделайте это до первого включения провайдеров.

Refresh cadence настроен — по умолчанию раз в 5 минут.

Если лимиты жёсткие — поставьте раз в минуту. Если редко работаете с AI — хватит manual.

Проверка через codexbar cost

после настройки одного провайдера убедитесь, что команда возвращает непустой JSON, и только тогда подключайте остальных.