Limits Mini: сделал компактный Windows-виджет для лимитов Claude Code и Codex
Пользуюсь Claude Code и Codex для разработки. Чтобы смотреть расход лимитов и время сброса, приходилось открывать приложения обоих сервисов. Хотелось видеть эти данные рядом, не переключаясь между окнами.
Среди рассмотренных Windows-приложений подходящего варианта не нашёл: мне не нужен большой дашборд. Нужны две строки с цифрами.
Так появился Limits Mini, виджет для рабочего стола и системного трея Windows.
Что получилось
В интерфейсе только иконки сервисов и проценты:
У Claude первое число показывает расход текущей сессии, второе отвечает за неделю. В показанном примере Codex возвращает только недельное окно, поэтому у него одна цифра.
Виджет можно перетаскивать, менять масштаб и закреплять поверх окон. Положение сохраняется. Есть автоматическое обновление, автозапуск и переключение между использованным процентом и остатком.
Рабочий стол можно вообще не занимать: оставить только цифровые значки в трее, а подробности смотреть по нажатию.
Как устроено
Приложение написано на Go с использованием Win32. Для самой утилиты пользователю не нужно устанавливать Python, Node.js или .NET. Достаточно распаковать архив и запустить установщик либо открыть EXE напрямую.
Данные приходят из двух источников. Для Claude приложение использует локальную OAuth-авторизацию Claude Code CLI. Для Codex обращается к локальному codex app-server, который возвращает состояние лимитов.
Собственного сервера и телеметрии у приложения нет. Токены не нужно копировать в интерфейс или отправлять куда-либо вручную.
Что пришлось доработать
Авторизация Claude. Открытое приложение Claude Desktop не обеспечивало авторизацию для выбранной интеграции. Для получения данных понадобился отдельный вход через Claude Code CLI. Этот шаг вынес в инструкцию подключения.
Сеть. На тестовом компьютере браузер работал, а CLI не мог подключиться к API. Проверка прямого соединения и запроса через локальный HTTP-прокси показала разницу. После явной настройки прокси CLI подключился. Проблема была не в аккаунте и не в установке.
Отображение данных. Сервисы показывают лимиты по-разному. Например, «осталось 0%» у Codex соответствует «использовано 100%» в виджете. Также нельзя считать любой одиночный показатель пятичасовым: в моём случае Codex возвращал недельный лимит.
Дизайн. В первой сборке плохо отображались иконки и оставалось слишком много пустого места справа. Исправил рендеринг, уменьшил отступы и сделал ширину адаптивной. Добавил аккуратные скругления, тонкую рамку и системную тень.
Исходники и готовая сборка
Разрабатываю веб-сервисы, Telegram-продукты и инструменты для автоматизации. Нужна похожая утилита, интеграция с API или внутренний инструмент для команды? Напишите мне, обсудим задачу -