Skip to content

Releases: studiogo/budzet

v0.1.7 — czyszczenie nagłówka SKILL.md

Choose a tag to compare

@studiogo studiogo released this 21 Aug 18:09

Nagłówek SKILL.md niósł identyfikator prywatnej sesji autora i datę modyfikacji jego pliku. Do działania wtyczki niepotrzebne, w publicznym repozytorium — zbędny ślad. Zostały tylko nazwa i opis. Kod bez zmian.

v0.1.6 — poprawki po drugim, niezależnym przeglądzie

Choose a tag to compare

@studiogo studiogo released this 21 Aug 18:05

Drugi przegląd kodu, zrobiony niezależnie od pierwszego, potwierdził poprawki z v0.1.5 i wskazał trzy nowe rzeczy.

odswiez nie mówi już „odczyt zapisany", gdy zapis padł. Wcześniej błąd zapisu był połykany, a polecenie i tak zgłaszało sukces. Przy pełnym dysku albo katalogu bez prawa zapisu użytkownik widział potwierdzenie, a licznik stał dalej.

Odcisk konta ma zapasowe źródło. Wtyczka rozpoznaje zmianę planu i koniec promocji po odcisku złożonym m.in. z identyfikatora konta, który brała wyłącznie z odczytu limitu zapisywanego przez Claude Code. Gdyby to pole zniknęło — a raz już zamarzło — odcisk zamarzłby razem z nim: koniec promocji przeszedłby niezauważony, a kurs policzony na starej puli obowiązywałby po cichu na nowej. Teraz jest zapas z danych logowania. To ten sam numer konta, więc odcisk się nie zmienia i zebrane pary zostają nietknięte.

Dokumentacja mówi, skąd token pochodzi poza macOS — z pliku ~/.claude/.credentials.json, nie tylko z pęku kluczy systemu.

Świadomie zostawione: wyścig dwóch okien Claude Code o znacznik czasu. W najgorszym razie daje jedno zapytanie więcej; zapis jest atomowy, procesy się nie mnożą.

v0.1.5 — cztery poprawki po przeglądzie kodu

Choose a tag to compare

@studiogo studiogo released this 21 Aug 17:51

Przegląd kodu zmiany z v0.1.2 wykazał cztery słabe miejsca. Wszystkie naprawione, każda poprawka sprawdzona osobnym testem.

Zepsuta odpowiedź z API nie trafia już do pliku odczytu. Wcześniej wystarczyło, że przyjdzie jakikolwiek słownik. Odpowiedź 200 z pustym ciałem albo zmiana schematu lądowały na dysku, wygrywały świeżością ze starszym, ale dobrym odczytem z pliku Claude Code — i procent tygodnia znikał aż do naprawy po stronie API.

Odczyt ze znacznikiem czasu z przyszłości odpada przy wyborze źródła. Cofnięty zegar albo śmieć w zamrożonym pliku dałby odczyt wygrywający na zawsze, a późniejszy strażnik i tak zerował mu czas pobrania. Licznik gubił wiek odczytu i przestawał dokładać pary kalibracyjne.

Katalog bez prawa zapisu zatrzymuje pobieranie, zamiast je rozpędzać. Gdy nie da się zapisać znacznika czasu, nie ma czym ograniczać częstotliwości — a wtyczka działa przed każdą turą rozmowy. Wcześniej znaczyło to dziesiątki zapytań do API na godzinę.

Dziennik odczytów przestał się zapychać. Odczyt o tym samym procencie w tym samym tygodniu odświeża teraz ostatni wpis zamiast dokładać nowy. Przy pobieraniu co 15 minut dziennik 300 pozycji zapełniał się w trzy dni i wypychał starsze wpisy, zanim różnica sięgnęła 3 punktów. Kto pracuje wolniej, nie zbudowałby pary nigdy.

v0.1.4 — nagłówek statusu wskazuje właściwe źródło

Choose a tag to compare

@studiogo studiogo released this 21 Aug 17:43

Drobiazg zauważony po v0.1.3: nagłówek STAN LIMITU mówił „odczyt z Claude Code", choć od v0.1.2 odczyt przychodzi zwykle prosto z serwera. Teraz mówi „odczyt z serwera" — reszta bez zmian.

v0.1.3 — domiar do v0.1.2

Choose a tag to compare

@studiogo studiogo released this 21 Aug 17:41

Poprawka do v0.1.2. Zainstaluj ją zamiast poprzedniej.

