Sandbox#

Każdy kod napisany w edytorze webowym lub przez agenta AI przechodzi najpierw przez sandbox — izolowane środowisko testowe. Dzięki temu żaden nowy kod nie trafia do produkcji bez wcześniejszego sprawdzenia.

Co to jest sandbox?#

Sandbox to oddzielne środowisko, które symuluje działanie systemu, ale nie wpływa na prawdziwe urządzenia. W sandboxie:

  • Żadne światło się nie włączy
  • Żadna roleta się nie ruszy
  • Żadna wiadomość MQTT nie zostanie wysłana
  • Żadne GPIO nie zostanie zmienione

Możesz bezpiecznie testować dowolny kod, nie ryzykując zmian w działającym systemie.

Pipeline: od pomysłu do produkcji#

Każda zmiana kodu przechodzi przez cztery etapy:

Napisz kod → Zwaliduj → Przetestuj w sandboxie → Wgraj do produkcji

1. Napisz kod#

Tworzysz lub edytujesz plik w katalogu modules/. Możesz to zrobić w edytorze webowym lub poprosić agenta AI.

2. Zwaliduj#

System sprawdza:

  • Czy kod nie ma błędów składni (np. brakujący end)
  • Czy nie używa zablokowanych funkcji (np. dostęp do systemu plików)
  • Czy plik jest w dozwolonym katalogu

3. Przetestuj w sandboxie#

Kod uruchamiany jest w izolowanym środowisku. Wyniki testu pokazują, co mogłoby się wydarzyć:

KategoriaCo zobaczysz
Zmiany stanuJakie urządzenia zmieniłyby wartość
Zablokowane wywołaniaJakie funkcje zostały zablokowane
ZdarzeniaJakie eventy zostały wyemitowane
LogiCo zostało wypisane w logach

Możesz też symulować zdarzenia — np. sprawdzić, jak kod zareaguje na zmianę stanu czujnika.

4. Wgraj do produkcji (promote)#

Po udanych testach kod jest promowany do produkcji:

  • System tworzy automatyczny backup obecnej wersji pliku
  • Nowy kod zastępuje stary
  • Runtime Lua jest przeładowany

Jeśli coś pójdzie nie tak, poprzednia wersja pliku jest zachowana w kopii zapasowej.

Agent AI i sandbox#

Agent AI używa pipeline sandbox automatycznie. Oznacza to, że:

  • Nigdy nie wgrywa kodu bez wcześniejszego przetestowania
  • Każda zmiana przechodzi przez walidację i test w sandboxie
  • Jeśli test wykaże błędy, agent poprawia kod i testuje ponownie

Agent AI używa sandbox pipeline automatycznie — nigdy nie wgrywa kodu bez testów. Możesz spokojnie zlecać mu pisanie automatyzacji.

Co się dzieje, gdy coś się zepsuje?#

  • Błąd w walidacji — kod nie zostanie nawet uruchomiony w sandboxie. Dostaniesz komunikat o błędzie.
  • Błąd w sandboxie — kod nie przejdzie do produkcji. Zobaczysz, co poszło nie tak.
  • Błąd po wgraniu — poprzednia wersja pliku jest dostępna w backupie. Możesz ją przywrócić.

Podsumowanie#

CechaOpis
IzolacjaSandbox nie wpływa na prawdziwe urządzenia
Automatyczny backupPrzed każdą zmianą tworzona jest kopia zapasowa
Obowiązkowe testyKod musi przejść walidację i test przed wgraniem
Agent AIAutomatycznie korzysta z pełnego pipeline
PrzywracaniePoprzednia wersja jest zawsze dostępna