AGENT LICZĄCY — PoSMES
==========================

Agent to ten sam silnik TOMes®, który liczy w przeglądarce, uruchomiony
na Twoim komputerze przez Node.js. Po co:

  * obliczenia nie blokują karty przeglądarki i nie ma limitu jej pamięci,
  * agent korzysta z wielu rdzeni, licząc kilka zadań równolegle,
  * log obliczeń pojawia się na bieżąco, w trakcie liczenia,
  * serwer nadal nie liczy niczego, a model nigdzie nie jest wysyłany.


CO JEST POTRZEBNE
-----------------
Node.js w wersji 18 lub nowszej: https://nodejs.org
Sprawdzenie, czy już jest — w wierszu poleceń:  node --version


URUCHOMIENIE
------------
Windows:            kliknij dwukrotnie  start-agenta.cmd
Linux / macOS:      chmod +x start-agenta.sh && ./start-agenta.sh
Dowolny system:     node silnik/lokalnie/agent.js

Agent wypisze:      Nasłuchuje: http://127.0.0.1:7654
Zostaw to okno otwarte na czas pracy.


POŁĄCZENIE Z APLIKACJĄ
----------------------
Wróć do PoSMES (https://posmes.com/), otwórz krok „Analiza",
rozwiń „Gdzie liczyć" i kliknij „Sprawdź połączenie".
Adres powinien być ustawiony na http://127.0.0.1:7654

Od tej chwili zadania liczą się u agenta. Gdy go wyłączysz, aplikacja
wróci do liczenia w przeglądarce — bez pytania i bez błędu.


GDY AGENT NIE ODPOWIADA
-----------------------
1. Czy okno agenta nadal jest otwarte i wypisało „Nasłuchuje"?
2. Czy port zgadza się z adresem w aplikacji?
   Inny port:  node silnik/lokalnie/agent.js --port 7655
3. Czy zapora nie blokuje Node.js? Agent słucha tylko na 127.0.0.1,
   więc reguła dla sieci lokalnej nie jest potrzebna — wystarczy zezwolić
   na połączenia lokalne.
4. Jeżeli aplikacja działa przez HTTPS, a agent przez HTTP, część
   przeglądarek blokuje takie połączenie mimo że adres jest lokalny.
   Wtedy pomaga otwarcie aplikacji przez http:// albo praca bez agenta.


BEZPIECZEŃSTWO
--------------
Agent nasłuchuje wyłącznie na 127.0.0.1, czyli jest widoczny tylko dla
programów na tym komputerze. Nie czyta plików z dysku, nic nie zapisuje
i nie ma dostępu do żadnej bazy — jego jedynym wejściem jest treść
zadania w zapytaniu, a jedynym wyjściem wynik.


SPRAWDZENIE SILNIKA
-------------------
W tej paczce jest komplet testów weryfikacyjnych. Uruchomienie:

node silnik/verify/run.js

Powinno zakończyć się komunikatem „389 testów wobec rozwiązań zamkniętych".


LICZENIE WSADOWE
----------------
Zadanie zapisane w aplikacji przyciskiem „Zapisz zadanie" policzysz też
bez przeglądarki:

node silnik/lokalnie/policz.js zadanie.json --podsumowanie
node silnik/lokalnie/policz.js zadanie.json -o wynik.json


PoSMES 1.6.0 · silnik TOMes® 1.0.0 · Tomasz Walenczak