Skip to main content

Rytm 0.3.1 — monitoring regulacyjny Polska / Śląsk / UE

Rytm pobiera publikacje z urzędowych źródeł i przygotowuje polski raport o nowościach istotnych dla producenta aerozoli i pianek PUR. Raport zawiera cytaty, linki, daty i jawne luki źródłowe. Możesz czytać go lokalnie albo odbierać przez Telegram lub Discord. Bot Telegram udostępnia ostatni raport i stan pracy.

To narzędzie pomocnicze, nie opinia prawna ani gwarancja kompletności monitoringu. Brak danych ze źródła nie oznacza braku zmian. Przed podjęciem decyzji sprawdź dokument urzędowy i stosowalność do swojego zakładu.

Wymagania i koszty

  • Windows 10/11 lub Linux; dostęp do Internetu podczas pobierania, pracy AI i komunikacji.
  • Zalecany Python 3.12–3.14 z python.org. Metadane pakietu dopuszczają 3.12+, ale nie jest to deklaracja pełnego wsparcia każdego nowszego interpretera.
  • Klucz OpenRouter do raportów AI. Samo collect nie wywołuje płatnego modelu.
  • Opcjonalnie token bota Telegram z @BotFather albo webhook Discord.

Domyślna konfiguracja 0.3.1 dopuszcza do 3 prób przygotowania raportu z limitem 1,50 USD na całe zadanie, nie na każdą próbę. Próby kończą się po pierwszej publikacji albo po wyczerpaniu limitów. Nieudana próba też może kosztować. Program kontroluje budżet i rezerwacje na podstawie parametrów dostawcy; nie gwarantuje wysokości jego końcowego rachunku ani powstania raportu. Zachowane własne konfiguracje mogą mieć inne limity: przed zgodą przeczytaj wartość wyświetloną przez rytm report.

Instalacja na Windows

  1. Zainstaluj zalecanego Pythona i zaznacz Add python.exe to PATH. Otwórz nowe okno PowerShell na swoim koncie Windows.
  2. Zainstaluj aplikację:
py --version
py -0p
py -m pip install rytm-regulatory-monitor
rytm --version

Oczekiwany wynik ostatniej komendy: rytm 0.3.1. Jeżeli rytm nie jest rozpoznawany, używaj py -m rytm_monitor.app_cli zamiast rytm, np. py -m rytm_monitor.app_cli --version. Nie mieszaj instalacji różnych interpreterów.

  1. Uruchom kreator i kontrolę:
rytm configure
rytm doctor

doctor sprawdza lokalną konfigurację, sondę Pythona i wybraną automatykę; nie uruchamia AI ani wysyłki raportu. Gotowa konfiguracja nie dowodzi działającego bota. Jeśli go włączyłeś, wymagaj również aktywnego pollera i odpowiedzi w Telegramie.

Python 3.15

Na części środowisk Windows Python 3.15.2 ma usterkę calendar/strptime. doctor wykrywa ją komunikatem „Wykryto problem: usterka interpretera (calendar/strptime)” i wskazówką „zainstaluj Python 3.14 i użyj py -3.14”. Nie poprawiaj ręcznie biblioteki standardowej.

Zainstaluj Python 3.14.10 dla Windows x64 obok, bez usuwania 3.15. Zatrzymaj wcześniej zadania i procesy Rytm według procedury aktualizacji poniżej. Potem:

py -0p
py -3.14 -m pip install --upgrade rytm-regulatory-monitor
py -3.14 -m rytm_monitor.app_cli --version
py -3.14 -m rytm_monitor.app_cli service start
py -3.14 -m rytm_monitor.app_cli doctor
py -3.14 -m rytm_monitor.app_cli service status

W tej ścieżce używaj konsekwentnie py -3.14 -m rytm_monitor.app_cli przy każdym poleceniu. Gołe rytm może nadal wskazywać katalog Scripts Pythona 3.15. service start rejestruje zadania z launcherem interpretera, który wykonuje tę komendę. Jeżeli aplikacja nie była jeszcze skonfigurowana, najpierw wykonaj kreator przez ten sam moduł.

Kreator: sześć kroków

  1. Katalog roboczy (workspace): lokalny katalog, np. C:\Users\Jan\rytm-work. Nie wybieraj OneDrive, udziału UNC ani dysku sieciowego. Pulpit może być przekierowany do OneDrive; bezpieczniejszy jest proponowany katalog w profilu. Istniejący workspace w chmurze wymaga kontroli operatora; aktualizacja nie przenosi go automatycznie.
  2. Model: Enter zachowuje domyślne ID deepseek/deepseek-v4.1-flash i skonfigurowanego dostawcę. To pole na ID, nie na klucz.
  3. Klucz OpenRouter: ukryte pole, w którym nie widać wpisywanych znaków.
  4. Kanał wysyłki: Telegram, Discord albo brak.
  5. Raport tygodniowy: dzień, godzina oraz oddzielna zgoda na przyszłe płatne raporty.
  6. Bot na żądanie: osobna zgoda na włączenie; płatne /odswiez możesz pozostawić wyłączone.

