/** * Italian copy for the sidebar. Key-set-equal to `zh` in `locales.ts`; * consumed by the better-locale override store (see `locales.ts` for the * zh/en/ja lookup chain and the `attachBetterLocale` contract). * * @module dsh-better-sidebar/client/locales-it */ export const it: Record = { files: 'File', explorer: 'Esplora risorse', git: 'Controllo del codice sorgente', terminal: 'Terminale', editor: 'Editor', editorExplorer: 'Modalità di apertura dei file', editorExplorerDesc: 'Controlla come si aprono i file', editorExplorerMerged: 'Unito', editorExplorerMergedDesc: 'I file cambiano sul posto nella stessa finestra; le nuove finestre avviano l’albero espanso', editorExplorerSplit: 'Separato', editorExplorerSplitDesc: 'Le finestre senza percorso sono l’esplora risorse autonomo (solo albero dei file); ogni file apre la propria finestra (albero agganciato, chiuso per impostazione predefinita)', editorTreeToggle: 'Pannello dell’albero dei file', editorPathPlaceholder: 'Percorso del file (relativo alla directory della sessione o assoluto), Invio per aprire', editorSearchPlaceholder: 'Cerca file per nome…', editorSearchNoResults: 'Nessun file corrispondente', editorSearchTruncated: 'Troppi risultati — viene mostrato un elenco parziale', editorEmptyHint: 'Scelga un file dal pannello dell’albero a destra o dal campo del percorso in alto per iniziare l’anteprima', openFileNewTab: 'Apri in una nuova scheda', openFileSide: 'Apri a lato', openWithMenu: 'Apri con', openWithSshSuffix: ' (SSH)', pinOpenWith: 'Fissa al menu', unpinOpenWith: 'Rimuovi dal fisso', openWithExplorer: 'Esplora risorse', openWithVscode: 'VS Code', openWithCursor: 'Cursor', openWithZed: 'Zed', openWithSettingsSshTitle: 'Host remoto SSH', openWithSettingsSshDesc: 'Vuoto = spazio di lavoro locale; con un user@host o un alias SSH, gli apritori della famiglia VSCode passano al protocollo vscode-remote/ssh-remote e l’Esplora risorse / Zed / gli editor personalizzati non VSCode vengono nascosti dal menu', openWithSettingsSshPlaceholder: 'user@host o alias SSH', openWithSettingsCustomTitle: 'Editor personalizzati', openWithSettingsCustomDesc: 'Nome + modello URL (segnaposto {path}) + flag famiglia VSCode; in modalità remota solo gli editor della famiglia VSCode possono aprire un percorso remoto', openWithSettingsAdd: 'Aggiungi', openWithSettingsName: 'Nome', openWithSettingsTemplate: 'es. cursor://file/{path}', openWithSettingsFamily: 'Famiglia VSCode', openWithSettingsFamilyDesc: 'Questo editor usa il protocollo URL di VSCode (supporta aperture SSH remote)', openWithSettingsRemove: 'Rimuovi', openWithSettingsInvalidHint: 'Gli editor con nome mancante o modello senza {path} / scheme:// non vengono mostrati nel menu', newTab: 'Nuova scheda', openExplorer: 'Esplora risorse', brokenSymlink: 'Collegamento simbolico interrotto', openGit: 'Pannello Git', newTerminal: 'Nuovo terminale', terminalLimit: 'Numero massimo di terminali raggiunto (3)', close: 'Chiudi', closeOtherTabs: 'Chiudi le altre schede', closeLeftTabs: 'Chiudi le schede a sinistra', closeRightTabs: 'Chiudi le schede a destra', moveToFreeWindow: 'Sposta in finestra libera', floatDropHint: 'Rilascia per aprire in una finestra libera', dockToSidebar: 'Torna alla barra laterale', collapse: 'Comprimi barra laterale', expand: 'Espandi barra laterale', collapseBottomPanel: 'Comprimi pannello inferiore', expandBottomPanel: 'Espandi pannello inferiore', terminalError: 'Connessione del terminale non riuscita', terminalConnectFailed: 'Il terminale non è riuscito a connettersi più volte', terminalRetry: 'Riprova', terminalDepsFailed: 'Caricamento della dipendenza del terminale node-pty non riuscito', terminalDepsHint: 'Esegua il comando seguente in un terminale o cmd sul computer DSH per ripristinarlo, poi riprovi (node-pty resta sincronizzato con la versione del core DSH):', terminalDepsProfile: ' (rilevato profilo: {profile})', preview: 'Anteprima', edit: 'Modifica', mermaidError: 'Rendering Mermaid non riuscito', mermaidZoomIn: 'Ingrandisci', mermaidZoomOut: 'Riduci', mermaidZoomReset: 'Ripristina', mermaidZoomHint: 'Scorra per zoom · trascini per panoramica · Esc per chiudere', refresh: 'Aggiorna', save: 'Salva', saved: 'Salvato', unsaved: 'Non salvato', saveFailed: 'Salvataggio non riuscito', truncation: 'File troppo grande — vengono mostrati i primi 512KB', binary: 'File binario, anteprima non disponibile', loading: 'Caricamento…', error: 'Caricamento non riuscito', retry: 'Riprova', splitLeft: 'Dividi a sinistra', splitRight: 'Dividi a destra', splitUp: 'Dividi in alto', splitDown: 'Dividi in basso', notRepo: 'Questa directory non è un repository git', noChanges: 'Nessuna modifica', stage: 'Prepara', unstage: 'Rimuovi dalla preparazione', stageAll: 'Prepara tutto', unstageAll: 'Rimuovi tutto dalla preparazione', commitPlaceholder: 'Messaggio di commit (Ctrl+Enter)', commit: 'Commit', commitError: 'Commit non riuscito', branch: 'Ramo', worktree: 'Albero di lavoro', checkoutError: 'Cambio di ramo non riuscito', history: 'Cronologia', changes: 'Modifiche', staged: 'In stage', unstaged: 'Non in stage', cancel: 'Annulla', diffEmpty: 'Nessuna modifica testuale', diffLoadError: 'Caricamento del diff non riuscito', diffBinary: 'Binario', diffAdded: 'Aggiunto', diffDeleted: 'Eliminato', diffRenamed: 'Rinominato', diffExpand: 'Espandi altre {count} righe', diffCollapse: 'Comprimi', discard: 'Annulla modifiche', discardTitle: 'Annulla modifiche', discardDesc: 'Questo annulla le modifiche della copia di lavoro di «{path}» (non recuperabile).', viewCommitDiff: 'Vedi il diff del commit', copyShortHash: 'Copia hash breve', copyFullHash: 'Copia hash completo', copySubject: 'Copia messaggio di commit', revertCommit: 'Ripristina questo commit', revertTitle: 'Ripristina questo commit', revertDesc: 'Crea un nuovo commit sul ramo attuale che inverte «{subject}».', cherryPickCommit: 'Cherry-pick di questo commit', cherryPickTitle: 'Cherry-pick di questo commit', cherryPickDesc: 'Applica le modifiche di «{subject}» al ramo attuale.', timeJustNow: 'adesso', timeMinutesAgo: '{n} min fa', timeHoursAgo: '{n} h fa', timeYesterday: 'ieri', loadMore: 'Carica altro', historyLoadError: 'Caricamento di altra cronologia non riuscito', produced: 'Prodotti', producedOpen: 'Apri nella barra laterale', disconnected: 'Terminale disconnesso, riconnessione…', exited: 'Il processo del terminale è terminato', noSession: 'Selezioni una conversazione per usare la barra laterale', pluginNotLoaded: 'Plugin non caricato; scheda non disponibile:', hiddenFiles: 'File nascosti', parent: 'Directory superiore', copied: 'Copiato', copy: 'Copia', newFile: 'Nuovo file', openEditor: 'Apri editor', gitDetail: 'Vedi i dettagli delle modifiche', referenceFile: '@file', addToConversation: 'Aggiungi alla conversazione', copyRelative: 'Copia percorso relativo', copyAbsolute: 'Copia percorso assoluto', download: 'Scarica', uploadFiles: 'Carica file', uploadFolder: 'Carica cartella', uploadHere: 'Carica qui', uploadDropHint: 'Trascini file/cartelle qui per caricarli', uploadDropChat: 'Trascini sulla chat per aggiungere immagini alla conversazione', uploadTo: 'Carica in {dir}', uploadingTo: 'Caricamento in {dir}…', uploadProgress: 'Caricamento {done}/{total}: {name}', uploadDone: 'Caricati {count} file', uploadFailed: 'Caricamento non riuscito: {error}', uploadFailedUnknown: 'Errore sconosciuto', uploadTooLarge: 'File troppo grande (oltre il limite di caricamento)', uploadCancelled: 'Caricamento annullato', settingsNav: 'Scheda laterale', settingsIntro: 'Gestisca cosa mostra la scheda laterale e come si comporta', settingsPopupDesc: 'Configuri le opzioni relative a {feature}', settingsDone: 'Fatto', settingsOpenTitle: 'Apri per impostazione predefinita per le nuove conversazioni', settingsOpenDesc: 'Espande automaticamente la scheda laterale per le conversazioni nuove; le conversazioni esistenti mantengono il proprio layout', settingsWidthTitle: 'Quota di larghezza predefinita', settingsWidthDesc: 'La quota predefinita della scheda laterale sulla larghezza della finestra per le nuove conversazioni (20–60)', settingsWidthSuffix: '%', settingsOpenPathTitle: 'Apri i file della chat nella barra laterale', settingsOpenPathDesc: 'Apre i collegamenti ai file nella chat (righe di strumenti, file prodotti, menzioni) nell’editor della barra laterale invece dell’app predefinita di sistema', settingsTitleBarTitle: 'Modalità di compatibilità della posizione', settingsTitleBarDesc: 'Scelga lo schema di compatibilità della barra del titolo: rilevamento automatico (predefinito, prudente) / DSH Web ufficiale / shell desktop note / personalizzato (distanza di scorrimento + CSS personalizzato)', settingsTitleBarStripTitle: 'Distanza di scorrimento', settingsTitleBarStripDesc: 'Altezza della striscia della barra del titolo: di quanti pixel scendono i pulsanti e i contenuti della barra laterale (0–120, predefinito 40; si applica con lo schema personalizzato)', settingsSchemeAutoTitle: 'Rilevamento automatico', settingsSchemeAutoDesc: 'Prudente: solo l’API standard Window Controls Overlay contribuisce (altezza reale della barra del titolo); gli ambienti web puri non subiscono modifiche', settingsSchemeWebTitle: 'DSH Web ufficiale', settingsSchemeWebDesc: 'Dichiara esplicitamente la web UI ufficiale: nessun adattamento (nemmeno la geometria WCO standard)', settingsSchemeCustomTitle: 'Personalizzato', settingsSchemeCustomDesc: 'Controllo totale: inietti CSS personalizzato (può sovrascrivere gli stili integrati) e imposti la distanza di scorrimento della barra del titolo', settingsSchemeDetectedSuffix: 'rilevato', settingsCustomCssTitle: 'CSS personalizzato', settingsCustomCssDesc: 'Stili accodati alla fine della pagina (in caso di parità vince chi è dopo; usi !important per sovrascrivere le variabili inline scritte da JS)', settingsCustomCssPlaceholder: '/* es. riserva 36px per una shell con barra del titolo disegnata a mano */\nhtml[data-dsh-title-bar-height="36"] {\n --dsh-title-bar-strip: 36px !important;\n}', settingsSaveFailed: 'Salvataggio non riuscito', settingsConflict: 'L’impostazione è stata modificata in un’altra finestra — riprovi', binaryNoPreview: 'Questo tipo di file non può essere visualizzato in anteprima', downloadToView: 'Scarica per visualizzare', settingsSubagentTitle: 'Apri automaticamente la pagina Attività quando compare un sottoagente', settingsSubagentDesc: 'Espande la barra laterale e apre la pagina Attività quando la conversazione attuale genera un nuovo sottoagente; disattivato va aperta manualmente', settingsJobsTitle: 'Apri automaticamente la pagina Attività in background in caso di nuova attività', settingsJobsDesc: 'Espande la barra laterale e apre la pagina Attività in background ogni volta che compare una nuova attività in background per la conversazione attuale (ogni nuova attività la attiva); disattivato va aperta manualmente', settingsToolsTitle: 'Inietta strumenti del terminale per il modello', settingsToolsDesc: 'Se attivato, il modello può creare e gestire terminali della barra laterale attraverso gli 8 strumenti terminal_* (disattivato per impostazione predefinita)', settingsBottomTerminalTitle: 'Apri automaticamente un terminale alla prima espansione del pannello inferiore', settingsBottomTerminalDesc: 'Quando il pannello inferiore viene espanso per la prima volta in una sessione, prova ad aprire una nuova scheda terminale nel pannello inferiore (il limite di terminali si applica comunque; attivo per impostazione predefinita)', settingsFontFamilyTitle: 'Famiglia di caratteri del terminale', settingsFontFamilyDesc: 'Famiglia di caratteri personalizzata del terminale (uno stack CSS font-family come "JetBrains Mono", monospace; lasci vuoto per seguire il carattere a spaziatura fissa del tema)', settingsFontFamilyPlaceholder: '"JetBrains Mono", monospace', settingsFontSizeTitle: 'Dimensione del carattere del terminale', settingsFontSizeDesc: 'Dimensione del carattere del terminale in px (9–32, predefinito 13)', settingsFontSizeSuffix: 'px', settingsShellTitle: 'Percorso della shell', settingsShellDesc: 'Shell avviata per i terminali dell’interfaccia e del modello (percorso assoluto o nome eseguibile). Vuoto mantiene l’ordine preesistente: config.shell di yaml → $SHELL / shell di login / powershell.exe di Windows. Si applica ai terminali aperti successivamente', settingsShellPlaceholder: 'es. /bin/zsh (vuoto = automatico)', settingsShellArgsTitle: 'Argomenti della shell', settingsShellArgsDesc: 'Argomenti espliciti della shell, separati da spazi; quando non vuoti sostituiscono completamente i predefiniti (stesso contratto di shellArgs di yaml)', settingsShellArgsPlaceholder: 'es. -l (vuoto = predefiniti)', settingsTabsTitle: 'Contenuto della barra laterale', settingsViewersTitle: 'Visualizzatori di file', settingsGeneralTitle: 'Generali', settingsPopup: 'Impostazioni della funzionalità', settingsViewerCatchAll: 'Raccoglitore: qualsiasi file', viewerImage: 'Immagine', viewerPdf: 'PDF', viewerMarkdown: 'Markdown', viewerCode: 'Codice', viewerBinary: 'Download binario', viewerHtml: 'HTML', browser: 'Browser', browserPlaceholder: 'Inserisca un URL, es. example.com', browserGo: 'Vai', browserBack: 'Indietro', browserForward: 'Avanti', browserStart: 'Inserisca un URL per iniziare a navigare (modalità sandbox)', browserBlockedScheme: 'Bloccato: sono ammessi solo URL http/https', browserBlockedLoopback: 'Bloccato: gli indirizzi locali e interni non possono essere navigati qui', browserInvalid: 'URL non valido', browserNoSandboxWarning: 'Sandbox disattivata: la pagina attuale viene eseguita con i privilegi completi dell’interfaccia (può riattivarla nelle impostazioni)', htmlNoSandboxWarning: 'Sandbox disattivata: questo HTML viene eseguito con la stessa origine dell’interfaccia e può leggere i file di sessione e le API interne (può riattivarla nelle impostazioni)', sandboxStatusOn: 'Modalità sandbox: attiva · le pagine non possono accedere ai dati dell’interfaccia o ai file locali; i login e i cookie di terze parti potrebbero non funzionare', sandboxUnlock: 'Disattiva temporaneamente (non sicuro)', sandboxRestore: 'Ripristina sandbox', settingsHtmlDefaultUnsafeTitle: 'Apri le anteprime HTML senza sandbox per impostazione predefinita (non sicuro)', settingsHtmlDefaultUnsafeDesc: 'Se attivato, ogni anteprima HTML appena aperta inizia nello stato senza sandbox (stessa origine dell’interfaccia — può leggere i file di sessione e le API interne); la riga di stato offre ancora un ripristino con un tocco', settingsHtmlSandboxTitle: 'Disattiva la sandbox dell’anteprima HTML (non sicuro)', settingsHtmlSandboxDesc: 'Con la sandbox disattivata, l’HTML in anteprima viene eseguito con la stessa origine dell’interfaccia: può leggere i file di sessione, l’archiviazione locale e chiamare le API interne. Attivi solo per file completamente attendibili', settingsBrowserSandboxTitle: 'Disattiva la sandbox del browser (non sicuro)', settingsBrowserSandboxDesc: 'Con la sandbox disattivata, ogni sito visitato viene eseguito con la stessa origine dell’interfaccia: può leggere i dati di sessione e fingersi la sua sessione di login. Attivi solo per siti completamente attendibili', settingsBrowserLinksTitle: 'Apri i collegamenti esterni della chat nella barra laterale', settingsBrowserLinksDesc: 'Se attivato, cliccando un collegamento esterno nella chat o nell’interfaccia si apre la barra laterale invece di una nuova finestra; HTTP e HTTPS sono controllati separatamente dagli interruttori qui sotto; Ctrl/Cmd+clic li aggira sempre', settingsBrowserHttpTitle: 'Apri le pagine HTTP nella barra laterale', settingsBrowserHttpDesc: 'Se attivato, cliccando un collegamento HTTP esterno nella chat o nell’interfaccia si apre la barra laterale (le pagine dei plugin che dichiarano urlTarget vincono); Ctrl/Cmd+clic lo aggira sempre', settingsBrowserHttpsTitle: 'Apri le pagine HTTPS nella barra laterale', settingsBrowserHttpsDesc: 'Se attivato, cliccando un collegamento HTTPS esterno nella chat o nell’interfaccia si apre la barra laterale. Disattivato per impostazione predefinita: la maggior parte dei siti HTTPS rifiuta di essere incorporata, per cui il browser di sistema è l’impostazione più fluida', settingsBrowserLoopbackTitle: 'Indirizzi locali consentiti', settingsBrowserLoopbackDesc: 'Allowlist separata da virgole di indirizzi di loopback (es. localhost:5174 o 127.0.0.1:8080) che il browser della barra laterale può visitare; vuoto blocca tutti gli indirizzi locali per impostazione predefinita. La sandbox si applica ancora — le pagine non possono leggere i dati della GUI', settingsBrowserLoopbackPlaceholder: 'es. localhost:5174, 127.0.0.1:8080', browserOpenExternal: 'Apri nel browser', browserEmbedBlocked: '{host} ha rifiutato di essere incorporato', browserEmbedBlockedDesc: 'Il sito vieta di essere mostrato all’interno di altre pagine (X-Frame-Options / frame-ancestors), per cui non può essere caricato nella barra laterale. Lo apra direttamente nel browser.', browserEmbedAnyway: 'Carica comunque', subagent: 'Attività', openSubagent: 'Attività', subagentMainAgent: 'Agente principale', subagentEmpty: 'Nessun sottoagente', subagentEmptyDesc: 'I sottoagenti generati dall’agente principale compariranno qui', subagentRunning: 'In esecuzione', subagentInactive: 'Inattivo', subagentModeOneShot: 'Monouso', subagentModeContinuable: 'Proseguibile', subagentCount: '{count} sottoagenti', subagentCountRunning: '{count} sottoagenti · {running} in esecuzione', subagentDiagCorrupt: 'Danneggiato', subagentDiagUnsupported: 'Non supportato', subagentDiagUnavailable: 'Non disponibile', subagentThinking: 'In pensiero…', sideChat: 'Chat laterale (beta)', sideChatNew: 'Nuova conversazione', sideChatUntitled: 'Nuova conversazione', sideChatEmpty: 'Nessuna conversazione laterale', sideChatEmptyDesc: 'Ogni conversazione laterale è una scheda a sé nella striscia delle schede — eredita il contesto della sessione attuale e non entra mai nella conversazione principale', sideChatCreating: 'Creazione della conversazione laterale…', sideChatRetry: 'Riprova', sideChatThreads: 'Cambia conversazione / nuova', sideChatSave: 'Salva come nuova sessione', sideChatSaveTitle: 'Promuove questa conversazione a sessione di primo livello nella lista delle sessioni principali', sideChatSaved: 'Salvata come nuova sessione', sideChatNoTurn: 'Il salvataggio è disponibile dopo il primo turno completato', sideChatPendingDrop: 'L’ultima domanda di follow-up senza risposta non sarà inclusa nella sessione salvata', sideChatFirstPlaceholder: 'Ponga la prima domanda — contesto ereditato…', sideChatComposerPlaceholder: 'Ponga un follow-up…', sideChatThinking: 'Approfondimento…', sideChatThink: 'Pensiero', sideChatInjection: 'Contesto iniettato', sideChatSend: 'Invia', sideChatCancel: 'Arresta', sideChatCancelTitle: 'Interrompe il turno in corso (il lavoro in coda è conservato)', sideChatClose: 'Chiudi conversazione', sideChatCloseTitle: 'Rilascia l’agente della conversazione (la cronologia è conservata)', sideChatError: 'Errore della chat laterale: {message}', jobs: 'Attività in background', jobsCount: '{count} attività in background', jobsCountRunning: '{count} attività in background · {running} in esecuzione', jobStatusRunning: 'In esecuzione', jobStatusStopping: 'Arresto in corso', jobStatusCompleted: 'Completata', jobStatusKilled: 'Terminata', jobStatusFailed: 'Non riuscita', jobDurationSeconds: '{seconds}s', jobDurationMinutes: '{minutes}min {seconds}s', jobDurationHours: '{hours}h {minutes}min', jobViewOutput: 'Vedi output', jobHideOutput: 'Nascondi output', jobNoOutput: 'Nessun output per ora', jobNotReadYet: 'In attesa che il modello legga questa attività; il suo output compare qui quando il modello esegue job_output', jobOutputTruncated: 'Output troncato', jobOutputError: 'Lettura dell’output non riuscita', jobKill: 'Termina', jobKillConfirm: 'Faccia di nuovo clic per confermare la terminazione', jobKillError: 'Terminazione non riuscita', addPluginsTabCard: 'Aggiungi plugin scheda', addPluginsTabCardDesc: 'Registri una nuova pagina della barra laterale', addPluginsViewerCard: 'Aggiungi plugin di anteprima', addPluginsViewerCardDesc: 'Registri un’anteprima di tipo di file', addPluginsTabDesc: 'Le pagine della barra laterale (schede) possono essere estese dai plugin. I plugin si registrano tramite il servizio ctx.betterSidebar; cliccando Installa viene copiato il comando di installazione — lo incolli in un terminale dove risiede il profilo DSH e lo esegua.', addPluginsViewerDesc: 'I visualizzatori di file possono essere estesi dai plugin. I plugin si registrano tramite il servizio ctx.betterSidebar; cliccando Installa viene copiato il comando di installazione — lo incolli in un terminale dove risiede il profilo DSH e lo esegua.', addPluginsBrowseMore: 'Sfogli altri plugin su GitHub (topic: dsh-better-sidebar)', addPluginsSearch: 'Cerca per nome / descrizione del plugin…', addPluginsNoMatch: 'Nessun plugin corrispondente', addPluginsRecommended: 'Plugin consigliati', addPluginsEmpty: 'Nessun plugin curato per ora — pubblichi il suo sotto il topic GitHub', openPlugin: 'Apri', copyInstall: 'Copia comando di installazione', pluginOfficeDesc: 'Anteprima della suite Office (.docx / .xlsx / .pptx) per l’editor di better-sidebar, tenendo le pesanti librerie di rendering Office fuori dal bundle principale, installabili su richiesta', pluginFlowglassDesc: 'Diagramma di flusso live della sessione con tre corsie per utente, assistente e chiamate agli strumenti, più gruppi paralleli, rami dei sottoagenti, drill-down e stato in tempo reale; registra una scheda nativa Flowglass quando better-sidebar è installato e mantiene il suo cassetto autonomo come fallback', pluginGitForgeDesc: 'Scheda Git Forge: libreria di account GitHub/Gitea (e altri forge) + concessioni per progetto + blocco rigido della politica di push; i token restano nei segreti locali (mai nel contesto del modello); strumento GitForge in sola lettura e helper di credenziali HTTPS per l’agente', pluginGitRemotesDesc: 'Scheda Git Remotes: rami/upstream/ahead-behind, fetch (prune opzionale), pull ff-only e push solo dopo una conferma nella scheda. Non sostituisce la scheda stage/commit integrata di Git, e non offre force-push o uno strumento di push automatico del modello', pluginSentinelDesc: 'Sistema di risveglio dell’agente guidato da condizioni: sensori file/processo/porta/HTTP/comando/webhook risvegliano le sessioni dormienti quando le condizioni si verificano; registra una scheda «Sentinella» con la tabella di monitoraggio globale del server', pluginSidebarQaDesc: 'Selezione e domanda: selezioni il testo della conversazione → ponga la domanda nel pannello a destra → una sessione di follow-up dedicata (❓ follow-up) nello stesso spazio di lavoro; un modello veloce senza pensiero comprime il contesto principale e lo inietta con la citazione, senza interrompere la conversazione principale. I follow-up si annidano, proseguono e si archiviano', pluginSshTunnelDesc: 'Scheda SSH Tunnel: inventario multi-host + concessioni per progetto + chiavi locali; strumento SSHManager per il modello (exec/SFTP/strategie di sessione); terminale interattivo centrale e SFTP a due pannelli', pluginTurnReviewDesc: 'Una porta umana sul diff del turno appena concluso: Approve / Request changes per percorso con un commento facoltativo; percorsi raggruppati per sessione principale / sottoagente / non attribuito; diff snapshot-vs-ora in linea prima di decidere. Nessun fork, nessun /rewind', pluginVideoPreviewDesc: 'Anteprima video in linea nell’editor di better-sidebar (.mp4/.webm/.mov/.mkv/.avi ecc.), supportata da una route host /video dedicata con supporto HTTP Range (206) — la barra di scorrimento funziona e i file non sono limitati dal mediaLimit di 20MB', pluginDocsPanelDesc: 'Documenti globali nella barra laterale di DSH: legga le sue note Markdown da qualsiasi spazio di lavoro — una lista di file, una struttura, apertura in Chrome / VS Code e pulsanti di copia; la directory dei documenti è configurabile (predefinita ~/.dsh/docs)', }