W v0.1.2 zmiana objęła komunikaty polecenia status, ale ominęła linię, którą wtyczka wstrzykuje do każdej tury. Użytkownik nadal słyszał „wpisz /usage" — czyli dokładnie radę, którą tamta wersja miała usunąć. W Claude Code 2.1.238 to polecenie niczego już nie odświeża.

  • linia wstrzykiwana co turę mówi teraz o budzet.py odswiez i o wygasłym tokenie
  • odswiez dopisany do listy poleceń w README
  • nagłówek o kalibracji przestał wskazywać konkretny dzień: promocja „+50% weekly limits" została przedłużona do 31 sierpnia, a data w tytule i tak zestarzeje się przy następnej zmianie

v0.1.2 — wtyczka pobiera odczyt limitu sama

Choose a tag to compare

@studiogo studiogo released this 21 Aug 17:36

Co się stało

Claude Code od wersji 2.1.238 przestał odświeżać odczyt limitu w ~/.claude.json. 21.08.2026 pole stało w miejscu przez cały dzień pracy, mimo dwóch ręcznych /usage.

Kalibracja wtyczki żywi się różnicą dwóch odczytów. Zamrożony odczyt zatrzymuje więc cały licznik: kurs tokeny → procent stoi, a pokazywane procenty rozjeżdżają się z rzeczywistością (39% w pliku wobec 49% naprawdę).

Co się zmieniło

Wtyczka pyta teraz o limit sama, tym samym adresem co Claude Code (GET /api/oauth/usage), tokenem z pęku kluczy systemu. Pobranie idzie w tle, najwyżej raz na 15 minut. ~/.claude.json zostaje nietknięty — przy odczycie wygrywa świeższe z dwóch źródeł, więc gdy Anthropic naprawi CLI, nic nie trzeba cofać.

Dla użytkownika nic się nie zmienia: kalibracja nadal dzieje się sama, bez wpisywania czegokolwiek.

  • nowe polecenie budzet.py odswiez — ręczny odczyt, gdyby był potrzebny
  • komunikaty przestały prosić o /usage; przy wygasłym tokenie wskazują /login
  • README opisuje teraz uczciwie jedyne połączenie sieciowe wtyczki

Sprawdzone

Odświeżanie w tle przetestowane na żywo. Kalibracja dopisała parę zaraz po świeżym odczycie (3 → 4 pary, kurs 15,19 → 16,19 mln tokenów ważonych na 1%). Własny pomiar błędu: ±13% na dwóch porównaniach.

v0.1.1 — naprawa kalibracji

Choose a tag to compare

@studiogo studiogo released this 10 Aug 09:04

Poprawka błędu, który potrafił skasować zebraną kalibrację.

Co się psuło: Claude Code odświeża dane o promocjach w tle. Gdy w trakcie odświeżania klucz z komunikatami znikał na chwilę, wtyczka uznawała to za koniec promocji, wyrzucała zebrane pary pomiarowe i zaczynała naukę kursu od zera. Po powrocie danych epoka wracała na starą, ale pary już przepadły — licznik znów prosił o /usage.

Co zmienione:

  • Brak danych o promocjach jest teraz traktowany jak brak danych, a nie jak koniec promocji — epoka zostaje nietknięta.
  • Powrót do znanej epoki odzyskuje jej pary z archiwum. Działa też na stanie zapisanym przed aktualizacją, więc utracona kalibracja wraca sama przy pierwszym uruchomieniu.
  • Poprawiona instrukcja instalacji: samo /plugin install budzet nie zadziała bez wcześniejszego /plugin marketplace add studiogo/budzet.

v0.1.0 — pierwsze wydanie

Choose a tag to compare

@studiogo studiogo released this 07 Aug 14:34

Pierwsze publiczne wydanie wtyczki.

Co potrafi

  • mówi, ile limitu tygodniowego Claude Code zostało do resetu,
  • liczy koszt bieżącej rozmowy i porównuje ją z Twoimi innymi sesjami,
  • trzyma budżet sesji (/budzet 1) — Claude sam skraca odpowiedzi, gdy budżet się kończy.

Instalacja

claude plugin marketplace add studiogo/budzet
claude plugin install budzet@budzet

Wymagania: Python 3.8 lub nowszy. Działa na macOS, Linuksie i Windows.

Uwaga: przez pierwsze dni wtyczka pokazuje tokeny zamiast procentów — uczy się, ile tokenów zjada 1% limitu na Twoim koncie. Dzieje się to samo.