W polu ścieżki kreatora wpisuj katalog bez cudzysłowów, również ze spacjami. Sekrety w klasycznym PowerShell wklejaj prawym przyciskiem myszy. Cudzysłowy są natomiast potrzebne przy ścieżkach ze spacjami w argumentach poleceń, np. rytm send "C:\Users\Jan\rytm-work\reports\demo" --dry-run.

Przed zapisem sprawdź podsumowanie. Odpowiedź „nie” lub Ctrl+C przed zatwierdzeniem nie zapisuje konfiguracji. Po zatwierdzeniu zapis lub instalacja zadań mogły już nastąpić; sprawdź rytm config show i rytm doctor.

Telegram od początku

  1. W Telegramie otwórz zweryfikowanego @BotFather, wyślij /newbot i wybierz nazwę oraz wolny username kończący się bot.
  2. Token wpisz wyłącznie w ukrytym polu kreatora. Nie wklejaj go do PowerShell jako argumentu, czatu ani zgłoszenia serwisowego.
  3. Otwórz prywatny czat z utworzonym botem i wyślij /start. Kreator może odczytać czat; jeśli trzeba, wykonaj rytm bot pair przy zatrzymanym pollerze.
  4. Po włączeniu bota sprawdź rytm bot status, wyślij ponownie /start i oczekuj odpowiedzi z listą komend w ciągu kilku sekund. Samo parowanie nie uruchamia bota.

Bot korzysta z połączeń wychodzących; nie wymaga serwera WWW ani otwierania portu na komputerze. Dla tego samego tokena nie uruchamiaj drugiego pollera ani innej aplikacji z webhookiem.

Instalacja na Linux

Użyj interpretera 3.12–3.14 i prywatnego środowiska wirtualnego:

python3 -m venv ~/.venv/rytm
~/.venv/rytm/bin/python -m pip install rytm-regulatory-monitor
~/.venv/rytm/bin/rytm --version
~/.venv/rytm/bin/rytm configure
~/.venv/rytm/bin/rytm doctor

W dalszych przykładach zastąp rytm pełną ścieżką ~/.venv/rytm/bin/rytm, jeśli nie jest w PATH. Automatyka korzysta z systemd użytkownika; jej praca po wylogowaniu wymaga osobno skonfigurowanego utrzymywania sesji użytkownika.

Najważniejsze polecenia

Polecenie Działanie
rytm Stan instalacji i następny krok.
rytm configure Kreator konfiguracji.
rytm config show Ustawienia; zamiast wartości sekretów tylko status.
rytm doctor Kontrola lokalna bez kosztów AI.
rytm sources Rzeczywisty katalog źródeł i jawne ograniczenia.
rytm collect Pobranie danych z włączonych źródeł.
rytm report Płatny raport z już pobranych danych; w terminalu pyta o zgodę. Nie wysyła raportu.
rytm send KATALOG_RAPORTU --dry-run Walidacja i podgląd bez wysyłki.
rytm send KATALOG_RAPORTU Wysyłka opublikowanego raportu.
rytm weekly Pełny cykl teraz; może kosztować i wykorzystuje próbę bieżącego tygodnia. Nie służy jako test.
rytm service stop Zatrzymanie automatyki i kopia małego stanu przed aktualizacją.
rytm service start Odtworzenie wybranej wcześniej automatyki i kontrola nowego bota.
rytm service status Odczyt stanu zadań oraz wersji i PID pollera.

Bez dat collect i report obejmują to samo okno według Europe/Warsaw: siedem poprzednich dat wraz z dniem bieżącym, od dzisiaj−7 do jutra (koniec wyłączny). To inne okno niż siedem zakończonych dni cyklu weekly. Możesz podać własny okres, zawsze parą dat; --until jest końcem wyłącznym:

rytm collect --since 2026-10-19 --until 2026-10-27
rytm report --since 2026-10-19 --until 2026-10-27

Kod 2 z pobierania oznacza luki, nie dowód braku zmian. Pełny katalog może wymagać znacznie więcej czasu niż kilka źródeł. Raport czytaj w pliku client-report.html w katalogu wskazanym przez program; wysyłaj cały opublikowany katalog, nie katalog nieudanej próby.

Harmonogram i bot w tle

rytm schedule enable --day pon --time 07:00 --accept-cost
rytm schedule status
rytm bot config --enable --no-allow-refresh
rytm bot install
rytm bot status

