
Analisi forense crittografica del terminale e replay delle sessioni per agenti AI. Traccia, firma e verifica ogni comando con etichette di provenienza, sessioni riproducibili e viaggio nel tempo tramite Git. Privacy-first con archiviazione locale SQLite e redazione dei segreti.
<p align="center"> <img src="https://assets.kitploit.com/production/public/readmes/12868/4480e118bb0f8f08f64f7da7573729d0dc6641679e7781e4c4050d939ea4d1b2.png" alt="Agensic logo" width="100%" /> </p> <h2 align="center">Sappi cosa è stato eseguito, dove, quando e da chi</h2> <h3 align="center">Il livello di osservabilità mancante per i flussi di lavoro da terminale potenziati dall'IA</h3> <p align="center"> <code>Signed Provenance</code> <code>Tracked Sessions</code> <code>Git Time Travel</code> <code>Replayable Sessions</code> <code>IDE style Tab Autocomplete</code> </p> --- Agensic potenzia il tuo flusso di lavoro da terminale per l'era dell'IA. È progettato per gli sviluppatori che vogliono l'incremento di produttività degli agenti IA direttamente nella propria shell, ma non vogliono rinunciare a **auditabilità, controllo e privacy**. Mentre gli agenti IA assumono sempre più il controllo della riga di comando ed eseguono attività in autonomia, la visibilità e il controllo diventano fondamentali. Agensic tratta i **comandi di terminale come cittadini di prima classe** e fornisce un framework robusto per tracciarli, ispezionarli e gestirli. Invece di appiattire tutta l'attività del terminale in un'unica ambigua «cronologia della shell», Agensic agisce come un osservatore forense e un co-pilota intelligente. Traccia senza soluzione di continuità le sessioni di coding interattive con l'IA, firma crittograficamente i comandi eseguiti dagli agenti e fornisce un autocompletamento con Tab in stile IDE, velocissimo e basato sulla cronologia. --- ## 📋 Indice dei Contenuti 1. [Supporto delle Piattaforme](#-platform-support) 2. [Installazione](#-installation) 3. [Avvio Rapido](#-quick-start) 4. [Agensic Provenance](#-agensic-provenance) - [Funzionalità](#-features-provenance) - [Etichette Supportate](#-supported-labels) 5. [Agensic Sessions](#-agensic-sessions) - [Funzionalità](#-features-sessions) - [Agenti Supportati](#-supported-agents) 6. [Agensic Autocomplete](#-agensic-autocomplete) - [Funzionalità](#-features-autocomplete) - [Provider Supportati](#-supported-providers) 7. [Comandi Disponibili](#-available-commands) 8. [Sicurezza e Privacy](#-safety--privacy) 9. [Creatore del Progetto](#-project-creator) 10. [Supporto](#-support) 11. [Licenza](#-license) --- ## 💻 <a id="-platform-support"></a>Supporto delle Piattaforme Agensic è progettato per integrarsi profondamente con il tuo ambiente shell. - macOS (Zsh) — pienamente supportato ✅ - Linux (Bash) — pienamente supportato ✅ --- ## 🚀 <a id="-installation"></a>Installazione Il percorso più rapido è l'installer gestito a una riga: ```bash curl -fsSL https://raw.githubusercontent.com/Alex188dot/agensic/main/bootstrap.sh | bash ``` Se preferisci clonare manualmente: ```bash git clone https://github.com/Alex188dot/agensic.git cd agensic bash ./install.sh ``` Se hai già `uv`, l'installer lo userà automaticamente per un setup più rapido. Al primo avvio, Agensic ti chiederà di scegliere il tuo provider LLM preferito e di configurare le tue chiavi API per l'autocompletamento dei comandi. In alternativa, puoi configurare il tuo provider LLM e le chiavi API eseguendo: ```bash agensic setup ``` ## ⚡ <a id="-quick-start"></a>Avvio Rapido Dopo il setup, **apri un nuovo terminale** e Agensic inizierà automaticamente a tracciare la tua attività nel terminale e fornirà suggerimenti di autocompletamento mentre digiti! ### 🤖 Tracciamento Automatico Continuo degli Agenti Inizia a lavorare come faresti normalmente, ad esempio usando il tuo assistente di coding IA preferito, come Claude Code, Codex CLI, ecc.: ```bash claude ``` oppure ```bash codex ``` Consulta la sezione [Agenti Supportati](#-supported-agents) per un elenco completo di tutti gli agenti supportati. Se il tuo agente non è nell'elenco, puoi aggiungerlo eseguendo <code>agensic --add_agent "executable"</code> e poi usarlo normalmente così Agensic potrà tracciarlo. Al termine, puoi usare Agensic per ispezionare la cronologia delle sessioni: ```bash agensic sessions ``` oppure visualizzare la provenienza forense: ```bash agensic provenance ``` --- ## 🧾 <a id="-agensic-provenance"></a>Agensic Provenance Agensic ti fornisce una trascrizione forense per ogni comando. Classifica ciò che è accaduto, registra metadati ricchi e mette in evidenza una chiara traccia di audit, così puoi capire se un comando è stato digitato manualmente, accettato da un suggerimento o eseguito direttamente da un agente. <p align="center"> <img src="https://assets.kitploit.com/production/public/readmes/12868/954db235102e042437af9e18befe1d48176d543e55a5bd8ba5cc3ff7a8396f41.gif" alt="Agensic provenance demo" width="75%" /> </p> ### <a id="-features-provenance"></a>✨ Funzionalità ### 🔍 Esploratore di Provenienza a Schermo Intero <p> Devi rispondere alla domanda: «Cosa è stato eseguito esattamente qui e chi lo ha attivato?» Esegui <code>agensic provenance</code> per aprire il visualizzatore di provenienza a schermo intero. Filtra per etichetta, agente, provider o intervallo di tempo, ispeziona l'esatta traccia dei comandi ed esporta la visualizzazione corrente in JSON o CSV quando ti serve una registrazione duratura per il debug, la revisione degli incidenti o la conformità. </p> ### 🛡️ Provenienza Crittografica dei Comandi e Firma <p> Smetti di chiederti se a rompere la build sia stato un umano o un'IA. Agensic cattura metadati ricchi per ogni comando e usa la firma locale Ed25519 per contrassegnare le esecuzioni effettuate dagli agenti con un'inequivocabile etichetta <code>AI_EXECUTED</code>. Ottieni una timeline chiara e auditabile che separa le sequenze di tasti umane dai suggerimenti IA e dalle esecuzioni automatizzate. </p> ### 🏷️ Etichette di Attribuzione Strutturate <p> Agensic non riduce la cronologia del terminale a un semplice elenco di stringhe. Ogni comando tracciato viene classificato in un'etichetta di provenienza, offrendoti un modo coerente per filtrare le esecuzioni, investigare il comportamento e capire come un comando è arrivato nella tua shell. </p> ### <a id="-supported-labels"></a>🔖 Etichette Supportate Agensic supporta attualmente le seguenti etichette di provenienza: - <code>AI_EXECUTED</code> per i comandi eseguiti direttamente da un agente IA con prova firmata - <code>HUMAN_TYPED</code> per i comandi digitati manualmente da un umano nella shell - <code>AI_SUGGESTED_HUMAN_RAN</code> per i comandi suggeriti da una chiamata LLM IA esterna e poi eseguiti da un umano - <code>AG_SUGGESTED_HUMAN_RAN</code> per i comandi suggeriti da Agensic e poi eseguiti da un umano - <code>INVALID_PROOF</code> per i comandi arrivati con metadati di prova che non hanno superato la validazione - <code>UNKNOWN</code> per i comandi in cui le prove disponibili sono insufficienti per assegnare un'etichetta di attribuzione più forte --- ## 🕵️♂️ <a id="-agensic-sessions"></a>Agensic Sessions Agensic registra le sessioni interattive degli agenti, offrendoti una prova inconfutabile di ciò che è accaduto e la possibilità di manipolare in sicurezza lo stato del repository, grazie alla funzionalità Time Travel. <p align="center"> <img src="https://assets.kitploit.com/production/public/readmes/12868/5a2de01b27f96092f2a728dcd93c9368336747306cea978c81b18ad3b6714f5e.gif" alt="Agensic replay demo" width="75%" /> </p> ### <a id="-features-sessions"></a>✨ Funzionalità ### ▶️ Sessioni Riproducibili <p> Devi verificare la sessione di stanotte per capire cosa è successo? Esegui <code>agensic sessions</code> e seleziona la sessione da riprodurre. La nostra TUI a schermo intero, velocissima, ti permette di sfogliare all'istante le timeline, ispezionare i payload e riprodurre la sessione. Quando devi condividere prove per una revisione degli incidenti, esporta il dataset esatto in JSON o CSV con un solo tasto. </p> ### ⏪ Time Travel <p> Ti sei mai chiesto: «Com'era esattamente il mio repository prima che l'agente facesse quel commit distruttivo?» Time Travel ti permette di riportare il tuo repository allo stato Git esatto catturato in uno specifico checkpoint di sessione. Agensic ripristina in sicurezza i file non tracciati e modificati in un nuovo ramo, assicurandoti di non distruggere mai accidentalmente il tuo albero di lavoro attivo mentre indaghi. </p> ### 🗄️ Stato Locale-First Resiliente <p> I tuoi dati restano tuoi. Agensic usa un backend di stato SQLite robusto con un journal di eventi append-only e snapshot automatici. Questo significa che la tua cronologia forense sopravvive a crash inaspettati del terminale, riavvii di sistema e uso locale prolungato, senza corrompersi. </p> ### <a id="-supported-agents"></a>🤖 Agenti Supportati Agensic offre supporto per un insieme di agenti integrati preconfigurati che possono essere tracciati: - Claude Code - Codex CLI - Gemini CLI - OpenClaw - OpenCode - Kimi Code - Mini Agent - Qwen Code - GitHub Copilot CLI - Kiro CLI - Cline CLI - Cursor CLI - Nanoclaw - Droid - Hermes Agent - Ollama - Mistral Vibe - Aider - Pi.dev - Kilo Code - Continue CLI Agenti personalizzati: inserisci qualsiasi eseguibile di agente in agensic setup e funzionerà immediatamente senza alcuna configurazione --- ## ⚡ <a id="-agensic-autocomplete"></a>Agensic Autocomplete Agensic reinventa i suggerimenti del terminale. Un autocompletamento con Tab contestuale, semantico, sempre veloce e in stile IDE, davvero soddisfacente. <p align="center"> <img src="https://assets.kitploit.com/production/public/readmes/12868/f710d6a7c01b14691b1d825894e1640c2a92ff1642178a5aed2b3d7d0ac241e3.gif" alt="Agensic autocomplete demo" width="50%" /> </p> ### <a id="-features-autocomplete"></a>✨ Funzionalità ### 🚀 Suggerimenti Locali dalla Cronologia, Velocissimi <p> Di' addio al lag di digitazione. Mentre scrivi, Agensic interroga un archivio della tua cronologia reale dei comandi. I suggerimenti appaiono all'istante come testo fantasma e puoi accettarli facilmente con <code>Tab</code>. Poiché impara dai tuoi schemi e si basa su ciò che fai davvero, i suggerimenti sono molto accurati e consapevoli del repository. </p> ### 🧠 Ricerca Semantica e Recupero dagli Errori di Battitura <p> Gli umani commettono errori, Agensic li corregge. Se digiti <code>dokcer</code>, Agensic suggerisce all'istante <code>Did you mean: docker</code>. Non ricordi la sintassi esatta? Il riordinamento semantico recupera la tua intenzione, trovando il comando giusto anche se il tuo prefisso non corrisponde perfettamente: se digiti <code>docker records</code> otterrai <code>Did you mean: docker logs</code> (a condizione che tu abbia eseguito <code>docker logs</code> in passato) </p> ### 💡 Fallback IA su Richiesta <p> L'IA è un potente fallback, non una tassa su ogni tasto premuto. Agensic applica budget LLM per riga per prevenire lo spam di prompt. Quando la cronologia locale non basta, viene attivato automaticamente il fallback LLM. In alternativa, puoi sempre premere <code>Ctrl+Space</code> per ottenere manualmente un suggerimento intelligente dal tuo LLM locale o ospitato preferito. </p> ### 💬 Modalità di Comando in Linguaggio Naturale <p> Dimentica la sintassi esatta, descrivi semplicemente ciò che vuoi. Digita ad esempio: <code># how can I find all files larger than 10MB in this folder?</code>. Agensic genera 3 comandi shell pronti da copiare e inserisce l'opzione più probabile direttamente nella tua prossima riga. Ti servono indicazioni invece dei comandi? Usa la modalità assistente per ottenere risposte passo passo direttamente nel terminale: <code>## How do I install Node on macOS?</code>. Vuoi capire un comando prima di eseguirlo? Usa: <code>agensic --explain "your command here"</code> </p> ### 🛡️ Preservazione Nativa del Tab e Blocco dei Rischi <p> Agensic rispetta il tuo terminale. Lascia <code>Tab</code> al suo posto quando completi percorsi di file o script, così il completamento nativo della shell continua a prevalere dove è migliore. Ancora più importante, i comandi distruttivi (come <code>rm -rf</code>, <code>mkfs</code> o <code>dd</code>) sono rigorosamente esclusi dai pool di suggerimenti, così non eseguirai mai accidentalmente un disastro. </p> ### <a id="-supported-providers"></a>🌐 Provider Supportati Agensic si adatta al tuo stack, sia che tu esegua i modelli localmente sia che usi endpoint ospitati. - **Locale:** Ollama, LM Studio - **Ospitato:** OpenAI, Anthropic, Gemini, Azure, DeepSeek, Groq, Mistral, Qwen (DashScope), MiniMax, Moonshot, OpenRouter, Xiaomi MiMo, Z.AI, AWS SageMaker - **Personalizzato:** qualsiasi endpoint compatibile con OpenAI - **Solo Cronologia:** esegui completamente offline senza chiamate IA, usando solo la tua cronologia locale dei comandi ## 🧰 <a id="-available-commands"></a>Comandi Disponibili La tabella seguente elenca tutti i comandi CLI attualmente disponibili in Agensic. | Command | What it does | | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | | <code>agensic --help</code> | Mostra la guida principale della CLI e tutti i comandi standard rivolti all'utente | | <code>agensic --version</code> | Mostra la versione di Agensic installata ed esce | | <code>agensic update</code> | Scarica e installa l'ultima release GitHub pubblicata di Agensic | | <code>agensic setup</code> | Apre il flusso di setup interattivo per Agensic Sessions e Autocomplete | | <code>agensic enable-startup</code> | Configura Agensic per avviarsi automaticamente all'accesso o all'avvio del sistema | | <code>agensic first-run</code> | Esegue il flusso di onboarding della prima installazione | | <code>agensic start</code> | Avvia manualmente il daemon in background di Agensic | | <code>agensic stop</code> | Ferma il daemon di Agensic | | <code>agensic logs</code> | Segue l'output dei log del daemon in tempo reale | | <code>agensic test</code> | Invia una richiesta di autocompletamento di test al daemon per verificare la connettività | | <code>agensic provenance</code> | Apre la vista della cronologia della provenienza dei comandi. Supporta filtri come <code>--limit</code>, <code>--label</code> e <code>--contains</code> | | <code>agensic sessions</code> | Apre il browser delle sessioni tracciate. Usa <code>--text</code> per l'output in testo semplice | ## 🔒 <a id="-safety--privacy"></a>Sicurezza e Privacy Agensic opera secondo il principio del minimo privilegio e della massima privacy: - **Autenticazione Locale:** ogni rotta API su localhost è rigorosamente autenticata con rotazione automatica dei token - **Rimozione dei Segreti:** i valori ad alta entropia, le credenziali negli URL e i formati di segreti noti (come le chiavi AWS o i JWT) vengono eliminati e oscurati **prima** che qualsiasi dato lasci la tua macchina per una chiamata LLM - **Protezioni sui Comandi:** i comandi distruttivi sono bloccati in modo rigido sia dal motore di suggerimenti sia dal ciclo di feedback - **Limitazione della Frequenza:** le chiamate LLM in uscita sono limitate da timeout e budget rigorosi per prevenire l'abuso delle API --- ## <a id="-project-creator"></a>👤 Creatore del Progetto Alessio Leodori ## <a id="-support"></a>🤝 Supporto Trovi Agensic utile? Metti una stella ⭐️ al repository e dillo a un amico! Questo ci aiuterà a crescere 🌱 ## 📄 <a id="-license"></a>Licenza Agensic è open-source e distribuito sotto la **Apache-2.0 License**.