Pannelli browser
Apri siti accanto al terminale, naviga con controlli nativi e mantieni i link nel progetto.
Zshell può inserire un browser integrato in qualsiasi scheda o pannello diviso. È utile per un server di sviluppo locale, la documentazione di un'API, una issue o qualsiasi contenuto da tenere accanto al terminale che lo usa.
Aprire un browser
- Scegli File → Nuova scheda browser per una scheda vuota.
- Apri la palette dei comandi (Cmd+P) ed esegui Nuova scheda browser o Nuovo pannello browser.
- Fai clic destro con Command su un URL rilevato nel terminale e scegli Nuova scheda browser o Nuovo pannello browser per aprirlo senza copiarlo.
Le schede browser appartengono al progetto selezionato e partecipano alla normale disposizione di schede e pannelli. Se non è aperto alcun progetto, Zshell ne crea uno per il browser.
Indirizzo e ricerca
Il campo superiore accetta URL completi, nomi host o termini di ricerca:
zshell.shdiventa un indirizzo HTTPS.localhost, nomi host locali, indirizzi IP e porte esplicite usano HTTP.- Tutto il resto diventa una ricerca Google.
Usa Cmd+L per attivare il campo e Cmd+R per ricaricare. La barra offre anche Indietro, Avanti, Interrompi/Ricarica, Condividi e Apri nel browser predefinito. Funzionano anche i gesti avanti e indietro del trackpad.
| Azione | Scorciatoia |
|---|---|
| Attivare la barra degli indirizzi | Cmd+L |
| Ricaricare la pagina | Cmd+R |
Aprire i link dove preferisci
Fai clic destro su un link nella pagina per Apri link in nuova scheda o Apri link in nuovo pannello. La pagina rimane nello stesso spazio di lavoro del progetto.
Nel terminale, un normale Command-clic apre l'URL rilevato nel browser predefinito. Command-clic destro offre invece una scheda o un pannello Zshell. I percorsi locali seguono un flusso analogo descritto in Percorsi e URL.
Cosa viene conservato
Passare tra schede o progetti conserva la pagina, inclusi cronologia, posizione di scorrimento, moduli e stato interno. Al riavvio, Zshell ripristina URL corrente e disposizione, ma non tutta la cronologia avanti/indietro.
I pannelli browser conservano cookie, accessi e altri dati dei siti tra schede e avvii. Non si tratta di navigazione privata.
Far testare la pagina a un agente
Chiedi al tuo agente di programmazione di controllare la pagina già aperta in questo progetto, compilare un modulo, verificare un risultato o acquisire l’area visibile. Riutilizza la sessione del browser e mantiene il focus nel terminale per impostazione predefinita. Può anche aprire un URL di sviluppo in un pannello in background.
Negli script, esegui questi comandi da un terminale Zshell. Annota il browser_id restituito e sostituisci BROWSER_ID qui sotto:
zshell +browser list
zshell +browser open http://localhost:3000 --wait
zshell +browser snapshot --browser BROWSER_ID
zshell +browser fill --browser BROWSER_ID --selector '#search' --text 'terminal'
zshell +browser click --browser BROWSER_ID --selector 'button[type="submit"]'
zshell +browser wait --browser BROWSER_ID --selector '#results' --timeout 10000
zshell +browser screenshot --browser BROWSER_ID --output /tmp/zshell-page.pngLe istantanee restituiscono testo del frame principale, etichette accessibili e riferimenti agli elementi. I riferimenti scadono dopo modifiche o azioni: acquisisci una nuova istantanea prima di riutilizzarli. Un selettore CSS deve corrispondere a un solo elemento. Usa navigate, back, forward, reload e stop per navigare.
L’automazione accetta URL HTTP/HTTPS completi e about:blank. Altri protocolli, download, selettori di file e finestre native richiedono il tuo intervento. Il limite termina dopo una navigazione manuale dalla barra degli indirizzi o degli strumenti. I comandi restano nel progetto e nella finestra del terminale chiamante. --timeout accetta 100–30000 millisecondi. Le istantanee hanno un massimo di 200 elementi, 32768 caratteri e 256 KiB, senza valori di password o file. Le catture PNG dell’area visibile hanno un massimo di 512 KiB, funzionano anche prima di mostrare il pannello, con un viewport di 1024 × 768 senza cambiare il focus e non sovrascrivono file. Riduci --width se necessario. Vedi zshell +browser --help.
Script della pagina e accessi salvati
zshell +browser eval --browser BROWSER_ID --script 'Promise.resolve({title: document.title})'
zshell +browser state save --browser BROWSER_ID --output /tmp/zshell-login.json
zshell +browser state load --browser BROWSER_ID --input /tmp/zshell-login.json
zshell +browser reload --browser BROWSER_ID --waiteval --script viene eseguito nella pagina principale reale, attende una Promise restituita e fornisce JSON in value; undefined diventa null. Usa un’espressione di funzione asincrona per await. Limiti: 64 KiB in ingresso; 256 KiB, 10000 valori e 64 livelli in uscita. I riferimenti DOM scadono dopo l’esecuzione. Il timeout termina l’attesa, senza annullare lo script. Controlla la pagina prima di ripetere modifiche; un ciclo sincrono infinito può richiedere di chiuderla. Le singole espressioni, incluse le IIFE, vengono inserite come Script globali nativi. Le stringhe con più istruzioni rispettano la CSP della pagina; se la valutazione è bloccata, racchiudi le istruzioni in una IIFE.
state save salva i cookie applicabili all’host di destinazione (inclusi dominio padre e HttpOnly) e il localStorage dell’origine corrente nel JSON storage-state di Playwright. state load unisce i cookie e sostituisce quel localStorage; poi ricarica. Schema, host e porta devono corrispondere esattamente. Domini estranei, suffissi pubblici, campi non supportati e tipi non validi vengono rifiutati prima delle modifiche. I cookie Secure richiedono HTTPS.
Usa --format cookies in entrambi i comandi per Netscape cookies.txt, senza localStorage e SameSite. I file sono limitati a 256 KiB e contengono credenziali: tienili privati e fuori da Git. L’importazione richiede un file normale accessibile solo al proprietario (ad esempio 0600) e rifiuta i collegamenti simbolici. L’esportazione crea un file privato senza sovrascrivere percorsi esistenti. I dati WebKit restano condivisi tra pannelli, con gli stessi limiti di progetto, finestra e navigazione.
Pubblicità e tracker
Impostazioni → Browser attiva per impostazione predefinita il blocco WebKit con EasyList e EasyPrivacy. Disattiva le liste singolarmente o aggiungi un URL ABP HTTP/HTTPS per riga e scegli Applica liste. Massimo 8 liste da 8 MiB ciascuna. HTTP non è cifrato.
Le regole valgono per le richieste future di tutti i pannelli. Ricarica le pagine dopo le modifiche. Aggiorna liste ora forza l’aggiornamento. Le liste sono in cache; aprendo il browser dopo un riavvio vengono controllate quelle più vecchie di quattro giorni. Le impostazioni mostrano filtri convertiti/ignorati, errori e uso della cache. Un cambio fallito non riutilizza in silenzio altre liste deselezionate.
Supporta caratteri jolly e ancore URL, tipi comuni, eccezioni @@, domini semplici e CSS ##/#@#. I domini si riferiscono alla pagina principale; la classificazione delle parti segue WebKit. Scriptlet, filtri procedurali, reindirizzamenti, espressioni regolari, autorizzazioni di pagina intera ed esclusioni di sottodomini di un dominio incluso vengono ignorati. Compatibilità uBlock Origin parziale.