Pierwsza komenda oznacza zgodę na kolejne płatne raporty. Windows tworzy zadania Rytm\Weekly i Rytm\Bot, uruchamiane w zalogowanej sesji tego samego użytkownika przez rytmw.exe, bez dodatkowej konsoli. Ustaw strefę Windows na Warszawę.

  • Komputer musi być włączony, a użytkownik zalogowany; zablokowany ekran nie przeszkadza. Bot nie odpowiada podczas wyłączenia, uśpienia ani po wylogowaniu.
  • Zadania mogą działać na baterii. Harmonogram nie wybudza komputera.
  • Pominięty termin tygodniowy może zostać uruchomiony po powrocie dostępnego komputera i sesji. To nie jest automatyczne odtworzenie wszystkich opuszczonych tygodni: aplikacja podaje niepokryty okres jawnie.
  • Restart bota po awarii ma odstęp jednej minuty i do 255 prób. Utworzenie zadania nie zastępuje kontroli heartbeat i odpowiedzi /start.

W Telegramie: /start lub /pomoc pokazuje pomoc, /status stan, /nowosci ostatni opublikowany raport bez nowej inferencji. /odswiez uruchamia pobranie i płatny raport tylko po osobnym włączeniu; do pokazu go nie potrzebujesz.

Wyłączenie: rytm schedule disable oraz rytm bot remove. Aby zabronić tylko płatnego odświeżania: rytm bot config --no-allow-refresh.

Aktualizacja

Z 0.3.1 i kolejnych wersji z poleceniem service

W osobnym PowerShell, na tym samym koncie:

rytm service stop

Dopiero przy kodzie 0 i potwierdzonym zatrzymaniu przejdź dalej. Kod 2 oznacza trwającą pracę: poczekaj i ponów stop, bez zabijania analizy.

py -m pip install --upgrade rytm-regulatory-monitor
rytm --version
rytm service start
rytm doctor
rytm service status

Po każdym błędzie przerwij; nie wykonuj automatycznie kolejnych komend. Na Linux aktualizuj przez Python właściwego venv. W ścieżce Python 3.14 używaj jawnie py -3.14 -m pip i modułu CLI 3.14.

Pierwsza aktualizacja z 0.2.1

0.2.1 nie ma rytm service stop. Najpierw w niezależnym PowerShell tego samego użytkownika, po zakończeniu bieżącej pracy, zatrzymaj stare zadania natywnie:

Get-ScheduledTask -TaskPath '\Rytm\'
Disable-ScheduledTask -TaskPath '\Rytm\' -TaskName 'Weekly'
Disable-ScheduledTask -TaskPath '\Rytm\' -TaskName 'Bot'
Stop-ScheduledTask -TaskPath '\Rytm\' -TaskName 'Weekly'
Stop-ScheduledTask -TaskPath '\Rytm\' -TaskName 'Bot'
Get-ScheduledTask -TaskPath '\Rytm\' | Select-Object TaskName,State
Get-Process rytm* -ErrorAction SilentlyContinue

Oczekuj obu zadań wyłączonych i braku procesów rytm*; sprawdź również, czy nie pozostała ręczna instancja py -m rytm_monitor.app_cli. Nie kończ wszystkich procesów Python. Gdy nie potrafisz potwierdzić stopu, nie uruchamiaj pip.

Następnie wykonaj instalację, kontrolę wersji 0.3.1, service start, doctor i service status jak wyżej. service start obsługuje przejście z 0.2.1 na podstawie zapisanych zgód. Wyślij /start w Telegramie i sprawdź odpowiedź oraz świeży heartbeat bota wersji 0.3.1.

Aktualizacja pakietu zachowuje pliki konfiguracji istniejącego workspace. Nie oznacza automatycznego zastąpienia katalogu źródeł ani parametrów cenowych AI nowymi wartościami domyślnymi. Przed płatnym pokazem operator musi sprawdzić te parametry; nie resetuj workspace ani nie nadpisuj własnych ustawień w ciemno.

Kopia z service stop obejmuje mały stan, a nie całe archiwum. Nie cofaj samego pakietu do 0.2.1 na stanie użytym już przez nową wersję. Powrót wymaga właściwej kopii sprzed pierwszego startu nowej wersji i nadzoru operatora. Szczegóły zawiera docs/OPERATOR-RUNBOOK.md w repozytorium wydania.

Dane i diagnostyka

Konfiguracja i jawny lokalny plik sekretów są domyślnie w %APPDATA%\rytm-monitor na Windows albo ~/.config/rytm-monitor na Linux (XDG_CONFIG_HOME może zmienić lokalizację). Na Windows wymagana jest chroniona DACL katalogu konfiguracji tylko dla bieżącego użytkownika; dodatkowa DACL samego pliku sekretów jest nadawana i naprawiana best effort. To nie szyfrowany sejf. Workspace zawiera pobrane dokumenty, bazę, raporty i rejestry wysyłki; logi: logs\bot.log i logs\weekly.log.

