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 produkcji1. 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ć:
| Kategoria | Co zobaczysz |
|---|---|
| Zmiany stanu | Jakie urządzenia zmieniłyby wartość |
| Zablokowane wywołania | Jakie funkcje zostały zablokowane |
| Zdarzenia | Jakie eventy zostały wyemitowane |
| Logi | Co 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#
| Cecha | Opis |
|---|---|
| Izolacja | Sandbox nie wpływa na prawdziwe urządzenia |
| Automatyczny backup | Przed każdą zmianą tworzona jest kopia zapasowa |
| Obowiązkowe testy | Kod musi przejść walidację i test przed wgraniem |
| Agent AI | Automatycznie korzysta z pełnego pipeline |
| Przywracanie | Poprzednia wersja jest zawsze dostępna |