Как я сделал виджет лимитов Claude, а в нем поселился краб

в 7:07, , рубрики: claude, claude code, powershell, wpf, вайбкодинг, виджет, лимиты

Это история о том, как маленький виджет для лимитов Claude за месяц оброс пиксельным крабом, погодой, чатом и целым гардеробом скинов. И о том, что получается, когда весь код пишет сам Claude, а ты только объясняешь, чего хочешь.

Сессия начинает работать, заканчивает и ждет ответа

Сессия начинает работать, заканчивает и ждет ответа

Как все началось

Claude я начал пользоваться не так давно: в марте оформил тестовую подписку за 20 баксов, чтобы проверить, что это за вайбкодинг такой и на что реально способна популярная ллмка. Не то чтобы меня это тогда сильно зацепило. Почти весь месяц я ей особо не пользовался. Просил в основном делать короткие наброски кода, которые потом исправлял под свой стиль.

Тем не менее в апреле я оформил уже подписку за 100 баксов. Причем за лимиты прошлого тарифа я не выходил, но психологически было некомфортно, когда они заполнялись за несколько запросов под половину или выше. К этому моменту я понял, что штука в целом полезная и однажды лимитов может понадобиться больше, а цена для такого ассистента не такая уж высокая.

Постепенно начал к нему привыкать и перекладывал все больше задач, особенно анализ логов, диагностику проблем и прочую неинтересную админскую рутину. Для ресерча уже просил запускать несколько агентов одновременно.

Вместе с этим все чаще проверял, что там с лимитами, в основном заходя на сайт или в терминале. Но все это было неудобно и надоело постоянно себя дергать.

Тогда в голову пришла идея - нужен небольшой виджет на экране, который в реальном времени показывал бы лимиты. К тому времени как раз вышел новый Opus, который с написанием кода справлялся уже явно лучше меня, исправлять за ним приходилось все реже.

Так появилась первая версия виджета: пара сотен строк в одном PowerShell файле без каких-либо сторонних зависимостей. Лимиты меня больше не беспокоили, свою потребность закрыл с головой.

Первая версия виджета
Так виджет выглядел 16 сентября.

Слишком много пустого места

На этом история могла бы закончиться, но как-то вечером, в очередной раз бросив взгляд на виджет, я подумал, что над полоской пятичасового лимита слишком много пустого пространства. Следующей мыслью было, что туда нужно поселить анимированного маскота.

У Claude Code уже есть свой маскот - это пиксельный краб Clawd с экрана приветствия. Его я и попросил перенести в виджет из тех же блочных символов и с теми же анимациями, что и в терминале.

Просто сидеть на месте ему было скучно, поэтому очень скоро он начал реагировать на происходящее. Когда ничего не запущено, он спит, пока сессия работает - носится туда-сюда, а когда сессия ждет моего ответа - машет лапой. У лимита он начинает потеть, а когда лимит кончается, лежит кверху лапками.

Claude Code не запущен: закапывается в песок и спит

Claude Code не запущен: закапывается в песок и спит
Лимит сессии выбран: лапами вверх, по клику выходит дух

Лимит сессии выбран: лапами вверх, по клику выходит дух

Новые идеи

Когда краб начал жить в своем пространстве, то сразу захотелось добавить ему задний фон. Естественным образом пришла идея добавить туда реальную погоду за окном. А ночью еще и луну в правильной фазе, если она не спрятана за облаками.

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

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

Потом захотелось, чтобы Clawd был не просто украшением. Так у него появилась своя панель с чатом. Раз в полчаса он может проверить систему и сообщить, что диск забился или в автозагрузке появилось что-то новое. Следом подтянулись напоминания, списки с галочками и повторяющиеся задачи по расписанию. Причем задачи вежливо ждут, если лимит уже почти исчерпан, все-таки виджет про лимиты. По дороге добавились график расхода за неделю, топ проектов, сессии с других машин.

Я выложил виджет на GitHub и написал о нем на Reddit. Оказалось, что людям он понравился и им правда начали пользоваться. А кто-то написал, что они поставили его себе всем офисом. Тут я понял, что срочно нужна персонализация, так как целый офис одинаковых крабов это как-то неправильно.

Так появились темы виджета и скины для краба.

Темы

Темы
Скины

Скины

В итоге за месяц пара сотен строк превратились в больше чем 10 тысяч строк и 36 модулей, и это по-прежнему чистый PowerShell без единой сторонней зависимости.

Весь код пишет Claude

Я не написал руками ни строчки, а только подробно объяснял, что хочу и как это должно работать, смотрел результат и возвращал на доработку, если что-то было не так. Все равно что работать с командой, только команда не устает и не спорит, зачем крабу ушанка.

Забавно, что в итоге Claude Code сделал виджет, который следит за лимитами самого Claude Code.

Что получилось в итоге

Сейчас это маленькое окошко поверх рабочего стола плюс иконка в трее. Нужны только Windows и сам Claude Code: никаких Node, npm и установщиков.

  • Лимиты. Процент пятичасовой сессии, неделя, время до сброса. Цифры официальные: их дает claude -p "/usage", а эта команда не обращается к модели и не тратит токены.

  • Сессии. Сколько сессий Claude Code запущено, какие работают и какие ждут ответа. Удобно ловить забытого агента, который тихо жжет лимит.

  • История. График лимитов за 7 дней и топ проектов.

  • Статус сервисов с status.claude.com и версия Claude Code.

  • Clawd и небо. Настроения от сессий и лимитов, погода и фаза луны, восемь тем и больше двадцати скинов.

  • Панель Clawd. Чат, советы о компьютере, напоминания, списки и задачи по расписанию.

  • Самообновление. Виджет сам ставит новую версию, а если она не заработала, откатывается обратно.

  • Интерфейс на английском, русском и французском.

Скриншоты: подробности и график за неделю
Подробности: лимиты, сессии, статистика и версия Claude Code

Подробности: лимиты, сессии, статистика и версия Claude Code
График лимитов за 7 дней и топ проектов

График лимитов за 7 дней и топ проектов

Отклик

За пару дней репозиторий посмотрели больше 200 человек, у проекта почти 60 звезд. Люди начали делать порты на другие системы: macOS, Linux, Android и iPhone, ссылки на них есть в README.

Как поставить

Нужны Windows 10/11 и установленный Claude Code, в котором выполнен вход. Клонируете репозиторий (или качаете ZIP) и запускаете start-widget.vbs:

git clone https://github.com/Enhed/clawd-usage-winwidget.git

Репозиторий: github.com/Enhed/clawd-usage-winwidget. Буду рад новым звездам и issue.

Автор: svenger

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js