Źródło zdjęcia: GitHub
Zespół Saffron Health opublikował w serwisie GitHub nowe narzędzie o nazwie Libretto, które ma na celu uczynienie automatyzacji przeglądarek przez sztuczną inteligencję bardziej deterministyczną i niezawodną. Rozwiązanie zostało udostępnione jako projekt open source, aby ułatwić innym zespołom tworzenie solidnych integracji webowych.
Libretto to zestaw narzędzi do budowania robustnych integracji webowych, który zapewnia agentom kodowym dostęp do żywej przeglądarki oraz wydajny interfejs wiersza poleceń. Narzędzie umożliwia inspekcję stron w czasie rzeczywistym z minimalnym narzutem kontekstowym, przechwytywanie ruchu sieciowego w celu reverse-engineeringu API stron, nagrywanie działań użytkownika i odtwarzanie ich jako skryptów automatyzacji oraz debugowanie niedziałających przepływów pracy w interakcji z rzeczywistą stroną.
Firma Saffron Health stworzyła Libretto, aby pomóc sobie w utrzymaniu integracji przeglądarek z powszechnym oprogramowaniem medycznym. Decyzja o udostępnieniu kodu jako open source ma na celu ułatwienie podobnych zadań innym zespołom.
Proces instalacji rozpoczyna się od standardowego polecenia npm:
npm install libretto
Pierwsza konfiguracja wymaga uruchomienia:
npx libretto setup
Polecenie to automatycznie instaluje niezbędne komponenty, pobiera Chromium i przypina domyślny model migawek. System setup wykrywa dostępne dane uwierzytelniające dostawców (np. OPENAI_API_KEY) i automatycznie przypisuje domyślny model do .libretto/config.json.
Stan gotowości workspace'u można sprawdzić w dowolnym momencie poleceniem npx libretto status. W przypadku ręcznej zmiany modelu analizy migawek służy polecenie npx libretto ai configure.
Libretto zostało zaprojektowane do użytku jako umiejętność przez agentów kodowych. Narzędzie obsługuje kilka kluczowych scenariuszy:
Generowanie jednorazowych skryptów - Agent może otrzymać polecenie typu: "Użyj umiejętności Libretto. Wejdź na LinkedIn i zeskrobaj pierwsze 10 postów dla treści, kto je opublikował, liczbę reakcji, pierwsze 25 komentarzy i pierwsze 25 udostępnień." System automatycznie otworzy okno do logowania i rozpocznie eksplorację.
Interaktywne budowanie skryptów - Libretto może odczytywać działania wykonywane przez użytkownika w przeglądarce, co pozwala na demonstrację przepływu pracy, a następnie automatyczne przekształcenie go w skrypt Playwright.

AI Mode w Chrome pozwala otwierać strony obok wyników wyszukiwania i włączać treści z kart do zapytań. Dostępne już w USA, wkrótce globalnie.

Google udostępnił nową funkcję AI Mode, która pozwala otwierać strony internetowe obok konwersacyjnego wyszukiwania AI w przeglądarce Chrome.
Konwersja automatyzacji przeglądarki na żądania sieciowe - Narzędzie może analizować żądania sieciowe z przeglądarki i tworzyć skrypty, które bezpośrednio wywołują te żądania. Bezpośrednie wywołania API są szybsze i bardziej niezawodne niż automatyzacja interfejsu użytkownika.
Naprawianie zepsutych integracji - Agenci mogą używać Libretto do odtworzenia błędów, zatrzymywania przepływu pracy w dowolnym punkcie, inspekcji żywej strony i naprawiania problemów w sposób autonomiczny.
Libretto oferuje bogaty zestaw poleceń CLI. Wszystkie polecenia akceptują parametr --session <name> do celowania w określoną sesję. Kluczowe polecenia obejmują:
npx libretto open <url> - uruchamia przeglądarkę i otwiera URLnpx libretto snapshot --objective "..." --context "..." - przechwytuje PNG + HTML i analizuje za pomocą LLMnpx libretto exec "<code>" - wykonuje TypeScript Playwright względem otwartej stronynpx libretto run <file> - uruchamia domyślnie eksportowany przepływ pracy z plikunpx libretto save <domain> - zapisuje sesję przeglądarki dla ponownego użyciaCały stan Libretto znajduje się w katalogu .libretto/ w katalogu głównym projektu. Konfiguracja przechowywana jest w .libretto/config.json i kontroluje analizę migawek oraz ustawienia viewportu.
Pole ai w konfiguracji określa, który model Libretto używa do analizy migawek - wyodrębniania selektorów, identyfikacji elementów interaktywnych czy diagnozowania przyczyn niepowodzeń kroków. To rozwiązanie utrzymuje ciężki kontekst wizualny poza oknem kontekstowym agenta kodowego.
Każda sesja Libretto otrzymuje własny katalog pod .libretto/sessions/<name>/ zawierający stan runtime'u. Sesje są ignorowane przez git, co zapewnia, że dane przeglądarki nie trafiają do repozytorium kodu.
System obsługuje dane uwierzytelniające dostawców odczytywane ze zmiennych środowiskowych lub pliku .env: OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY/GOOGLE_GENERATIVE_AI_API_KEY, lub GOOGLE_CLOUD_PROJECT dla Vertex AI.
Libretto reprezentuje znaczący krok w kierunku uczynienia automatyzacji przeglądarek przez AI bardziej niezawodną i deterministyczną, co może mieć szczególne znaczenie dla zespołów pracujących z kompleksowymi integracjami webowymi w sektorach wymagających wysokiej precyzji, takich jak opieka zdrowotna.