AI wysyła fragmenty i metadane dokumentów do OpenRouter oraz dostawcy modelu; Telegram/Discord otrzymuje wiadomości i załączniki. Publikacje urzędowe mogą zawierać dane osobowe. Nie przekazuj aplikacji receptur ani poufnych danych zakładu. Pełną mapę danych i retencję opisuje docs/PRIVACY.md w repozytorium wydania.

Objaw Co sprawdzić / zrobić
rytm nie jest rozpoznawany lub ma starą wersję py -0p, Get-Command rytm -All, wersja przez moduł. Wybierz jeden interpreter; przy braku 0.3.1 na PyPI przerwij aktualizację.
pip zgłasza WinError 5/32 Stary proces lub launcher nadal działa. Potwierdź zatrzymanie obu zadań i ich procesów; nie wyłączaj Defendera.
doctor: usterka calendar/strptime Python 3.14 obok; wszystkie polecenia przez py -3.14 -m rytm_monitor.app_cli.
doctor: ostrzeżenie DACL pliku (broad, error, not_checked) Nie udało się potwierdzić dodatkowej ochrony secrets.json. Przy wymaganej prywatnej DACL katalogu ostrzeżenie pliku nie blokuje odczytu/zapisu i nie wymaga działania do normalnej pracy. Obcy właściciel pliku pozostaje odmową.
/start bez odpowiedzi rytm bot status, rytm doctor, Internet, właściwy bot i czat. Stan Running zadania sam nie wystarcza.
401 / auth Token unieważniony lub błędny. Zatrzymaj usługę, zapisz nowy token w kreatorze i uruchom ponownie.
409 / konflikt Drugi poller lub webhook. Uzgodnij właściciela tokena; Rytm nie kasuje webhooka automatycznie.
collect kod 2 Przeczytaj luki źródeł; nie obchodź blokad 403/429 ani limitów.
Raport nie powstał Sprawdź zgodę, klucz, dane i komunikat limitu/walidacji. Nie uruchamiaj płatnej pętli ponowień.
Log przestał się dopisywać W kandydacie znane jest zatrzymanie logowania powyżej około 256 KiB. Sprawdź także rytm doctor, status bota i harmonogramu; nie kasuj stanu w celu „naprawy”. Poprawka wymaga potwierdzenia operatora wydania.
send: duplicate, partial lub unknown Sprawdź czat i poprzedni wynik. Niepewnej wysyłki nie ponawiaj w ciemno; nie kasuj rejestrów. duplicate nie dowodzi dostarczenia.
Poniedziałek minął bez raportu rytm schedule status, sesja użytkownika, czas Windows i log weekly.log. Powiadomienie o błędzie również może nie dotrzeć przy braku sieci.

Na terminalu wynik jest czytelny dla człowieka; w potoku lub z --json zwykłe wyniki i błędy parsera mają JSON. Pomoc i wersja pozostają tekstowe. Kody: 0 sukces, 1 błąd/odmowa, 2 wynik częściowy albo niegotowość (dla service: zajęte), 3 wyłączony bot run, 130 przerwanie. Ich dokładne znaczenie zależy od polecenia.

Licencja: wszelkie prawa zastrzeżone; brak licencji open source.

Metadata

Release files for rytm-regulatory-monitor 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rytm-regulatory-monitor 0.3.1
File Size Uploaded Provenance Actions
rytm_regulatory_monitor-0.3.1.tar.gz 382.7 kB Without provenance Details for rytm_regulatory_monitor-0.3.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for rytm-regulatory-monitor 0.3.1
File Interpreter ABI Platform Actions
rytm_regulatory_monitor-0.3.1-py3-none-any.whl Python 3 none any Details for rytm_regulatory_monitor-0.3.1-py3-none-any.whl

Total release size: 780.0 kB

Release files / rytm_regulatory_monitor-0.3.1.tar.gz

Download URL rytm_regulatory_monitor-0.3.1.tar.gz
Size 382.7 kB
Tags Source
SHA-256 checksum
How to use checksums
3ee5b7f936d185c3d96e08fefadeb704ce015ea86077f33fc00eaba19fcbeebc
BLAKE2b-256 checksum
How to use checksums
516277570b39c3c70893cab15fd610243b04fc00751847c65c8fbcb9b538be97
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / rytm_regulatory_monitor-0.3.1-py3-none-any.whl

Download URL rytm_regulatory_monitor-0.3.1-py3-none-any.whl
Size 397.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ea174536b3000f55eaa7899b3c6fe966a5ebe2bb88829e89b069afb4febf1649
BLAKE2b-256 checksum
How to use checksums
400a0f57e04f8ff390325fb879513bc08564d42930140ab7bbd40a2ff1f0d6a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Security for rytm-regulatory-monitor 0.3.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page