Pierwsze kroki
Ta strona prowadzi od pustego projektu do pierwszego udanego uruchomienia automatyzacji. Zajmuje kilka minut i nie wymaga jeszcze znajomości pełnego kontraktu skryptu - ten opisujemy osobno.
Nie zaczynasz od pustej kartki
Nowa automatyzacja dostaje gotowy, działający pakiet startowy. Możesz uruchomić ją od razu po utworzeniu i zobaczyć zielony wynik, zanim napiszesz choćby linijkę własnego kodu.
1. Utworzenie automatyzacji
- Wejdź w swój projekt i z lewego menu wybierz Automatyzacje.
- Kliknij Utwórz.
- W oknie Utwórz automatyzację uzupełnij:
- Nazwa automatyzacji - krótka, czytelna nazwa procesu (np. „Import faktur z poczty").
- Tryb automatyzacji - wybierz Skrypt Python.
- Agent wykonujący - wybierz Web.
- Wybierz środowisko - pole opcjonalne; przypisuje automatyzację do środowiska zdefiniowanego w projekcie.
- Zatwierdź przyciskiem Zapisz.
Nowa automatyzacja pojawi się na liście jako wersja robocza, w wersji 0.0.DRAFT.0.
2. Co dostajesz od razu
Wejdź w utworzoną automatyzację. W zakładce Pliki automatyzacji czekają już dwa pliki:
| Plik | Rola |
|---|---|
main.py |
Działający szkielet skryptu. Jest już oznaczony jako punkt wejścia - widać przy nim etykietę PUNKT WEJŚCIA. |
requirements.txt |
Manifest zależności, na start pusty (same komentarze). |
Widok dzieli się na trzy zakładki: Pliki automatyzacji, Dane wejściowe i Zmienne i sekrety. Pod listą plików znajduje się obszar, na który możesz upuścić kolejne pliki, albo dodać je przyciskami Dodaj pliki i Dodaj folder.
Punktu wejścia nie musisz ustawiać
W automatyzacjach tworzonych od zera main.py jest oznaczony automatycznie. Zmiana punktu wejścia przydaje się dopiero wtedy, gdy wgrasz własny plik główny - opisuje to punkt 5.
3. Domyślny main.py
Kliknij menu (⋮) przy pliku main.py i wybierz Edytuj, żeby zobaczyć i zmienić jego zawartość bezpośrednio w przeglądarce.
Plik startowy wygląda tak:
"""Punkt startowy automatyzacji skryptowej uruchamianej przez agenta webowego.
Ten plik jest oznaczony jako entry point - agent uruchamia dokladnie jego. Podmien
zawartosc na wlasna logike, a zaleznosci dopisz do requirements.txt obok.
Artefakty zapisuj do katalogu ./output - agent zbiera go po zakonczeniu przebiegu.
Kod wyjscia: 0 = sukces, 1 = blad.
"""
import sys
from datetime import datetime
from pathlib import Path
def log(message: str) -> None:
print(f"{datetime.now():%Y-%m-%d %H:%M:%S} | {message}", flush=True)
def main() -> int:
artifacts = Path("output")
artifacts.mkdir(parents=True, exist_ok=True)
log("Start automatyzacji")
result_path = artifacts / "result.txt"
result_path.write_text(
f"Skrypt uruchomiony poprawnie o {datetime.now():%Y-%m-%d %H:%M:%S}\n",
encoding="utf-8",
)
log(f"Zapisano wynik: {result_path}")
return 0
if __name__ == "__main__":
try:
sys.exit(main())
except Exception as exc:
log(f"BLAD: {type(exc).__name__}: {exc}")
sys.exit(1)
Warto zauważyć, że szkielet realizuje komplet konwencji, których trzyma się agent:
- Zapisuje wyniki do
output/- tylko to, co trafi do tego katalogu, wróci do panelu jako artefakt uruchomienia. - Wywołuje
main()- plik z samymi definicjami funkcji nic by nie zrobił. - Zwraca kod wyjścia -
0oznacza sukces, cokolwiek innego niepowodzenie. - Wypisuje postęp przez
log()- zflush=True, dzięki czemu linie pojawiają się w dzienniku na bieżąco, a nie dopiero na końcu. - Łapie wyjątek i kończy kodem
1- awaria zostaje opisana w dzienniku, zamiast zniknąć w surowym śladzie stosu.
Podmieniaj treść, zachowaj szkielet
Najprostsza droga do własnego robota to zastąpienie zawartości main() swoją logiką i pozostawienie reszty bez zmian. Obudowa jest tu nie ozdobą, tylko realizacją kontraktu.
4. Domyślny requirements.txt
Manifest zależności również jest gotowy - na start zawiera same komentarze, bo szkielet korzysta wyłącznie z biblioteki standardowej.
# Zaleznosci skryptu instalowane przez agenta webowego przed uruchomieniem.
# Startowy main.py korzysta wylacznie z biblioteki standardowej, wiec lista jest pusta.
# Dopisuj kolejne pakiety w formacie: nazwa==wersja
Kolejne pakiety dopisujesz po jednym w wierszu, z przypiętą wersją:
requests==2.32.3
playwright==1.62.0
Przypinaj wersje
Zapis requests bez wersji zainstaluje najnowsze wydanie z dnia uruchomienia - a to znaczy, że proces działający od pół roku może paść po aktualizacji biblioteki, bez żadnej zmiany z Twojej strony. Zapis requests==2.32.3 zapewnia powtarzalność.
5. Własny plik główny i zmiana punktu wejścia
Nic nie zmusza Cię do pracy na main.py. Możesz wgrać własny plik - albo cały pakiet - i wskazać, który z nich ma być uruchamiany. Uruchamiany jest zawsze dokładnie jeden plik, ten z etykietą PUNKT WEJŚCIA.
- Wgraj swój plik przez Dodaj pliki, Dodaj folder albo przeciągając go na obszar poniżej listy.
- Kliknij menu (⋮) przy nowym pliku
.py. - Wybierz Ustaw jako punkt wejścia.
Etykieta PUNKT WEJŚCIA przeniesie się na wskazany plik. Poprzedni zostaje w pakiecie - nie jest kasowany, przestaje tylko być plikiem startowym. Możesz go usunąć osobno albo zostawić, na przykład jako moduł pomocniczy.
Menu pliku daje przy okazji komplet operacji:
| Pozycja | Działanie |
|---|---|
| Podgląd | Otwiera zawartość pliku bez pobierania go na dysk. |
| Pobierz | Zapisuje plik lokalnie. |
| Edytuj | Pozwala poprawić plik wprost w przeglądarce. |
| Ustaw jako punkt wejścia | Dostępne dla plików .py. |
| Usuń | Trwale usuwa plik z pakietu. |
Plik startowy nie musi leżeć w katalogu głównym - skrypt uruchamiany jest w miejscu, w którym się znajduje, więc jego importy sąsiedzkie działają tak samo jak lokalnie. Więcej o strukturze pakietu znajdziesz na stronie Pakiet robota.
6. Ściągawka w panelu
Nad listą plików znajduje się rozwijana sekcja Jak przygotować skrypt. Zawiera skrót kontraktu agenta: punkt wejścia, zależności, katalogi robocze, szkielet skryptu, obsługę wyniku i zmiennych.
To najszybsze miejsce, żeby sprawdzić szczegół bez opuszczania panelu - na przykład dopuszczalne nazwy manifestu zależności albo zachowanie katalogu output/. Pełny opis znajdziesz na stronie Kontrakt skryptu.
7. Pierwsze uruchomienie
Kliknij Uruchom w prawym górnym rogu. Pojawi się potwierdzenie, a uruchomienie trafi do zakładki W toku w prawym panelu.
Zakładka pokazuje bieżący etap przebiegu wraz z czasem jego trwania - na początku będzie to W kolejce, czyli oczekiwanie na wolne miejsce po stronie operatora.
Czas pierwszego przebiegu zależy głównie od tego, ile zależności trzeba zainstalować. Domyślny pakiet startuje szybko, bo jego manifest jest pusty.
8. Odczytanie wyniku
Po zakończeniu uruchomienie przenosi się do zakładki Zakończone. Rozwiń jego wiersz, żeby zobaczyć szczegóły.
Rozwinięcie dzieli się na dwie listy:
| Sekcja | Zawartość |
|---|---|
| Pliki wejściowe | Pliki podane dla tego uruchomienia. Przy pierwszym przebiegu będzie tu Brak plików wejściowych. |
| Pliki wykonania | Wszystko, co przebieg po sobie zostawił, wraz z rozmiarem. |
Po uruchomieniu domyślnego pakietu w Plikach wykonania znajdziesz dwie pozycje:
result.txt- artefakt zapisany przez szkielet do kataloguoutput/.run.log- dziennik przebiegu, czyli wszystko, co skrypt wypisał na wyjście. Powinny być w nim linieStart automatyzacjiorazZapisano wynik: output/result.txt.
Każdy plik ma własne menu (⋮) z opcją pobrania.
Jeśli obie pozycje są na miejscu, a status uruchomienia jest zielony - cała ścieżka działa i możesz zabrać się za właściwy proces.
9. Co dalej
| Chcę… | Zajrzyj do |
|---|---|
| zrozumieć zasady, których trzyma się agent | Kontrakt skryptu |
| wgrać własny pakiet i zmienić punkt wejścia | Pakiet robota |
| dołożyć biblioteki zewnętrzne | Pakiet robota → Zależności |
| przekazać adresy, parametry i hasła | Zmienne i sekrety |
| podać pliki wsadowe dla konkretnego wywołania | Dane wejściowe automatyzacji |
| zatwierdzić wersję produkcyjną | Zarządzanie automatyzacjami |
| uruchamiać cyklicznie albo z CI/CD | Uruchamianie i monitorowanie |







