Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
libretto — Il toolkit AI per costruire automazioni di browser affidabili | Kitploit
Strumenti/GitHubGitHub/saffron-health/libretto
RicognizioneAnalisi Dinamica (Sandboxing)Scripting e AutomazioneTest di Sicurezza delle APISicurezza WebCrawler
GitHubsaffron-health/libretto

libretto

Il toolkit AI per costruire automazioni di browser affidabili

Vedi Repository
86566312 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web
<!-- Generated from packages/libretto/README.template.md by `pnpm sync:mirrors`. Do not edit directly. -->

<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/13487/c91ba69059e621bffedef091443b5bebcc6f4115390931ce2bc0f760dd84f045.png" alt="Libretto" />
</p>

# Libretto

[![npm version](https://img.shields.io/npm/v/libretto)](https://www.npmjs.com/package/libretto)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
[![GitHub Discussions](https://img.shields.io/github/discussions/saffron-health/libretto)](https://github.com/saffron-health/libretto/discussions)
[![Discord](https://img.shields.io/badge/Discord-Join%20chat-5865F2?logo=discord&logoColor=white)](https://discord.gg/NYrG56hVDt)

Libretto è un toolkit per costruire integrazioni web robuste. Fornisce al tuo agente di codifica un browser live e una CLI efficiente in termini di token per:

- Ispezionare pagine live con un overhead di contesto minimo
- Catturare il traffico di rete per fare reverse engineering delle API del sito
- Registrare le azioni dell'utente e riprodurle come script di automazione
- Fare debug di flussi di lavoro interrotti interagendo con il sito reale

Noi di [Saffron Health](https://saffron.health) abbiamo creato Libretto per aiutarci a mantenere le nostre integrazioni browser con i software sanitari comuni. Lo rendiamo open-source in modo che altri team possano fare lo stesso più facilmente.

https://github.com/user-attachments/assets/9b9a0ab3-5133-4b20-b3be-459943349d18

### Collegamenti rapidi

- Sito web: [libretto.sh](https://libretto.sh)
- Documentazione: [libretto.sh/docs](https://libretto.sh/docs)
- Repository: [github.com/saffron-health/libretto](https://github.com/saffron-health/libretto)
- Discord: [discord.gg/NYrG56hVDt](https://discord.gg/NYrG56hVDt)

## Installazione

```bash
# Aggiungi Libretto al tuo progetto. Richiede Node.js e npm.
npm install libretto

# Configurazione iniziale: installa le skill e scarica Chromium
npx libretto setup

# Verifica lo stato del workspace in qualsiasi momento
npx libretto status
```

`setup` crea la directory `.libretto/`, installa le skill dell'agente e scarica Chromium a meno che non si passi `--skip-browsers`.

## Casi d'uso

Libretto è progettato per essere utilizzato come skill tramite il tuo agente di codifica. Ecco alcuni esempi di prompt:

### Generazione di script monouso

> Usa la skill Libretto. Vai su LinkedIn e recupera i primi 10 post per contenuto, autore, numero di reazioni, i primi 25 commenti e le prime 25 condivisioni.

Il tuo agente di codifica aprirà una finestra per farti accedere a LinkedIn, e poi inizierà automaticamente a esplorare.

### Costruzione interattiva di script

> Ti mostrerò un flusso di lavoro nell'EHR eClinicalWorks per ottenere l'ID assicurativo principale di un paziente. Usa la skill Libretto per trasformarlo in uno script Playwright che prende nome e data di nascita del paziente come input per restituire l'ID assicurativo. L'URL è ...

Libretto può leggere le azioni che esegui nel browser, quindi puoi eseguire un flusso di lavoro e poi chiedergli di ricostruire il flusso usando le tue azioni.

### Convertire automazione browser in richieste di rete

> Abbiamo uno script browser in ./integration.ts che automatizza l'accesso a Hacker News e il recupero dei primi 10 post. Convertilo in script di rete diretti. Usa la skill Libretto.

Libretto può leggere le richieste di rete dal browser, che può usare per fare reverse engineering dell'API e creare uno script che chiama direttamente quelle richieste. Effettuare chiamate API direttamente è più veloce e più affidabile dell'automazione dell'interfaccia utente. Puoi anche chiedere a Libretto di condurre un'analisi di sicurezza che esamina le richieste per individuare cookie di sicurezza comuni, in modo da capire se un approccio tramite richieste di rete sarà sicuro.

### Riparare integrazioni danneggiate

> Abbiamo uno script browser in ./integration.ts che dovrebbe andare su Availity ed eseguire un controllo di eleggibilità per un paziente. Ma quando lo eseguo ottengo un errore di selettore rotto. Riparalo. Usa la skill Libretto.

Gli agenti possono utilizzare Libretto per riprodurre il fallimento, mettere in pausa il flusso di lavoro in qualsiasi punto, ispezionare la pagina live e correggere i problemi, tutto in modo autonomo.

### Utilizzo da riga di comando

Puoi anche usare Libretto direttamente dalla riga di comando. Tutti i comandi accettano `--session <nome>` per puntare a una sessione specifica.

```bash
npx libretto open <url>                    # avvia il browser e apre un URL
npx libretto run ./integration.ts --headless # esegue un flusso di lavoro e chiude al successo
npx libretto run ./integration.ts --headless --stay-open-on-success # mantiene aperta un'esecuzione riuscita per ispezione
npx libretto snapshot --session <nome>     # cattura uno screenshot e un albero di accessibilità compatto
npx libretto exec "<codice>"               # esegue Playwright TypeScript contro la pagina aperta
npx libretto close                         # chiude il browser
```

Le sessioni `run` sono ispezionabili tramite gli stessi comandi basati su demone delle sessioni `open`. Le esecuzioni riuscite chiudono il browser per impostazione predefinita; passa `--stay-open-on-success` per mantenere il browser aperto per `pages`, `snapshot` e `exec`. I flussi di lavoro falliti o messi in pausa mantengono il browser aperto in modo da poter ispezionare lo stato esatto della pagina prima di correggere o riprendere il flusso.

Esegui `npx libretto help` per l'elenco completo dei comandi.

## Configurazione

Tutti gli stati di Libretto risiedono in una directory `.libretto/` nella radice del progetto. Consulta la [documentazione di configurazione](https://libretto.sh/docs/understand-libretto/configuration) per i dettagli su file di configurazione, sessioni e profili.

## Telemetria

Libretto registra la telemetria CLI per capire l'utilizzo della CLI e aiutarci a prioritizzare i miglioramenti. Ogni comando risolto può inviare solo un ID di installazione, timestamp, nome dell'evento del comando (ad es. `libretto run`), booleano di errore, versione del pacchetto, canale di build (`node_modules`, `source` o `unknown`) e, quando si è connessi a Libretto Cloud, l'ID utente cloud configurato. Libretto non invia argomenti dei comandi, URL, percorsi di progetto, cookie di sessione, chiavi API, messaggi di errore o dettagli, o email.

L'ID di installazione è memorizzato nel file di telemetria in `~/.libretto/telemetry.json`. L'implementazione risiede in [`packages/libretto/src/cli/core/telemetry.ts`](https://github.com/saffron-health/libretto/blob/main/packages/libretto/src/cli/core/telemetry.ts).

Per disabilitare la telemetria, imposta `LIBRETTO_TELEMETRY_DISABLED=1`, imposta `DO_NOT_TRACK=1`, esegui con `CI=1`, o modifica `~/.libretto/telemetry.json` e imposta `"enabled": false`.

## Unisciti alla community

Unisciti al nostro Discord per entrare in contatto con altri sviluppatori, ottenere aiuto e condividere ciò che hai costruito:

[![Discord](https://img.shields.io/badge/Discord-Join%20chat-5865F2?logo=discord&logoColor=white)](https://discord.gg/NYrG56hVDt)

Per discussioni più lunghe, vai su [GitHub Discussions](https://github.com/saffron-health/libretto/discussions). Hai trovato un bug? [Apri una segnalazione](https://github.com/saffron-health/libretto/issues/new).

## Licenza

[Licenza MIT](https://github.com/saffron-health/libretto/blob/main/LICENSE) — utilizzala liberamente in progetti commerciali e open-source.

## Sviluppo

Per lo sviluppo locale in questo repository:

```bash
pnpm i
pnpm build
pnpm type-check
pnpm test
```

Struttura del sorgente:

- `packages/libretto/src/cli/` — comandi CLI
- `packages/libretto/src/runtime/` — runtime del browser (rete, ripristino, download)
- `packages/libretto/src/shared/` — utilità condivise (configurazione, client LLM, logging, stato)
- `packages/libretto/test/` — file di test (`*.spec.ts`)
- `packages/libretto/README.template.md` — sorgente di verità per i README del repository e dei pacchetti
- `packages/libretto/skills/libretto/` — sorgente di verità per la skill Libretto

Esegui `pnpm sync:mirrors` dopo aver modificato `packages/libretto/README.template.md` o qualsiasi cosa in `packages/libretto/skills/libretto/`.

Per verificare che i README generati, i mirror delle skill e i metadati delle versioni delle skill siano sincronizzati senza correggerli, esegui `pnpm check:mirrors`. Per rilasciare, esegui `pnpm prepare-release`.

---

> [!NOTE]
> Questo è un progetto in fase iniziale in fase di sviluppo attivo. Le API potrebbero cambiare prima della versione 1.0. Raccomandiamo di fissare versioni specifiche in produzione.

Costruito dal team di [Saffron Health](https://saffron.health).
Scarica lo strumento