Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
pentagi — Sistema di Agenti AI completamente autonomo in grado di eseguire complesse attività di penetration testing | Kitploit
Strumenti/GitHubGitHub/vxcontrol/pentagi
Frameworks per Penetration TestingRicognizioneScanner di VulnerabilitàFramework di ExploitRaccolta InformazioniSicurezza WebPenetration TestingApprendimento e FormazioneSicurezza dell'IA
GitHubvxcontrol/pentagi

pentagi

Sistema di Agenti AI completamente autonomo in grado di eseguire complesse attività di penetration testing

21.8k2.9k114 giorni 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
Vedi RepositorySito web

PentAGI

Penetration testing Artificial General Intelligence

Unisciti alla Community! Connettiti con ricercatori di sicurezza, appassionati di IA e hacker etici. Ottieni supporto, condividi idee e resta aggiornato sugli ultimi sviluppi di PentAGI.

Discord⠀Telegram

vxcontrol%2Fpentagi | Trendshift

Tabella dei Contenuti

  • Panoramica
  • Funzionalità
  • Architettura
    • Supervisione degli Agenti
  • Avvio Rapido
  • Come Usare PentAGI Dopo il Login
  • Accesso API
    • Configurazione Provider LLM
      • Ollama
      • OpenAI
      • Anthropic
      • Google AI (Gemini)
      • AWS Bedrock
      • DeepSeek
      • GLM
      • Kimi
      • Qwen
  • Configurazione Avanzata
    • Integrazione Langfuse
    • Monitoraggio e Osservabilità
    • Grafo della Conoscenza (Graphiti)
    • Integrazione OAuth
    • Configurazione Immagine Docker
  • Sviluppo
  • Test degli Agenti LLM
  • Configurazione e Test degli Embedding
  • Test delle Funzioni con ftester
  • Build
  • Crediti
  • Licenza

Panoramica

PentAGI è uno strumento innovativo per test di sicurezza automatizzati che sfrutta tecnologie all'avanguardia di intelligenza artificiale. Il progetto è progettato per professionisti della sicurezza informatica, ricercatori e appassionati che necessitano di una soluzione potente e flessibile per condurre test di penetrazione.

Puoi guardare il video Panoramica di PentAGI: Video Panoramica di PentAGI

Funzionalità

  • Sicuro e Isolato. Tutte le operazioni vengono eseguite in un ambiente Docker sandbox con completo isolamento.
  • Completamente Autonomo. Agente basato su IA che determina ed esegue automaticamente i passaggi del test di penetrazione, con monitoraggio opzionale dell'esecuzione e pianificazione intelligente dei task per una maggiore affidabilità.
  • Strumenti Professionali per Pentesting. Suite integrata di oltre 20 strumenti di sicurezza professionali, tra cui nmap, metasploit, sqlmap e altri.
  • Sistema di Memoria Intelligente. Archiviazione a lungo termine dei risultati della ricerca e degli approcci di successo per utilizzi futuri.
  • Integrazione con Grafo della Conoscenza. Grafo della conoscenza basato su Graphiti che utilizza Neo4j per il tracciamento delle relazioni semantiche e la comprensione avanzata del contesto.
  • Intelligenza Web. Browser integrato tramite scraper per raccogliere informazioni aggiornate da fonti web.
  • Sistemi di Ricerca Esterni. Integrazione con API di ricerca avanzate, tra cui Tavily, Traversaal, Perplexity, DuckDuckGo, Google Custom Search, Sploitus Search e Searxng per una raccolta completa di informazioni.
  • Team di Specialisti. Sistema di delega con agenti IA specializzati per attività di ricerca, sviluppo e infrastruttura, potenziato con monitoraggio opzionale dell'esecuzione e pianificazione intelligente dei task per prestazioni ottimali anche con modelli più piccoli.
  • Monitoraggio Completo. Logging dettagliato e integrazione con Grafana/Prometheus per l'osservazione del sistema in tempo reale.
  • Reportistica Dettagliata. Generazione di report approfonditi sulle vulnerabilità con guide per lo sfruttamento.
  • Gestione Intelligente dei Contenitori. Selezione automatica dell'immagine Docker in base ai requisiti specifici del task.
  • Interfaccia Moderna. UI web pulita e intuitiva per la gestione e il monitoraggio del sistema.
  • API Complete. API REST e GraphQL complete con autenticazione tramite Bearer token per automazione e integrazione.
  • Archiviazione Persistente. Tutti i comandi e gli output vengono archiviati in PostgreSQL con estensione pgvector.
  • Architettura Scalabile. Design basato su microservizi che supporta la scalabilità orizzontale.

Limiti Attuali delle Capacità

  • PentAGI oggi è una piattaforma per test di penetrazione autonoma e assistita da guida, non un prodotto BAS (Breach and Attack Simulation) in stile CALDERA o di emulazione degli avversari con campagne o piani di attacco predefiniti.
  • Gli script di attacco simili a BAS generati dall'agente devono essere considerati come lavoro concettuale o futuro, non come una funzionalità già implementata oggi.
  • L'interfaccia del report di flusso corrente supporta la visualizzazione web, la copia negli appunti, il download in Markdown e il download in PDF. L'esportazione del report di flusso in JSON non è documentata come formato di output supportato oggi.
  • La flessibilità dei provider è disponibile oggi tramite provider integrati ed endpoint custom/compatibili con OpenAI. Vedi Configurazione Provider LLM Personalizzato e la guida vLLM + Qwen3.5-27B-FP8.

Architettura

Contesto di Sistema```mermaid

flowchart TB classDef person fill:#08427B,stroke:#073B6F,color:#fff classDef system fill:#1168BD,stroke:#0B4884,color:#fff classDef external fill:#666666,stroke:#0B4884,color:#fff

root@kitploit:~
pentester["👤 Security Engineer
(User of the system)"]

pentagi["✨ PentAGI
(Autonomous penetration testing system)"]

target["🎯 target-system
(System under test)"]
llm["🧠 llm-provider
(OpenAI/Anthropic/Ollama/Bedrock/Gemini/Custom)"]
search["🔍 search-systems
(Google/DuckDuckGo/Tavily/Traversaal/Perplexity/Sploitus/Searxng)"]
langfuse["📊 langfuse-ui
(LLM Observability Dashboard)"]
grafana["📈 grafana
(System Monitoring Dashboard)"]

pentester --> |Uses HTTPS| pentagi
pentester --> |Monitors AI HTTPS| langfuse
pentester --> |Monitors System HTTPS| grafana
pentagi --> |Tests Various protocols| target
pentagi --> |Queries HTTPS| llm
pentagi --> |Searches HTTPS| search
pentagi --> |Reports HTTPS| langfuse
pentagi --> |Reports HTTPS| grafana

class pentester person
class pentagi system
class target,llm,search,langfuse,grafana external

linkStyle default stroke:#ffffff,color:#ffffff
root@kitploit:~
<details>
<summary><b>Architettura del contenitore</b> (clicca per espandere)</summary>```mermaid
graph TB
    subgraph Core Services
        UI[Frontend UI<br/>React + TypeScript]
        API[Backend API<br/>Go + GraphQL]
        DB[(Vector Store<br/>PostgreSQL + pgvector)]
        MQ[Task Queue<br/>Async Processing]
        Agent[AI Agents<br/>Multi-Agent System]
    end

    subgraph Knowledge Graph
        Graphiti[Graphiti<br/>Knowledge Graph API]
        Neo4j[(Neo4j<br/>Graph Database)]
    end

    subgraph Monitoring
        Grafana[Grafana<br/>Dashboards]
        VictoriaMetrics[VictoriaMetrics<br/>Time-series DB]
        Jaeger[Jaeger<br/>Distributed Tracing]
        Loki[Loki<br/>Log Aggregation]
        OTEL[OpenTelemetry<br/>Data Collection]
    end

    subgraph Analytics
        Langfuse[Langfuse<br/>LLM Analytics]
        ClickHouse[ClickHouse<br/>Analytics DB]
        Redis[Redis<br/>Cache + Rate Limiter]
        MinIO[MinIO<br/>S3 Storage]
    end

    subgraph Security Tools
        Scraper[Web Scraper<br/>Isolated Browser]
        PenTest[Security Tools<br/>20+ Pro Tools<br/>Sandboxed Execution]
    end

    UI --> |HTTP/WS| API
    API --> |SQL| DB
    API --> |Events| MQ
    MQ --> |Tasks| Agent
    Agent --> |Commands| PenTest
    Agent --> |Queries| DB
    Agent --> |Knowledge| Graphiti
    Graphiti --> |Graph| Neo4j

    API --> |Telemetry| OTEL
    OTEL --> |Metrics| VictoriaMetrics
    OTEL --> |Traces| Jaeger
    OTEL --> |Logs| Loki

    Grafana --> |Query| VictoriaMetrics
    Grafana --> |Query| Jaeger
    Grafana --> |Query| Loki

    API --> |Analytics| Langfuse
    Langfuse --> |Store| ClickHouse
    Langfuse --> |Cache| Redis
    Langfuse --> |Files| MinIO

    classDef core fill:#f9f,stroke:#333,stroke-width:2px,color:#000
    classDef knowledge fill:#ffa,stroke:#333,stroke-width:2px,color:#000
    classDef monitoring fill:#bbf,stroke:#333,stroke-width:2px,color:#000
    classDef analytics fill:#bfb,stroke:#333,stroke-width:2px,color:#000
    classDef tools fill:#fbb,stroke:#333,stroke-width:2px,color:#000

    class UI,API,DB,MQ,Agent core
    class Graphiti,Neo4j knowledge
    class Grafana,VictoriaMetrics,Jaeger,Loki,OTEL monitoring
    class Langfuse,ClickHouse,Redis,MinIO analytics
    class Scraper,PenTest tools
Relazione Entità (clicca per espandere)```mermaid erDiagram Flow ||--o{ Task : contains Task ||--o{ SubTask : contains SubTask ||--o{ Action : contains Action ||--o{ Artifact : produces Action ||--o{ Memory : stores
root@kitploit:~
Flow {
    string id PK
    string name "Flow name"
    string description "Flow description"
    string status "active/completed/failed"
    json parameters "Flow parameters"
    timestamp created_at
    timestamp updated_at
}

Task {
    string id PK
    string flow_id FK
    string name "Task name"
    string description "Task description"
    string status "pending/running/done/failed"
    json result "Task results"
    timestamp created_at
    timestamp updated_at
}

SubTask {
    string id PK
    string task_id FK
    string name "Subtask name"
    string description "Subtask description"
    string status "queued/running/completed/failed"
    string agent_type "researcher/developer/executor"
    json context "Agent context"
    timestamp created_at
    timestamp updated_at
}

Action {
    string id PK
    string subtask_id FK
    string type "command/search/analyze/etc"
    string status "success/failure"
    json parameters "Action parameters"
    json result "Action results"
    timestamp created_at
}

Artifact {
    string id PK
    string action_id FK
    string type "file/report/log"
    string path "Storage path"
    json metadata "Additional info"
    timestamp created_at
}

Memory {
    string id PK
    string action_id FK
    string type "observation/conclusion"
    vector embedding "Vector representation"
    text content "Memory content"
    timestamp created_at
}
Sistema di Memoria (clicca per espandere)```mermaid graph TB subgraph "Long-term Memory" VS[(Vector Store
Embeddings DB)] KB[Knowledge Base
Domain Expertise] Tools[Tools Knowledge
Usage Patterns] end
root@kitploit:~
subgraph "Working Memory"
    Context[Current Context<br/>Task State]
    Goals[Active Goals<br/>Objectives]
    State[System State<br/>Resources]
end

subgraph "Episodic Memory"
    Actions[Past Actions<br/>Commands History]
    Results[Action Results<br/>Outcomes]
    Patterns[Success Patterns<br/>Best Practices]
end

Context --> |Query| VS
VS --> |Retrieve| Context

Goals --> |Consult| KB
KB --> |Guide| Goals

State --> |Record| Actions
Actions --> |Learn| Patterns
Patterns --> |Store| VS

Tools --> |Inform| State
Results --> |Update| Tools

VS --> |Enhance| KB
KB --> |Index| VS

classDef ltm fill:#f9f,stroke:#333,stroke-width:2px,color:#000
classDef wm fill:#bbf,stroke:#333,stroke-width:2px,color:#000
classDef em fill:#bfb,stroke:#333,stroke-width:2px,color:#000

class VS,KB,Tools ltm
class Context,Goals,State wm
class Actions,Results,Patterns em
root@kitploit:~
</details>

<details>
<summary><b>Riassunto a catena</b> (clicca per espandere)</summary>

Il sistema di riassunto a catena gestisce la crescita del contesto della conversazione riassumendo selettivamente i messaggi più vecchi. Questo è fondamentale per evitare di superare i limiti di token mantenendo la coerenza della conversazione.```mermaid
flowchart TD
    A[Input Chain] --> B{Needs Summarization?}
    B -->|No| C[Return Original Chain]
    B -->|Yes| D[Convert to ChainAST]
    D --> E[Apply Section Summarization]
    E --> F[Process Oversized Pairs]
    F --> G[Manage Last Section Size]
    G --> H[Apply QA Summarization]
    H --> I[Rebuild Chain with Summaries]
    I --> J{Is New Chain Smaller?}
    J -->|Yes| K[Return Optimized Chain]
    J -->|No| C

    classDef process fill:#bbf,stroke:#333,stroke-width:2px,color:#000
    classDef decision fill:#bfb,stroke:#333,stroke-width:2px,color:#000
    classDef output fill:#fbb,stroke:#333,stroke-width:2px,color:#000

    class A,D,E,F,G,H,I process
    class B,J decision
    class C,K output
Scarica lo strumento
  • Soluzione Self-Hosted. Controllo completo sulla propria distribuzione e sui propri dati.
  • Autenticazione Flessibile. Supporto per oltre 10 provider LLM (OpenAI, Anthropic, Google AI/Gemini, AWS Bedrock, Ollama, DeepSeek, GLM, Kimi, Qwen, Custom) più aggregatori (OpenRouter, DeepInfra). Per distribuzioni locali in produzione, consulta la nostra guida vLLM + Qwen3.5-27B-FP8.
  • Autenticazione tramite Token API. Sistema sicuro con Bearer token per accesso programmatico alle API REST e GraphQL.
  • Distribuzione Rapida. Configurazione semplice tramite Docker Compose con configurazione completa dell'ambiente.
  • root@kitploit:~
    </details>
    
    <details>
    <summary><b>Interazione con l'Agente</b> (clicca per espandere)</summary>```mermaid
    sequenceDiagram
        participant O as Orchestrator
        participant R as Researcher
        participant D as Developer
        participant E as Executor
        participant VS as Vector Store
        participant KB as Knowledge Base
    
        Note over O,KB: Flow Initialization
        O->>VS: Query similar tasks
        VS-->>O: Return experiences
        O->>KB: Load relevant knowledge
        KB-->>O: Return context
    
        Note over O,R: Research Phase
        O->>R: Analyze target
        R->>VS: Search similar cases
        VS-->>R: Return patterns
        R->>KB: Query vulnerabilities
        KB-->>R: Return known issues
        R->>VS: Store findings
        R-->>O: Research results
    
        Note over O,D: Planning Phase
        O->>D: Plan attack
        D->>VS: Query exploits
        VS-->>D: Return techniques
        D->>KB: Load tools info
        KB-->>D: Return capabilities
        D-->>O: Attack plan
    
        Note over O,E: Execution Phase
        O->>E: Execute plan
        E->>KB: Load tool guides
        KB-->>E: Return procedures
        E->>VS: Store results
        E-->>O: Execution status
    

    L'algoritmo opera su una rappresentazione strutturata delle catene di conversazione (ChainAST) che preserva i tipi di messaggio, incluse le chiamate agli strumenti e le relative risposte. Tutte le operazioni di riepilogo mantengono il flusso critico della conversazione riducendo al contempo la dimensione del contesto.

    Opzioni di configurazione globale del riepilogatore

    ParameterEnvironment VariableDefaultDescription
    Preserve LastSUMMARIZER_PRESERVE_LASTtrueSe mantenere intatti tutti i messaggi nell'ultima sezione
    Use QA PairsSUMMARIZER_USE_QAtrueSe utilizzare la strategia di riepilogo per coppie QA
    Summarize Human in QASUMMARIZER_SUM_MSG_HUMAN_IN_QAfalseSe riepilogare i messaggi umani nelle coppie QA
    Last Section SizeSUMMARIZER_LAST_SEC_BYTES51200Dimensione massima in byte per l'ultima sezione (50KB)
    Max Body Pair SizeSUMMARIZER_MAX_BP_BYTES16384Dimensione massima in byte per una singola coppia body (16KB)
    Max QA SectionsSUMMARIZER_MAX_QA_SECTIONS10Numero massimo di sezioni di coppie QA da preservare
    Max QA SizeSUMMARIZER_MAX_QA_BYTES65536Dimensione massima in byte per le sezioni di coppie QA (64KB)
    Keep QA SectionsSUMMARIZER_KEEP_QA_SECTIONS1Numero di sezioni QA recenti da mantenere senza riepilogo

    Opzioni di configurazione del riepilogatore assistente

    Le istanze dell'assistente possono utilizzare impostazioni di riepilogo personalizzate per ottimizzare il comportamento di gestione del contesto:

    ParameterEnvironment VariableDefaultDescription
    Preserve LastASSISTANT_SUMMARIZER_PRESERVE_LASTtrueSe preservare tutti i messaggi nell'ultima sezione dell'assistente
    Last Section SizeASSISTANT_SUMMARIZER_LAST_SEC_BYTES76800Dimensione massima in byte per l'ultima sezione dell'assistente (75KB)
    Max Body Pair SizeASSISTANT_SUMMARIZER_MAX_BP_BYTES16384Dimensione massima in byte per una singola coppia body nel contesto dell'assistente (16KB)
    Max QA SectionsASSISTANT_SUMMARIZER_MAX_QA_SECTIONS7Numero massimo di sezioni QA da preservare nel contesto dell'assistente
    Max QA SizeASSISTANT_SUMMARIZER_MAX_QA_BYTES76800Dimensione massima in byte per le sezioni QA dell'assistente (75KB)
    Keep QA SectionsASSISTANT_SUMMARIZER_KEEP_QA_SECTIONS3Numero di sezioni QA recenti da preservare senza riepilogo

    La configurazione del riepilogatore assistente fornisce più memoria per la conservazione del contesto rispetto alle impostazioni globali, preservando una cronologia di conversazione più recente pur garantendo un utilizzo efficiente dei token.

    Configurazione dell'ambiente del riepilogatore```bash

    Default values for global summarizer logic

    SUMMARIZER_PRESERVE_LAST=true SUMMARIZER_USE_QA=true SUMMARIZER_SUM_MSG_HUMAN_IN_QA=false SUMMARIZER_LAST_SEC_BYTES=51200 SUMMARIZER_MAX_BP_BYTES=16384 SUMMARIZER_MAX_QA_SECTIONS=10 SUMMARIZER_MAX_QA_BYTES=65536 SUMMARIZER_KEEP_QA_SECTIONS=1

    Default values for assistant summarizer logic

    ASSISTANT_SUMMARIZER_PRESERVE_LAST=true ASSISTANT_SUMMARIZER_LAST_SEC_BYTES=76800 ASSISTANT_SUMMARIZER_MAX_BP_BYTES=16384 ASSISTANT_SUMMARIZER_MAX_QA_SECTIONS=7 ASSISTANT_SUMMARIZER_MAX_QA_BYTES=76800 ASSISTANT_SUMMARIZER_KEEP_QA_SECTIONS=3

    root@kitploit:~
    </details>
    
    <a id="advanced-agent-supervision"></a>
    <details>
    <summary><b>Supervisione Avanzata degli Agenti</b> (clicca per espandere)</summary>
    
    PentAGI include meccanismi sofisticati di supervisione degli agenti su più livelli per garantire un'esecuzione efficiente delle attività, prevenire cicli infiniti e fornire un recupero intelligente da stati bloccati:
    
    ### Monitoraggio dell'Esecuzione (Beta)
    - **Intervento Automatico del Mentor**: L'agente consulente (mentor) viene invocato automaticamente quando i modelli di esecuzione indicano potenziali problemi
    - **Rilevamento di Pattern**: Monitora chiamate a strumenti identiche (soglia: 5, configurabile) e chiamate totali agli strumenti (soglia: 10, configurabile)
    - **Analisi del Progresso**: Valuta se l'agente avanza verso l'obiettivo del sotto-compito, rileva loop e inefficienze
    - **Strategie Alternative**: Raccomanda approcci diversi quando la strategia corrente fallisce
    - **Guida al Recupero delle Informazioni**: Suggerisce di cercare soluzioni consolidate invece di reinventare
    - **Formato di Risposta Migliorato**: Le risposte degli strumenti includono sia sezioni `<original_result>` che `<mentor_analysis>`
    - **Configurabile**: Abilita tramite `EXECUTION_MONITOR_ENABLED` (default: false), personalizza le soglie con `EXECUTION_MONITOR_SAME_TOOL_LIMIT` e `EXECUTION_MONITOR_TOTAL_TOOL_LIMIT`
    
    **Ideale per**: Modelli più piccoli (< 32B parametri), scenari di attacco complessi che richiedono guida continua, prevenire che gli agenti si blocchino su un singolo approccio
    
    **Impatto sulle Prestazioni**: Aumento di 2-3x nel tempo di esecuzione e nell'uso di token, ma offre un **miglioramento di 2x nella qualità dei risultati** basato su test con Qwen3.5-27B-FP8
    
    ### Pianificazione Intelligente delle Attività (Beta)
    - **Decomposizione Automatica**: Il pianificatore (consulente in modalità di pianificazione) genera 3-7 passaggi specifici e attuabili prima che gli agenti specializzati inizino il lavoro
    - **Piani Contestuali**: Analizza l'intero contesto di esecuzione tramite l'agente arricchitore per creare piani informati
    - **Assegnazione Strutturata**: La richiesta originale è racchiusa in una struttura `<task_assignment>` con piano di esecuzione e istruzioni
    - **Gestione dell'Ambito**: Previene lo scope creep mantenendo gli agenti focalizzati solo sul sotto-compito corrente
    - **Istruzioni Arricchite**: I piani evidenziano azioni critiche, potenziali insidie e punti di verifica
    - **Configurabile**: Abilita tramite `AGENT_PLANNING_STEP_ENABLED` (default: false)
    
    **Ideale per**: Modelli < 32B parametri, flussi di lavoro di penetration testing complessi, miglioramento dei tassi di successo in attività sofisticate
    
    **Configurazione Migliorata del Consulente**: Funziona eccezionalmente bene quando l'agente consulente utilizza un modello più potente o impostazioni potenziate. Esempio: utilizzare lo stesso modello base con modalità di ragionamento massima per il consulente (vedi [`vllm-qwen3.5-27b-fp8.provider.yml`](https://github.com/vxcontrol/pentagi/blob/HEAD/examples/configs/vllm-qwen3.5-27b-fp8.provider.yml)) consente un'analisi completa delle attività e una pianificazione strategica dalla stessa architettura del modello.
    
    **Impatto sulle Prestazioni**: Aggiunge overhead di pianificazione ma migliora significativamente i tassi di completamento e riduce il lavoro ridondante
    
    ### Limiti delle Chiamate agli Strumenti (Sempre Attivi)
    - **Limiti Rigidi**: Prevengono esecuzioni incontrollate indipendentemente dallo stato della modalità di supervisione
    - **Differenziati per Tipo di Agente**:
      - Agenti generali (Assistente, Agente Primario, Pentester, Coder, Installer): `MAX_GENERAL_AGENT_TOOL_CALLS` (default: 100)
      - Agenti limitati (Searcher, Enricher, Memorist, Generator, Reporter, Adviser, Reflector, Planner): `MAX_LIMITED_AGENT_TOOL_CALLS` (default: 20)
    - **Terminazione Graduale**: Il Reflector guida gli agenti verso un completamento appropriato quando ci si avvicina ai limiti
    - **Protezione delle Risorse**: Garantisce la stabilità del sistema e previene l'esaurimento delle risorse
    
    ### Integrazione del Reflector (Sempre Attiva)
    - **Correzione Automatica**: Invocata quando l'LLM non riesce a generare chiamate a strumenti dopo 3 tentativi
    - **Guida Strategica**: Analizza i fallimenti e guida gli agenti verso un uso corretto degli strumenti o strumenti barriera (`done`, `ask`)
    - **Meccanismo di Recupero**: Fornisce guida contestuale basata su modelli di fallimento specifici
    - **Applicazione dei Limiti**: Coordina la terminazione graduale quando vengono raggiunti i limiti di chiamata agli strumenti
    
    ### Raccomandazioni per Modelli Open Source
    
    **Indispensabile per Modelli < 32B Parametri**:
    I test con Qwen3.5-27B-FP8 dimostrano che abilitare sia il Monitoraggio dell'Esecuzione che la Pianificazione delle Attività è **essenziale** per i modelli open source più piccoli:
    - **Miglioramento della Qualità**: Risultati 2x migliori rispetto all'esecuzione di base senza supervisione
    - **Prevenzione dei Loop**: Riduce significativamente cicli infiniti e lavoro ridondante
    - **Diversità degli Attacchi**: Incoraggia l'esplorazione di molteplici vettori di attacco invece di fissarsi su un singolo approccio
    - **Deploy in Ambienti Isolati**: Consente penetration testing autonomo di livello produttivo in ambienti di rete chiusi con inferenza LLM locale
    
    **Compromessi**:
    - Consumo di token: aumento di 2-3x a causa delle invocazioni del mentor/pianificatore
    - Tempo di esecuzione: 2-3x più lungo a causa dei passaggi di analisi e pianificazione
    - Qualità dei risultati: miglioramento di 2x in completezza, accuratezza e copertura degli attacchi
    - Requisiti del modello: Funziona meglio quando il consulente utilizza una configurazione potenziata (parametri di ragionamento più elevati, variante di modello più forte o modello diverso)
    
    **Strategia di Configurazione**:
    Per prestazioni ottimali con modelli più piccoli, configura l'agente consulente con impostazioni potenziate:
    - Utilizza lo stesso modello con modalità di ragionamento massima (esempio: [`vllm-qwen3.5-27b-fp8.provider.yml`](https://github.com/vxcontrol/pentagi/blob/HEAD/examples/configs/vllm-qwen3.5-27b-fp8.provider.yml))
    - Oppure utilizza un modello più forte per il consulente mantenendo il modello base per gli altri agenti
    - Regola le soglie di monitoraggio in base alla complessità delle attività e alle capacità del modello
    
    
    
    </details>
    
    L'architettura di PentAGI è progettata per essere modulare, scalabile e sicura. Ecco i componenti chiave:
    
    1. **Servizi Core**
       - Interfaccia utente Frontend: Interfaccia web basata su React con TypeScript per la sicurezza dei tipi
       - Backend API: API REST e GraphQL in Go con autenticazione tramite Bearer token per accesso programmatico
       - Vector Store: PostgreSQL con pgvector per ricerca semantica e archiviazione della memoria
       - Coda di Attività: Sistema di elaborazione asincrono delle attività per un funzionamento affidabile
       - Agente AI: Sistema multi-agente con ruoli specializzati per test efficienti
    
    2. **Grafo della Conoscenza**
       - Graphiti: API del grafo della conoscenza per il tracciamento delle relazioni semantiche e la comprensione contestuale
       - Neo4j: Database a grafo per archiviare e interrogare relazioni tra entità, azioni e risultati
       - Cattura automatica delle risposte degli agenti e delle esecuzioni degli strumenti per costruire una base di conoscenza completa
    
    3. **Stack di Monitoraggio**
       - OpenTelemetry: Raccolta e correlazione unificata dei dati di osservabilità
       - Grafana: Dashboard di visualizzazione e alerting in tempo reale
       - VictoriaMetrics: Archiviazione di metriche time-series ad alte prestazioni
       - Jaeger: Tracciamento distribuito end-to-end per il debug
       - Loki: Aggregazione e analisi dei log scalabile
    
    4. **Piattaforma di Analisi**
       - Langfuse: Osservabilità avanzata degli LLM e analisi delle prestazioni
       - ClickHouse: Data warehouse analitico orientato alle colonne
       - Redis: Caching ad alta velocità e limitazione della frequenza
       - MinIO: Archiviazione di oggetti compatibile con S3 per artefatti
    
    5. **Strumenti di Sicurezza**
       - Web Scraper: Ambiente browser isolato per un'interazione web sicura
       - Strumenti di Penetration Testing: Suite completa di oltre 20 strumenti di sicurezza professionali
       - Esecuzione in Sandbox: Tutte le operazioni vengono eseguite in container isolati
    
    6. **Sistemi di Memoria**
       - Memoria a Lungo Termine: Archiviazione persistente di conoscenze ed esperienze
       - Memoria di Lavoro: Contesto e obiettivi attivi per le operazioni correnti
       - Memoria Episodica: Azioni storiche e pattern di successo
       - Base di Conoscenza: Competenza di dominio strutturata e capacità degli strumenti
       - Gestione del Contesto: Gestisce intelligentemente i contesti crescenti degli LLM utilizzando il riepilogo a catena
    
    Il sistema utilizza container Docker per l'isolamento e la facile distribuzione, con reti separate per servizi core, monitoraggio e analisi per garantire adeguati confini di sicurezza. Ogni componente è progettato per scalare orizzontalmente e può essere configurato per l'alta disponibilità in ambienti di produzione.
    
    ## Avvio Rapido
    
    ### Requisiti di Sistema
    
    - Docker e Docker Compose (o Podman - vedere [Configurazione Podman](#esecuzione-di-pentagi-con-podman))
    - Minimo 2 vCPU
    - Minimo 4GB RAM
    - 20GB di spazio libero su disco
    - Accesso a Internet per scaricare immagini e aggiornamenti
    
    ### Utilizzo dell'Installer (Consigliato)
    
    PentAGI fornisce un installer interattivo con un'interfaccia utente basata sul terminale per una configurazione e distribuzione semplificata. L'installer ti guida attraverso controlli di sistema, configurazione del provider LLM, configurazione del motore di ricerca e hardening della sicurezza.
    
    **Piattaforme Supportate:**
    - **Linux**: amd64 [download](https://pentagi.com/downloads/linux/amd64/installer-latest.zip) | arm64 [download](https://pentagi.com/downloads/linux/arm64/installer-latest.zip)
    - **Windows**: amd64 [download](https://pentagi.com/downloads/windows/amd64/installer-latest.zip)
    - **macOS**: amd64 (Intel) [download](https://pentagi.com/downloads/darwin/amd64/installer-latest.zip) | arm64 (serie M) [download](https://pentagi.com/downloads/darwin/arm64/installer-latest.zip)
    
    **Installazione Rapida (Linux amd64):**```bash
    # Create installation directory
    mkdir -p pentagi && cd pentagi
    
    # Download installer
    wget -O installer.zip https://pentagi.com/downloads/linux/amd64/installer-latest.zip
    
    # Extract
    unzip installer.zip
    
    # Run interactive installer
    ./installer
    

    Prerequisiti e autorizzazioni:

    L'installer richiede privilegi appropriati per interagire con l'API Docker per un corretto funzionamento. Per impostazione predefinita, utilizza il socket Docker (/var/run/docker.sock) che richiede una delle seguenti opzioni:

    • Opzione 1 (consigliata per la produzione): Eseguire l'installer come root: ```bash sudo ./installer

      root@kitploit:~
    • Opzione 2 (Ambienti di sviluppo): Concedi al tuo utente l'accesso al socket Docker aggiungendolo al gruppo docker: ```bash

      Add your user to the docker group

      sudo usermod -aG docker $USER

      Log out and log back in, or activate the group immediately

      newgrp docker

      Verify Docker access (should run without sudo)

      docker ps

      root@kitploit:~

    ⚠️ Nota di sicurezza: Aggiungere un utente al gruppo docker concede privilegi equivalenti a root. Fallo solo per utenti fidati in ambienti controllati. Per distribuzioni in produzione, considera l'utilizzo della modalità rootless di Docker o l'esecuzione dell'installer con sudo.

    L'installer:

    1. Controlli di sistema: Verifica Docker, connettività di rete e requisiti di sistema
    2. Configurazione ambiente: Crea e configura il file .env con impostazioni predefinite ottimali
    3. Configurazione provider: Imposta provider LLM (OpenAI, Anthropic, Gemini, Bedrock, Ollama, Personalizzato)
    4. Motori di ricerca: Configura DuckDuckGo, Google, Tavily, Traversaal, Perplexity, Sploitus, Searxng
    5. Rafforzamento sicurezza: Genera credenziali sicure e configura certificati SSL
    6. Distribuzione: Avvia PentAGI con docker-compose

    Copertura delle impostazioni Web correnti

    La console web di PentAGI gestisce già diverse aree di impostazioni una volta che il server è attivo e funzionante:

    • Impostazioni -> Provider: Crea, modifica, elimina e testa profili provider definiti dall'utente per i tipi di provider supportati. Questi profili controllano la selezione del modello per agente, i parametri di runtime, le opzioni di ragionamento e i metadati di prezzo.
    • Impostazioni -> Prompt: Gestisci i template di prompt di sistema, umani e strumenti.
    • Impostazioni -> API PentAGI: Crea e gestisci token Bearer PentAGI per l'accesso REST e GraphQL.
    • Altre preferenze gestite dall'interfaccia utente: I flussi preferiti sono memorizzati come preferenze utente e la selezione del tema è gestita dalla barra laterale/controlli del profilo principale, non dalle pagine delle Impostazioni.

    Ancora gestito dal server

    Le seguenti aree di configurazione devono ancora essere impostate sul server tramite variabili d'ambiente, file compose o file di configurazione montati:

    • Credenziali LLM e dettagli di connessione: Chiavi API, endpoint, modalità di autenticazione e impostazioni di connessione specifiche del provider per OpenAI, Anthropic, Bedrock, Ollama, provider personalizzati e backend simili; le impostazioni del percorso di configurazione si applicano solo dove supportate, come OLLAMA_SERVER_CONFIG_PATH e LLM_SERVER_CONFIG_PATH.
    • Credenziali e opzioni del provider di ricerca: Impostazioni come DUCKDUCKGO_*, GOOGLE_*, TAVILY_API_KEY, TRAVERSAAL_API_KEY, PERPLEXITY_*, SEARXNG_* e SPLOITUS_ENABLED.
    • Integrazioni di terze parti: Langfuse, Graphiti e servizi esterni simili rimangono configurazione lato server.
    • Gestione server MCP: Le pagine delle impostazioni MCP non sono attualmente esposte come funzionalità live della console web.

    Per produzione e sicurezza avanzata:

    Per distribuzioni in produzione o ambienti sensibili alla sicurezza, raccomandiamo vivamente di utilizzare un'architettura distribuita a due nodi in cui le operazioni dei worker sono isolate su un server separato. Ciò previene l'esecuzione di codice non fidato e problemi di accesso alla rete sul sistema principale.

    Guida dettagliata: Configurazione nodo worker

    La configurazione a due nodi fornisce:

    • Esecuzione isolata: I container worker vengono eseguiti su hardware dedicato
    • Isolamento di rete: Confini di rete separati per i test di penetrazione
    • Confini di sicurezza: Docker-in-Docker con autenticazione TLS
    • Supporto attacchi OOB: Intervalli di porte dedicati per tecniche out-of-band

    Installazione manuale

    1. Crea una directory di lavoro o clona il repository:
    root@kitploit:~
    mkdir -p /opt/pentagi
    cd /opt/pentagi
    git clone https://github.com/your-repo/pentagi.git .
    ``````bash
    mkdir pentagi && cd pentagi
    
    1. Copia .env.example in .env o scaricalo:```bash curl -o .env https://raw.githubusercontent.com/vxcontrol/pentagi/master/.env.example
    root@kitploit:~
    3. Toccare i file di esempio (`example.custom.provider.yml`, `example.ollama.provider.yml`) o scaricarli:```bash
    curl -o example.custom.provider.yml https://raw.githubusercontent.com/vxcontrol/pentagi/master/examples/configs/custom-openai.provider.yml
    curl -o example.ollama.provider.yml https://raw.githubusercontent.com/vxcontrol/pentagi/master/examples/configs/ollama-llama318b.provider.yml
    
    1. Inserisci le chiavi API richieste nel file .env.```bash

    Required: At least one of these LLM providers

    OPEN_AI_KEY=your_openai_key ANTHROPIC_API_KEY=your_anthropic_key GEMINI_API_KEY=your_gemini_key

    Optional: AWS Bedrock provider (enterprise-grade models)

    BEDROCK_REGION=us-east-1

    Choose one authentication method:

    BEDROCK_DEFAULT_AUTH=true # Option 1: Use AWS SDK default credential chain (recommended for EC2/ECS)

    BEDROCK_BEARER_TOKEN=your_bearer_token # Option 2: Bearer token authentication

    BEDROCK_ACCESS_KEY_ID=your_aws_access_key # Option 3: Static credentials

    BEDROCK_SECRET_ACCESS_KEY=your_aws_secret_key

    Optional: Ollama provider (local or cloud)

    OLLAMA_SERVER_URL=http://ollama-server:11434 # Local server

    OLLAMA_SERVER_URL=https://ollama.com # Cloud service

    OLLAMA_SERVER_API_KEY=your_ollama_cloud_key # Required for cloud, empty for local

    Optional: Chinese AI providers

    DEEPSEEK_API_KEY=your_deepseek_key # DeepSeek (strong reasoning)

    GLM_API_KEY=your_glm_key # GLM (Zhipu AI)

    KIMI_API_KEY=your_kimi_key # Kimi (Moonshot AI, ultra-long context)

    QWEN_API_KEY=your_qwen_key # Qwen (Alibaba Cloud, multimodal)

    Optional: Local LLM provider (zero-cost inference)

    OLLAMA_SERVER_URL=http://localhost:11434 OLLAMA_SERVER_MODEL=your_model_name

    Optional: Additional search capabilities

    DUCKDUCKGO_ENABLED=true DUCKDUCKGO_REGION=us-en DUCKDUCKGO_SAFESEARCH= DUCKDUCKGO_TIME_RANGE= SPLOITUS_ENABLED=true GOOGLE_API_KEY=your_google_key GOOGLE_CX_KEY=your_google_cx TAVILY_API_KEY=your_tavily_key TRAVERSAAL_API_KEY=your_traversaal_key PERPLEXITY_API_KEY=your_perplexity_key PERPLEXITY_MODEL=sonar-pro PERPLEXITY_CONTEXT_SIZE=medium

    Searxng meta search engine (aggregates results from multiple sources)

    SEARXNG_URL=http://your-searxng-instance:8080 SEARXNG_CATEGORIES=general SEARXNG_LANGUAGE= SEARXNG_SAFESEARCH=0 SEARXNG_TIME_RANGE= SEARXNG_TIMEOUT=

    Graphiti knowledge graph settings

    GRAPHITI_ENABLED=true GRAPHITI_TIMEOUT=30 GRAPHITI_URL=http://graphiti:8000 GRAPHITI_MODEL_NAME=gpt-5-mini

    Neo4j settings (used by Graphiti stack)

    NEO4J_USER=neo4j NEO4J_DATABASE=neo4j NEO4J_PASSWORD=devpassword NEO4J_URI=bolt://neo4j:7687

    Assistant configuration

    ASSISTANT_USE_AGENTS=false # Default value for agent usage when creating new assistants

    root@kitploit:~
    5. Cambia tutte le variabili d'ambiente relative alla sicurezza nel file `.env` per migliorare la sicurezza.
    
    <details>
        <summary>Variabili d'ambiente relative alla sicurezza</summary>
    
    ### Impostazioni principali di sicurezza
    - `COOKIE_SIGNING_SALT` - Sale per la firma dei cookie, cambia con un valore casuale
    - `PUBLIC_URL` - URL pubblico del tuo server (es. `https://pentagi.example.com`)
    - `SERVER_SSL_CRT` e `SERVER_SSL_KEY` - Percorsi personalizzati per il tuo certificato SSL e chiave esistenti per HTTPS (questi percorsi dovrebbero essere usati nel file docker-compose.yml per essere montati come volumi)
    
    ### Accesso allo Scraper
    - `SCRAPER_PUBLIC_URL` - URL pubblico per lo scraper se si desidera utilizzare un server scraper diverso per URL pubblici
    - `SCRAPER_PRIVATE_URL` - URL privato per lo scraper (server scraper locale nel file docker-compose.yml per accedere a URL locali)
    
    ### Credenziali di accesso
    - `PENTAGI_POSTGRES_USER` e `PENTAGI_POSTGRES_PASSWORD` - Credenziali PostgreSQL
    - `NEO4J_USER` e `NEO4J_PASSWORD` - Credenziali Neo4j (per il grafo della conoscenza Graphiti)
    
    </details>
    
    6. Rimuovi tutti i commenti inline dal file `.env` se desideri usarlo in VSCode o altri IDE come opzione envFile:```bash
    perl -i -pe 's/\s+#.*$//' .env
    
    1. Esegui lo stack PentAGI:```bash curl -O https://raw.githubusercontent.com/vxcontrol/pentagi/master/docker-compose.yml docker compose up -d
    root@kitploit:~
    Visita [localhost:8443](https://localhost:8443) per accedere all'interfaccia web di PentAGI (le credenziali predefinite sono `[email protected]` / `admin`)
    
    #### Account dell'interfaccia web
    
    PentAGI non espone una registrazione self-service pubblica dalla pagina di login. Una nuova installazione crea l'account amministratore locale predefinito:
    
    - **Email**: `[email protected]`
    - **Password**: `admin`
    
    Al primo accesso, cambia la password predefinita prima di utilizzare l'istanza per lavoro reale. Se la password dell'amministratore viene successivamente persa, utilizza il menu di manutenzione dell'installer per reimpostare la password dell'account predefinito `[email protected]`.
    
    Per configurazioni multiutente, un amministratore autenticato può gestire gli utenti locali tramite l'API REST degli utenti (`/api/v1/users/`). L'interfaccia OpenAPI è disponibile all'indirizzo `https://localhost:8443/api/v1/swagger/index.html` dopo che l'istanza è in esecuzione.
    
    > [!NOTE]
    > Se hai riscontrato un errore riguardante `pentagi-network` o `observability-network` o `langfuse-network` devi eseguire prima `docker-compose.yml` per creare queste reti e successivamente eseguire `docker-compose-langfuse.yml`, `docker-compose-graphiti.yml`, e `docker-compose-observability.yml` per utilizzare i servizi Langfuse, Graphiti e Observability.
    >
    > Devi impostare almeno un provider di Language Model (OpenAI, Anthropic, Gemini, AWS Bedrock o Ollama) per utilizzare PentAGI. AWS Bedrock fornisce accesso di livello enterprise a molteplici modelli fondamentali delle principali aziende di AI, mentre Ollama offre inferenza locale a costo zero se disponi di risorse computazionali sufficienti. Chiavi API aggiuntive per i motori di ricerca sono opzionali ma raccomandate per risultati migliori.
    >
    > **Per una distribuzione completamente locale con modelli avanzati**: Consulta la nostra guida completa su [Esecuzione di PentAGI con vLLM e Qwen3.5-27B-FP8](https://github.com/vxcontrol/pentagi/blob/HEAD/examples/guides/vllm-qwen35-27b-fp8.md) per una configurazione LLM locale di livello produttivo. Questa configurazione raggiunge ~13.000 TPS per l'elaborazione del prompt e ~650 TPS per il completamento su 4× GPU RTX 5090, supportando 12+ flussi concorrenti con completa indipendenza dai provider cloud.
    >
    > Le variabili d'ambiente `LLM_SERVER_*` sono una funzionalità sperimentale e verranno modificate in futuro. Al momento puoi usarle per specificare un URL del server LLM personalizzato e un modello per tutti i tipi di agente.
    >
    > `PROXY_URL` è un URL proxy globale per tutti i provider LLM e i sistemi di ricerca esterni. Puoi usarlo per l'isolamento dalle reti esterne.
    >
    > Il file `docker-compose.yml` esegue il servizio PentAGI come utente root perché necessita dell'accesso a docker.sock per la gestione dei container. Se utilizzi una connessione di rete TCP/IP a Docker invece del file socket, puoi rimuovere i privilegi di root e utilizzare l'utente predefinito `pentagi` per una maggiore sicurezza.
    
    ### Accesso a PentAGI da reti esterne
    
    Per impostazione predefinita, PentAGI si lega a `127.0.0.1` (solo localhost) per sicurezza. Per accedere a PentAGI da altre macchine sulla tua rete, devi configurare l'accesso esterno.
    
    #### Passaggi di configurazione
    
    1. **Aggiorna il file `.env`** con l'indirizzo IP del tuo server:```bash
    # Network binding - allow external connections
    PENTAGI_LISTEN_IP=0.0.0.0
    PENTAGI_LISTEN_PORT=8443
    
    # Public URL - use your actual server IP or hostname
    # Replace 192.168.1.100 with your server's IP address
    PUBLIC_URL=https://192.168.1.100:8443
    
    # CORS origins - list all URLs that will access PentAGI
    # Include localhost for local access AND your server IP for external access
    CORS_ORIGINS=https://localhost:8443,https://192.168.1.100:8443
    

    [!IMPORTANT]

    • Sostituisci 192.168.1.100 con l'indirizzo IP effettivo del tuo server
    • Non usare 0.0.0.0 in PUBLIC_URL o CORS_ORIGINS - usa l'indirizzo IP effettivo
    • Includi sia localhost che l'IP del server in CORS_ORIGINS per flessibilità
    1. Ricrea i container per applicare le modifiche:```bash docker compose down docker compose up -d --force-recreate
    root@kitploit:~
    3. **Verifica il binding della porta:**```bash
    docker ps | grep pentagi
    

    Dovresti vedere 0.0.0.0:8443->8443/tcp o :::8443->8443/tcp.

    Se vedi 127.0.0.1:8443->8443/tcp, la variabile d'ambiente non è stata applicata. In questo caso, modifica direttamente docker-compose.yml alla riga 31:```yaml ports:

    • "0.0.0.0:8443:8443"
    root@kitploit:~
    Poi ricrea i container di nuovo.
    
    4. **Configura il firewall** per consentire le connessioni in entrata sulla porta 8443:```bash
    # Ubuntu/Debian with UFW
    sudo ufw allow 8443/tcp
    sudo ufw reload
    
    # CentOS/RHEL with firewalld
    sudo firewall-cmd --permanent --add-port=8443/tcp
    sudo firewall-cmd --reload
    
    1. Accesso a PentAGI:
    • Accesso locale: https://localhost:8443
    • Accesso di rete: https://your-server-ip:8443

    [!NOTE] Dovrai accettare l'avviso del certificato SSL autofirmato nel browser quando accedi tramite indirizzo IP.


    Eseguire PentAGI con Podman

    PentAGI supporta completamente Podman come alternativa a Docker. Tuttavia, quando si utilizza Podman in modalità rootless, il servizio scraper richiede una configurazione speciale perché i container rootless non possono legare porte privilegiate (porte inferiori a 1024).

    Configurazione Podman in modalità rootless

    La configurazione predefinita dello scraper utilizza la porta 443 (HTTPS), che è una porta privilegiata. Per Podman rootless, riconfigura lo scraper per utilizzare una porta non privilegiata:

    1. Modifica docker-compose.yml - modifica il servizio scraper (circa linea 199):```yaml scraper: image: vxcontrol/scraper:latest restart: unless-stopped container_name: scraper hostname: scraper expose: - 3000/tcp # Changed from 443 to 3000 ports: - "${SCRAPER_LISTEN_IP:-127.0.0.1}:${SCRAPER_LISTEN_PORT:-9443}:3000" # Map to port 3000 environment: - MAX_CONCURRENT_SESSIONS=${LOCAL_SCRAPER_MAX_CONCURRENT_SESSIONS:-10} - USERNAME=${LOCAL_SCRAPER_USERNAME:-someuser} - PASSWORD=${LOCAL_SCRAPER_PASSWORD:-somepass} logging: options: max-size: 50m max-file: "7" volumes: - scraper-ssl:/usr/src/app/ssl networks: - pentagi-network shm_size: 2g

    root@kitploit:~
    **2. Aggiorna il file `.env`** - modifica l'URL dello scraper per usare HTTP e porta 3000:```bash
    # Scraper configuration for Podman rootless
    SCRAPER_PRIVATE_URL=http://someuser:somepass@scraper:3000/
    LOCAL_SCRAPER_USERNAME=someuser
    LOCAL_SCRAPER_PASSWORD=somepass
    

    [!IMPORTANT] Modifiche chiave per Podman:

    • Usa HTTP invece di HTTPS per SCRAPER_PRIVATE_URL
    • Usa la porta 3000 invece di 443
    • Cambia l'expose interno a 3000/tcp
    • Aggiorna il mapping delle porte per puntare a 3000 invece di 443

    3. Ricreare i contenitori:```bash podman-compose down podman-compose up -d --force-recreate

    root@kitploit:~
    **4. Testa la connettività dello scraper:**```bash
    # Test from within the pentagi container
    podman exec -it pentagi wget -O- "http://someuser:somepass@scraper:3000/html?url=http://example.com"
    

    Se vedi output HTML, lo scraper funziona correttamente.

    Podman Rootful Mode

    Se stai eseguendo Podman in modalità rootful (con sudo), puoi utilizzare la configurazione predefinita senza modifiche. Lo scraper funzionerà sulla porta 443 come previsto.

    Docker Compatibility

    Tutte le configurazioni di Podman rimangono pienamente compatibili con Docker. L'approccio della porta non privilegiata funziona identicamente su entrambi i runtime dei container.

    Assistant Configuration

    PentAGI ti permette di configurare il comportamento predefinito per gli assistenti:

    VariableDefaultDescrizione
    ASSISTANT_USE_AGENTSfalseControlla il valore predefinito per l'utilizzo degli agenti durante la creazione di nuovi assistenti

    L'impostazione ASSISTANT_USE_AGENTS influisce sullo stato iniziale dell'opzione "Usa Agenti" durante la creazione di un nuovo assistente nell'interfaccia utente:

    • false (predefinito): I nuovi assistenti vengono creati con la delega agli agenti disabilitata per impostazione predefinita
    • true: I nuovi assistenti vengono creati con la delega agli agenti abilitata per impostazione predefinita

    Nota che gli utenti possono sempre sovrascrivere questa impostazione attivando/disattivando il pulsante "Usa Agenti" nell'interfaccia utente durante la creazione o la modifica di un assistente. Questa variabile d'ambiente controlla solo lo stato predefinito iniziale.

    How to Use PentAGI After Login

    Una volta che lo stack è in esecuzione e puoi accedere all'interfaccia web, il modo più veloce per iniziare è attraverso il flusso di lavoro Flows.

    1. Create your first flow

    1. Apri Flows nella barra laterale.
    2. Clicca su Nuovo Flusso.
    3. Scegli la modalità che si adatta al tuo obiettivo:
      • Automazione: esecuzione completamente autonoma per un obiettivo di test che vuoi che PentAGI svolga dall'inizio alla fine
      • Assistente: aiuto interattivo a due vie quando vuoi guidare l'indagine passo dopo passo. In questa modalità puoi anche abilitare l'opzione Usa Agenti per permettere a PentAGI di delegare sotto-attività a sotto-agenti specializzati per indagini più complesse.
    4. Seleziona il provider LLM che vuoi utilizzare per questo flusso.
    5. Descrivi il target e l'obiettivo in linguaggio naturale nella casella di messaggio.

    I buoni primi prompt di solito includono:

    • il sistema target o l'URL
    • il tipo di valutazione che desideri
    • eventuali limitazioni di ambito o regole di ingaggio
    • il risultato che ti aspetti, come un report di vulnerabilità o la validazione di un'ipotesi

    Esempio:```text Assess https://target.example for common web application vulnerabilities. Focus on authentication, file handling, and injection issues. Stay within the provided target only and summarize confirmed findings with reproduction steps.

    root@kitploit:~
    Solo i sistemi di tua proprietà o per i quali hai esplicita autorizzazione devono essere testati. Consulta [EULA.md](https://github.com/vxcontrol/pentagi/blob/HEAD/EULA.md) per i termini di utilizzo accettabili.
    
    ### 2. Usa modelli per flussi di lavoro ripetibili
    
    Il nuovo modulo del flusso include un selettore di modelli, che può precompilare la casella di messaggio con un modello di flusso salvato. Ciò è utile quando esegui valutazioni simili ripetutamente.
    
    - Usa un modello esistente se ne hai già uno salvato in **Modelli**
    - Inizia dall'esempio di prompt in [`examples/prompts/base_web_pentest.md`](https://github.com/vxcontrol/pentagi/blob/HEAD/examples/prompts/base_web_pentest.md) se hai bisogno di una base pratica per i test web
    - Regola il target, l'ambito e i vincoli prima di avviare il flusso
    
    I modelli sono punti di partenza. Non è necessaria una sintassi speciale per usare PentAGI: le istruzioni in linguaggio naturale semplice funzionano bene purché target e obiettivo siano chiari.
    
    ### 3. Monitora l'esecuzione e rivedi l'output
    
    Dopo aver inviato il flusso, PentAGI apre automaticamente la pagina del flusso.
    
    - Usa la vista principale del flusso per seguire i messaggi, l'attività degli agenti e l'avanzamento delle attività
    - Ispeziona l'attività degli strumenti e l'output del terminale durante l'esecuzione del flusso
    - Rivedi le attività e sottoattività generate per capire cosa sta facendo PentAGI
    
    Una volta che il flusso ha risultati sufficienti, usa il menu **Report** nella pagina del flusso per:
    
    - aprire il report in una vista web
    - copiare il report generato negli appunti
    - scaricare il report come Markdown
    - scaricare il report come PDF
    
    ### 4. Usa la vista Assistente per guidare un flusso attivo
    
    Ogni flusso include anche una vista **Assistente** per una guida interattiva. Ciò è utile quando l'esecuzione autonoma scopre qualcosa che necessita di direzione umana anziché un riavvio brusco.
    
    - Apri la vista **Assistente** per lo stesso flusso quando vuoi ispezionare lo stato corrente prima di modificare qualcosa.
    - Usa l'assistente per controllare lo stato del flusso, interrompere l'attività corrente, inviare istruzioni di follow-up o modificare le sottoattività pianificate rimanenti prima del passaggio successivo.
    - Tratta questo come un percorso di controllo esplicito per il flusso corrente, non come una coda di background invisibile. Se vuoi cambiare direzione, dillo chiaramente e mantieni la nuova istruzione legata all'ambito di coinvolgimento corrente.
    - Funziona meglio per chiarire l'ambito, reindirizzare le priorità dopo risultati intermedi o rispondere a un checkpoint di automazione senza perdere il resto del contesto del flusso.
    
    ### 5. Gestisci i file con ambito del flusso
    
    Ogni flusso ha la propria scheda **File** nella pagina del flusso. I file hanno ambito del flusso padre: risiedono in `{dataDir}/flow-{id}-data/` sull'host e non si propagano mai in altri flussi.
    
    La scheda espone tre origini di file:
    
    - **Caricamenti** (`uploads/`): file che fornisci dall'interfaccia web. Usa l'azione **Carica file** o trascina e rilascia direttamente sulla scheda File. Mentre il contenitore dell'agente è in esecuzione, i file caricati vengono anche spinti al suo interno in `/work/uploads/` in modo che l'agente possa leggerli con normali strumenti shell.
    - **Risorse** (`resources/`): file allegati dalla tua libreria di risorse utente salvate tramite **Allega risorse dalla libreria**. Le risorse allegate vengono copiate nel flusso e spinte nel contenitore in esecuzione in `/work/resources/`.
    - **Contenitore** (`container/`): snapshot prelevati dal contenitore dell'agente in esecuzione tramite **Preleva file o directory dal contenitore**. Questi sono di sola lettura sul lato flusso e non vengono mai rimandati al contenitore.
    
    Le azioni per singolo file nella scheda File includono **Scarica**, **Copia percorso**, **Salva come risorsa** (promuove un file del flusso nella libreria di risorse riutilizzabili) ed **Elimina**. L'azione di prelievo è disabilitata quando il contenitore non è in esecuzione, con il tooltip "Il contenitore non è in esecuzione".
    
    I file caricati e le risorse allegate vengono elencati automaticamente nei prompt di sistema dell'agente tramite la variabile di template `{{.UserFiles}}`, che renderizza un blocco XML compatto `<task_files>` (con sezioni `<uploads>` e `<resources>` annidate), in modo che l'assistente e gli agenti di automazione possano farvi riferimento per percorso senza che tu incolli i contenuti nella chat. Gli snapshot del contenitore sono visibili solo nell'interfaccia utente e non vengono reiniettati automaticamente nel prompt.
    
    Limiti e limitazioni attuali da tenere presenti:
    
    - La dimensione massima del file caricato è 300 MB; per richiesta di caricamento fino a 1000 file e 2 GB totali. I nomi dei file sono limitati a 255 byte (circa 255 caratteri ASCII; i nomi non ASCII usano più byte per carattere).
    - I caricamenti e le risorse vengono rispecchiati nel contenitore in esecuzione nei percorsi fissi `/work/uploads/` e `/work/resources/`; i file scritti in altri percorsi del contenitore non vengono automaticamente rispecchiati nel modello di file del flusso. Gli snapshot del contenitore possono provenire da qualsiasi percorso del contenitore che prelevi (ad esempio `/etc/...`) e vengono memorizzati nella cache sul lato flusso sotto `container/`; non vengono rispediti nel contenitore.
    - Gli snapshot del contenitore sono prelievi istantanei. Modificare uno snapshot nell'interfaccia utente non lo riscrive nel contenitore in esecuzione.
    - Eliminare un flusso oggi rimuove il record del flusso e le sue voci di memoria a lungo termine, ma non archivia né rimuove ancora la directory `flow-{id}-data/` del flusso sul disco. Ci si aspetta ancora che gli operatori puliscano manualmente la directory dei dati se vogliono recuperare spazio.
    
    Per i test iniziali, inizia con un target ristretto e un singolo obiettivo chiaro. Ciò rende l'output più facile da rivedere e ti aiuta a perfezionare i tuoi prompt prima di eseguire valutazioni più grandi.
    
    ## Accesso API
    
    PentAGI fornisce un accesso programmatico completo tramite API REST e GraphQL, consentendoti di integrare i flussi di lavoro di penetration testing nelle tue pipeline di automazione, processi CI/CD e applicazioni personalizzate.
    
    ### Generazione di token API
    
    I token API sono gestiti tramite l'interfaccia web di PentAGI:
    
    1. Vai su **Impostazioni** → **Token API** nell'interfaccia web
    2. Clicca su **Crea Token** per generare un nuovo token API
    3. Configura le proprietà del token:
       - **Nome** (opzionale): Un nome descrittivo per il token
       - **Data di scadenza**: Quando il token scadrà (minimo 1 minuto, massimo 3 anni)
    4. Clicca su **Crea** e **copia immediatamente il token** - verrà mostrato una sola volta per motivi di sicurezza
    5. Usa il token come token Bearer nelle tue richieste API
    
    Ogni token è associato al tuo account utente e eredita i permessi del tuo ruolo.
    
    ### Utilizzo dei token API
    
    Includi il token API nell'intestazione `Authorization` delle tue richieste HTTP:```bash
    # GraphQL API example
    curl -X POST https://your-pentagi-instance:8443/api/v1/graphql \
      -H "Authorization: Bearer YOUR_API_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"query": "{ flows { id title status } }"}'
    
    # REST API example
    curl https://your-pentagi-instance:8443/api/v1/flows \
      -H "Authorization: Bearer YOUR_API_TOKEN"
    

    Esplorazione e test delle API

    PentAGI fornisce documentazione interattiva per esplorare e testare gli endpoint API:

    GraphQL Playground

    Accedi a GraphQL Playground all'indirizzo https://your-pentagi-instance:8443/api/v1/graphql/playground

    1. Fare clic sulla scheda HTTP Headers in basso
    2. Aggiungere l'intestazione di autorizzazione: ```json { "Authorization": "Bearer YOUR_API_TOKEN" }
      root@kitploit:~
    3. Esplora lo schema, esegui query e testa le mutazioni in modo interattivo

    Swagger UI

    Accedi alla documentazione dell'API REST all'indirizzo https://your-pentagi-instance:8443/api/v1/swagger/index.html

    1. Clicca sul pulsante Authorize
    2. Inserisci il tuo token nel formato: Bearer YOUR_API_TOKEN
    3. Clicca su Authorize per applicare
    4. Testa gli endpoint direttamente dalla Swagger UI

    Generazione di Client API

    Puoi generare client API type-safe per il tuo linguaggio di programmazione preferito utilizzando i file di schema inclusi in PentAGI:

    Client GraphQL

    Lo schema GraphQL è disponibile su:

    • Web UI: Vai su Impostazioni per scaricare schema.graphqls
    • File diretto: backend/pkg/graph/schema.graphqls nel repository

    Genera client utilizzando strumenti come:

    • GraphQL Code Generator (JavaScript/TypeScript): https://the-guild.dev/graphql/codegen
    • genqlient (Go): https://github.com/Khan/genqlient
    • Apollo iOS (Swift): https://www.apollographql.com/docs/ios

    Client API REST

    La specifica OpenAPI è disponibile su:

    • Swagger JSON: https://your-pentagi-instance:8443/api/v1/swagger/doc.json
    • Swagger YAML: Disponibile in backend/pkg/server/docs/swagger.yaml

    Genera client utilizzando:

    • OpenAPI Generator: https://openapi-generator.tech ```bash openapi-generator-cli generate
      -i https://your-pentagi-instance:8443/api/v1/swagger/doc.json
      -g python
      -o ./pentagi-client
      root@kitploit:~
    • Swagger Codegen: https://github.com/swagger-api/swagger-codegen ```bash swagger-codegen generate
      -i https://your-pentagi-instance:8443/api/v1/swagger/doc.json
      -l typescript-axios
      -o ./pentagi-client
      root@kitploit:~
    • swagger-typescript-api (TypeScript): https://github.com/acacode/swagger-typescript-api ```bash npx swagger-typescript-api
      -p https://your-pentagi-instance:8443/api/v1/swagger/doc.json
      -o ./src/api
      -n pentagi-api.ts
      root@kitploit:~

    Esempi di Utilizzo dell'API

    Creazione di un Nuovo Flusso (GraphQL)```graphql mutation CreateFlow { createFlow( modelProvider: "openai" input: "Test the security of https://example.com" ) { id title status createdAt } } ```
    Elenco dei flussi (REST API)```bash curl https://your-pentagi-instance:8443/api/v1/flows \ -H "Authorization: Bearer YOUR_API_TOKEN" \ | jq '.flows[] | {id, title, status}' ```
    Esempio Client Python```python import requests

    class PentAGIClient: def init(self, base_url, api_token): self.base_url = base_url self.headers = { "Authorization": f"Bearer {api_token}", "Content-Type": "application/json" }

    root@kitploit:~
    def create_flow(self, provider, target):
        query = """
        mutation CreateFlow($provider: String!, $input: String!) {
          createFlow(modelProvider: $provider, input: $input) {
            id
            title
            status
          }
        }
        """
        response = requests.post(
            f"{self.base_url}/api/v1/graphql",
            json={
                "query": query,
                "variables": {
                    "provider": provider,
                    "input": target
                }
            },
            headers=self.headers
        )
        return response.json()
    
    def get_flows(self):
        response = requests.get(
            f"{self.base_url}/api/v1/flows",
            headers=self.headers
        )
        return response.json()
    

    Usage

    client = PentAGIClient( "https://your-pentagi-instance:8443", "your_api_token_here" )

    Create a new flow

    flow = client.create_flow("openai", "Scan https://example.com for vulnerabilities") print(f"Created flow: {flow}")

    List all flows

    flows = client.get_flows() print(f"Total flows: {len(flows['flows'])}")

    root@kitploit:~
    </details>
    
    <details>
    <summary><b>Esempio di Client TypeScript</b></summary>```typescript
    import axios, { AxiosInstance } from 'axios';
    
    interface Flow {
      id: string;
      title: string;
      status: string;
      createdAt: string;
    }
    
    class PentAGIClient {
      private client: AxiosInstance;
    
      constructor(baseURL: string, apiToken: string) {
        this.client = axios.create({
          baseURL: `${baseURL}/api/v1`,
          headers: {
            'Authorization': `Bearer ${apiToken}`,
            'Content-Type': 'application/json',
          },
        });
      }
    
      async createFlow(provider: string, input: string): Promise<Flow> {
        const query = `
          mutation CreateFlow($provider: String!, $input: String!) {
            createFlow(modelProvider: $provider, input: $input) {
              id
              title
              status
              createdAt
            }
          }
        `;
    
        const response = await this.client.post('/graphql', {
          query,
          variables: { provider, input },
        });
    
        return response.data.data.createFlow;
      }
    
      async getFlows(): Promise<Flow[]> {
        const response = await this.client.get('/flows');
        return response.data.flows;
      }
    
      async getFlow(flowId: string): Promise<Flow> {
        const response = await this.client.get(`/flows/${flowId}`);
        return response.data;
      }
    }
    
    // Usage
    const client = new PentAGIClient(
      'https://your-pentagi-instance:8443',
      'your_api_token_here'
    );
    
    // Create a new flow
    const flow = await client.createFlow(
      'openai',
      'Perform penetration test on https://example.com'
    );
    console.log('Created flow:', flow);
    
    // List all flows
    const flows = await client.getFlows();
    console.log(`Total flows: ${flows.length}`);
    

    Buone Pratiche di Sicurezza

    Quando si lavora con token API:

    • Non inserire mai i token nel controllo versione - usa variabili d'ambiente o la gestione dei segreti
    • Ruota i token regolarmente - imposta date di scadenza appropriate e crea nuovi token periodicamente
    • Usa token separati per diverse applicazioni - semplifica la revoca dell'accesso se necessario
    • Monitora l'uso dei token - controlla l'attività dei token API nella pagina Impostazioni
    • Revoca i token inutilizzati - disabilita o elimina i token che non servono più
    • Usa solo HTTPS - non inviare mai token API su connessioni non crittografate

    Gestione dei Token

    • Visualizza token: Vedi tutti i tuoi token attivi in Impostazioni → Token API
    • Modifica token: Aggiorna i nomi dei token o revoca i token
    • Elimina token: Rimuove i token in modo permanente (questa azione non può essere annullata)
    • ID token: Ogni token ha un ID univoco che può essere copiato come riferimento

    L'elenco dei token mostra:

    • Nome del token (se fornito)
    • ID token (identificatore univoco)
    • Stato (attivo/revocato/scaduto)
    • Data di creazione
    • Data di scadenza

    Configurazione del Provider LLM Personalizzato

    Quando si utilizzano provider LLM personalizzati con le variabili LLM_SERVER_*, è possibile ottimizzare il formato di ragionamento utilizzato nelle richieste.

    [!TIP] Per distribuzioni locali di livello produttivo, considera l'uso di vLLM con Qwen3.5-27B-FP8 per prestazioni ottimali. Consulta la nostra guida completa alla distribuzione che include requisiti hardware, modelli di configurazione (modalità pensiero e modalità non pensiero), e benchmark delle prestazioni che mostrano 13K TPS di elaborazione del prompt su 4 GPU RTX 5090.

    VariabilePredefinitoDescrizione
    LLM_SERVER_URLURL di base per l'endpoint API LLM personalizzato
    LLM_SERVER_KEYChiave API per il provider LLM personalizzato
    LLM_SERVER_MODELModello predefinito da utilizzare (può essere sovrascritto nella configurazione del provider)
    LLM_SERVER_CONFIG_PATHPercorso del file di configurazione YAML per modelli specifici dell'agente
    LLM_SERVER_PROVIDERPrefisso del nome del provider per i nomi dei modelli (es. openrouter, deepseek per proxy LiteLLM)
    LLM_SERVER_LEGACY_REASONINGfalseControlla il formato del ragionamento nelle richieste API
    LLM_SERVER_PRESERVE_REASONINGfalsePreserva il contenuto del ragionamento nelle conversazioni multi-turn (richiesto da alcuni provider)

    L'impostazione LLM_SERVER_PROVIDER è particolarmente utile quando si utilizza LiteLLM proxy, che aggiunge un prefisso del provider ai nomi dei modelli. Ad esempio, quando ci si connette all'API Moonshot tramite LiteLLM, modelli come kimi-2.5 diventano moonshot/kimi-2.5. Impostando LLM_SERVER_PROVIDER=moonshot, è possibile utilizzare lo stesso file di configurazione del provider sia per l'accesso diretto all'API che per l'accesso tramite proxy LiteLLM senza modifiche.

    L'impostazione LLM_SERVER_LEGACY_REASONING influisce su come i parametri di ragionamento vengono inviati al LLM:

    • false (default): Utilizza il formato moderno in cui il ragionamento viene inviato come oggetto strutturato con il parametro max_tokens
    • true: Utilizza il formato legacy con il parametro reasoning_effort basato su stringa

    Questa impostazione è importante quando si lavora con diversi provider LLM, poiché potrebbero aspettarsi formati di ragionamento diversi nelle loro richieste API. Se si incontrano errori relativi al ragionamento con provider personalizzati, prova a modificare questa impostazione.

    L'impostazione LLM_SERVER_PRESERVE_REASONING controlla se il contenuto del ragionamento viene preservato nelle conversazioni multi-turn:

    • false (default): Il contenuto del ragionamento non viene preservato nella cronologia della conversazione
    • true: Il contenuto del ragionamento viene preservato e inviato nelle chiamate API successive

    Questa impostazione è richiesta da alcuni provider LLM (es. Moonshot) che restituiscono errori come "thinking is enabled but reasoning_content is missing in assistant tool call message" quando il contenuto del ragionamento non è incluso nelle conversazioni multi-turn. Abilita questa impostazione se il tuo provider richiede che il contenuto del ragionamento venga preservato.

    Configurazione del Provider Ollama

    PentAGI supporta Ollama sia per l'inferenza LLM locale (costo zero, privacy migliorata) che per Ollama Cloud (servizio gestito con livello gratuito).

    Variabili di Configurazione

    VariabilePredefinitoDescrizione
    OLLAMA_SERVER_URLURL del tuo server Ollama o Ollama Cloud
    OLLAMA_SERVER_API_KEYChiave API per l'autenticazione Ollama Cloud
    OLLAMA_SERVER_MODELModello predefinito per l'inferenza
    OLLAMA_SERVER_CONFIG_PATHPercorso del file di configurazione personalizzato dell'agente
    OLLAMA_SERVER_PULL_MODELS_TIMEOUT600Timeout per il download dei modelli (secondi)
    OLLAMA_SERVER_PULL_MODELS_ENABLEDfalseScarica automaticamente i modelli all'avvio
    OLLAMA_SERVER_LOAD_MODELS_ENABLEDfalseInterroga il server per i modelli disponibili

    Configurazione di Ollama Cloud

    Ollama Cloud fornisce inferenza gestita con un generoso livello gratuito e piani a pagamento scalabili.

    Configurazione del Livello Gratuito (Modello Singolo)```bash

    Free tier allows one model at a time

    OLLAMA_SERVER_URL=https://ollama.com OLLAMA_SERVER_API_KEY=your_ollama_cloud_api_key OLLAMA_SERVER_MODEL=gpt-oss:120b # Example: OpenAI OSS 120B model

    root@kitploit:~
    **Configurazione del livello a pagamento (Multi-modello con configurazione predefinita)**
    
    Per i livelli a pagamento che supportano più modelli concorrenti, utilizzare la configurazione predefinita di Ollama Cloud:```bash
    # Using pre-built Ollama Cloud configuration (included in Docker image)
    OLLAMA_SERVER_URL=https://ollama.com
    OLLAMA_SERVER_API_KEY=your_ollama_cloud_api_key
    OLLAMA_SERVER_CONFIG_PATH=/opt/pentagi/conf/ollama-cloud.provider.yml
    

    La configurazione predefinita ollama-cloud.provider.yml include assegnazioni ottimizzate dei modelli per tutti i tipi di agente:

    • Semplice/Assistente: nemotron-3-super:cloud - Modello generico veloce
    • Agente primario: qwen3-coder-next:cloud - Ragionamento avanzato con modalità ad alto sforzo
    • Codificatore/Pentester: qwen3-coder-next:cloud - Modelli di codifica specializzati
    • Ricercatore: qwen3.5:397b-cloud - Contesto ampio per la raccolta di informazioni
    • Raffinatore/Rifattorizzatore: glm-5:cloud - Raffinamento testuale di alta qualità
    • Consigliere/Arricchitore: minimax-m2.7:cloud - Attività di consulenza efficienti
    • Installatore: devstral-2:123b-cloud - Attività di installazione e configurazione

    Configurazione personalizzata (Avanzata)

    Per creare la tua configurazione degli agenti, monta un file personalizzato dal tuo filesystem host:```bash

    Using custom provider configuration

    OLLAMA_SERVER_URL=https://ollama.com OLLAMA_SERVER_API_KEY=your_ollama_cloud_api_key OLLAMA_SERVER_CONFIG_PATH=/opt/pentagi/conf/ollama.provider.yml

    Mount custom configuration from host filesystem (in .env or docker-compose override)

    PENTAGI_OLLAMA_SERVER_CONFIG_PATH=/path/on/host/my-ollama-config.yml

    root@kitploit:~
    La variabile d'ambiente `PENTAGI_OLLAMA_SERVER_CONFIG_PATH` mappa il file di configurazione dell'host a `/opt/pentagi/conf/ollama.provider.yml` all'interno del container.
    
    **Esempio di configurazione personalizzata** (`my-ollama-config.yml`):```yaml
    primary_agent:
      model: "qwen3-coder-next:cloud"
      temperature: 1.0
      top_p: 0.9
      max_tokens: 32768
      reasoning:
        effort: high
    
    coder:
      model: "qwen3-coder:32b"
      temperature: 1.0
      max_tokens: 20480
    

    Configurazione Locale di Ollama

    Per istanze Ollama auto-ospitate:```bash

    Basic local Ollama setup

    OLLAMA_SERVER_URL=http://localhost:11434 OLLAMA_SERVER_MODEL=llama3.1:8b-instruct-q8_0

    Production setup with auto-pull and model discovery

    OLLAMA_SERVER_URL=http://ollama-server:11434 OLLAMA_SERVER_PULL_MODELS_ENABLED=true OLLAMA_SERVER_PULL_MODELS_TIMEOUT=900 OLLAMA_SERVER_LOAD_MODELS_ENABLED=true

    Using pre-built configurations from Docker image

    OLLAMA_SERVER_CONFIG_PATH=/opt/pentagi/conf/ollama-llama318b.provider.yml

    or

    OLLAMA_SERVER_CONFIG_PATH=/opt/pentagi/conf/ollama-qwen332b-fp16-tc.provider.yml

    or

    OLLAMA_SERVER_CONFIG_PATH=/opt/pentagi/conf/ollama-qwq32b-fp16-tc.provider.yml

    root@kitploit:~
    **Considerazioni sulle Prestazioni:**
    
    - **Scoperta dei Modelli** (`OLLAMA_SERVER_LOAD_MODELS_ENABLED=true`): Aggiunge 1-2 secondi di latenza all'avvio per interrogare l'API di Ollama
    - **Download Automatico** (`OLLAMA_SERVER_PULL_MODELS_ENABLED=true`): Il primo avvio potrebbe richiedere diversi minuti per scaricare i modelli
    - **Timeout di Download** (`OLLAMA_SERVER_PULL_MODELS_TIMEOUT=900`): 15 minuti in secondi
    - **Configurazione Static**: Disabilita entrambi i flag e specifica i modelli nel file di configurazione per un avvio più rapido
    
    #### Creazione di Modelli Ollama Personalizzati con Contesto Esteso
    
    PentAGI richiede modelli con finestre di contesto più ampie rispetto alle configurazioni predefinite di Ollama. Devi creare modelli personalizzati con un parametro `num_ctx` aumentato tramite Modelfiles. Mentre i flussi di lavoro tipici degli agenti consumano circa 64K token, PentAGI utilizza una dimensione di contesto di 110K per un margine di sicurezza e per gestire scenari complessi di test di penetrazione.
    
    **Importante**: Il parametro `num_ctx` può essere impostato solo durante la creazione del modello tramite Modelfile - non può essere modificato dopo la creazione del modello o sovrascritto in fase di esecuzione.
    
    ##### Esempio: Qwen3 32B FP16 con Contesto Esteso
    
    Crea un Modelfile denominato `Modelfile_qwen3_32b_fp16_tc`:```dockerfile
    FROM qwen3:32b-fp16
    PARAMETER num_ctx 110000
    PARAMETER temperature 0.3
    PARAMETER top_p 0.8
    PARAMETER min_p 0.0
    PARAMETER top_k 20
    PARAMETER repeat_penalty 1.1
    

    Costruisci il modello personalizzato:```bash ollama create qwen3:32b-fp16-tc -f Modelfile_qwen3_32b_fp16_tc

    root@kitploit:~
    ##### Esempio: QwQ 32B FP16 with Extended Context
    
    Crea un Modelfile chiamato `Modelfile_qwq_32b_fp16_tc`:```dockerfile
    FROM qwq:32b-fp16
    PARAMETER num_ctx 110000
    PARAMETER temperature 0.2
    PARAMETER top_p 0.7
    PARAMETER min_p 0.0
    PARAMETER top_k 40
    PARAMETER repeat_penalty 1.2
    

    Costruisci il modello personalizzato:```bash ollama create qwq:32b-fp16-tc -f Modelfile_qwq_32b_fp16_tc

    root@kitploit:~
    > **Nota**: Il modello QwQ 32B FP16 richiede circa **71.3 GB VRAM** per l'inferenza. Assicurati che il tuo sistema abbia sufficiente memoria GPU prima di tentare di utilizzare questo modello.
    
    Questi modelli personalizzati sono referenziati nei file di configurazione del provider predefiniti (`ollama-qwen332b-fp16-tc.provider.yml` e `ollama-qwq32b-fp16-tc.provider.yml`) che sono inclusi nell'immagine Docker in `/opt/pentagi/conf/`.
    
    ### Configurazione del Provider OpenAI
    
    PentAGI si integra con la lineup completa di modelli di OpenAI, offrendo capacità di ragionamento avanzate con chain-of-thought esteso, modelli agentici con integrazione potenziata degli strumenti e modelli di codice specializzati per l'ingegneria della sicurezza.
    
    #### Variabili di Configurazione
    
    | Variabile             | Predefinito                 | Descrizione                 |
    | -------------------- | --------------------------- | --------------------------- |
    | `OPEN_AI_KEY`        |                             | Chiave API per i servizi OpenAI |
    | `OPEN_AI_SERVER_URL` | `https://api.openai.com/v1` | Endpoint API di OpenAI         |
    
    #### Esempi di Configurazione```bash
    # Basic OpenAI setup
    OPEN_AI_KEY=your_openai_api_key
    OPEN_AI_SERVER_URL=https://api.openai.com/v1
    
    # Using with proxy for enhanced security
    OPEN_AI_KEY=your_openai_api_key
    PROXY_URL=http://your-proxy:8080
    

    Modelli Supportati

    PentAGI supporta 31 modelli OpenAI con chiamata a strumenti, streaming, modalità di ragionamento e caching dei prompt. I modelli contrassegnati con * sono utilizzati nella configurazione predefinita.

    Serie GPT-5.2 - Ultima Ammiraglia Agente (Dicembre 2025)

    Model IDThinkingPrezzo (Input/Output/Cache)Caso d'Uso
    gpt-5.2*✅$1.75/$14.00/$0.18Ultima ammiraglia con ragionamento avanzato e integrazione di strumenti, ricerca autonoma della sicurezza
    gpt-5.2-pro✅$21.00/$168.00/$0.00Versione premium con codifica agente superiore, ricerca di sicurezza mission-critical, scoperta di zero-day
    gpt-5.2-codex✅$1.75/$14.00/$0.18Il più avanzato specializzato per codice, compattazione del contesto, forti capacità di cybersecurity

    Serie GPT-5/5.1 - Modelli Agentici Avanzati

    Model IDThinkingPrezzo (Input/Output/Cache)Caso d'Uso
    gpt-5✅$1.25/$10.00/$0.13Agente premium con ragionamento avanzato, ricerca di sicurezza autonoma, sviluppo di catene di exploit
    gpt-5.1✅$1.25/$10.00/$0.13Agente potenziato con ragionamento adattivo, test di penetrazione bilanciati con forte coordinamento di strumenti
    gpt-5-pro✅$15.00/$120.00/$0.00Versione premium con importanti miglioramenti al ragionamento, allucinazioni ridotte, operazioni di sicurezza critiche
    gpt-5-mini✅$0.25/$2.00/$0.03Efficiente bilanciamento tra velocità e intelligenza, analisi automatica delle vulnerabilità, generazione di exploit
    gpt-5-nano✅$0.05/$0.40/$0.01Il più veloce per scansione ad alto throughput, ricognizione, rilevamento di massa delle vulnerabilità

    Serie GPT-5/5.1 Codex - Specializzata per Codice

    Model IDThinkingPrezzo (Input/Output/Cache)Caso d'Uso
    gpt-5.1-codex-max✅$1.25/$10.00/$0.13Ragionamento potenziato per codifica sofisticata, risultati CVE comprovati, sviluppo sistematico di exploit
    gpt-5.1-codex✅$1.25/$10.00/$0.13Standard ottimizzato per codice con forte ragionamento, generazione di exploit, analisi delle vulnerabilità
    gpt-5-codex✅$1.25/$10.00/$0.13Specializzato per codice di base, scansione delle vulnerabilità, generazione base di exploit
    gpt-5.1-codex-mini✅$0.25/$2.00/$0.03Compatto ad alte prestazioni, capacità 4x superiore, rilevamento rapido delle vulnerabilità
    codex-mini-latest✅$1.50/$6.00/$0.38Ultimo modello compatto per codice, revisione automatica del codice, analisi di base delle vulnerabilità

    Serie GPT-4.1 - Intelligenza Potenziata

    Model IDThinkingPrezzo (Input/Output/Cache)Caso d'Uso
    gpt-4.1❌$2.00/$8.00/$0.50Ammiraglia potenziata con chiamata a funzione superiore, analisi delle minacce complesse, sviluppo sofisticato di exploit
    gpt-4.1-mini*❌$0.40/$1.60/$0.10Prestazioni bilanciate con efficienza migliorata, valutazioni di sicurezza di routine, analisi automatica del codice
    gpt-4.1-nano❌$0.10/$0.40/$0.03Ultra-veloce e leggero, scansione di sicurezza di massa, ricognizione rapida, monitoraggio continuo

    Serie GPT-4o - Ammiraglia Multimodale

    Model IDThinkingPrezzo (Input/Output/Cache)Caso d'Uso
    gpt-4o❌$2.50/$10.00/$1.25Ammiraglia multimodale con visione, analisi delle immagini, valutazione dell'interfaccia web, orchestrazione multi-strumento
    gpt-4o-mini❌$0.15/$0.60/$0.08Multimodale compatto con forte chiamata a funzione, scansione ad alta frequenza, operazioni di massa convenienti

    Serie o - Modelli di Ragionamento Avanzati

    Model IDThinkingPrezzo (Input/Output/Cache)Caso d'Uso
    o4-mini*✅$1.10/$4.40/$0.28Ragionamento di nuova generazione con velocità potenziata, valutazioni di sicurezza metodiche, sviluppo sistematico di exploit
    o3*✅$2.00/$8.00/$0.50Potenza del ragionamento avanzato, catene di attacco multi-stadio, analisi approfondita delle vulnerabilità
    o3-mini✅$1.10/$4.40/$0.55Ragionamento compatto con pensiero esteso, pianificazione dell'attacco passo-passo, concatenamento logico delle vulnerabilità
    o1✅$15.00/$60.00/$7.50Ragionamento premium con massima profondità, test di penetrazione avanzati, ricerca di nuovi exploit
    o3-pro✅$20.00/$80.00/$0.00Ragionamento più avanzato, 80% più economico di o1-pro, ricerca di zero-day, indagini di sicurezza critiche
    o1-pro✅$150.00/$600.00/$0.00Ragionamento premium di generazione precedente, analisi di sicurezza esaustiva, sfide mission-critical

    Prezzi: Per 1 milione di token. I modelli di ragionamento includono i token di pensiero nel prezzo di output.

    [!WARNING] Modelli GPT-5 - Accesso Fidato Richiesto*

    Tutti i modelli della serie GPT-5 (gpt-5, gpt-5.1, gpt-5.2, gpt-5-pro, gpt-5.2-pro, e tutte le varianti Codex) funzionano in modo instabile con PentAGI e possono attivare i meccanismi di sicurezza informatica di OpenAI senza accesso verificato.

    Per utilizzare i modelli GPT-5 in modo affidabile:*

    1. Utenti individuali: Verifica la tua identità su chatgpt.com/cyber
    2. Team aziendali: Richiedi l'accesso fidato tramite il tuo rappresentante OpenAI
    3. Ricercatori di sicurezza: Candidati al Programma di Sovvenzioni per la Cybersecurity (include crediti API da 10 milioni di dollari)

    Alternative consigliate senza verifica:

    • Usa i modelli o-series (o3, o4-mini, o1) per attività di ragionamento
    • Usa la serie gpt-4.1 per intelligenza generale e chiamata a funzione
    • Tutti i modelli o-series e gpt-4.x funzionano in modo affidabile senza accesso speciale

    Livelli di Sforzo di Ragionamento:

    • Alto: Massima profondità di ragionamento (refiner - o3 con sforzo alto)
    • Medio: Ragionamento bilanciato (primary_agent, assistant, reflector - o4-mini/o3 con sforzo medio)
    • Basso: Ragionamento mirato efficiente (coder, installer, pentester - o3/o4-mini con sforzo basso; adviser - gpt-5.2 con sforzo basso)

    Caratteristiche Principali:

    • Ragionamento Esteso: modelli o-series con chain-of-thought per analisi di sicurezza complesse
    • Intelligenza Agente: serie GPT-5/5.1/5.2 con integrazione di strumenti potenziata e capacità autonome
    • Caching dei Prompt: Riduzione dei costi su contesti ripetuti (10-50% del prezzo di input)
    • Specializzazione per Codice: modelli Codex dedicati per scoperta di vulnerabilità e sviluppo di exploit
    • Supporto Multimodale: serie GPT-4o per valutazioni di sicurezza basate su visione
    • Chiamata a Strumenti: Chiamata a funzione robusta su tutti i modelli per orchestrazione di strumenti di pentest
    • Streaming: Streaming delle risposte in tempo reale per flussi di lavoro interattivi
    • Track Record Comprovato: Modelli leader di settore con scoperte CVE e applicazioni di sicurezza reali

    Configurazione del Provider Anthropic

    PentAGI si integra con i modelli Claude di Anthropic, offrendo capacità avanzate di pensiero esteso, meccanismi di sicurezza eccezionali e una comprensione sofisticata dei contesti di sicurezza complessi con caching dei prompt.

    Variabili di Configurazione

    VariabilePredefinitoDescrizione
    ANTHROPIC_API_KEYChiave API per i servizi Anthropic
    ANTHROPIC_SERVER_URLhttps://api.anthropic.com/v1Endpoint API Anthropic

    Esempi di Configurazione```bash

    Basic Anthropic setup

    ANTHROPIC_API_KEY=your_anthropic_api_key ANTHROPIC_SERVER_URL=https://api.anthropic.com/v1

    Using with proxy for secure environments

    ANTHROPIC_API_KEY=your_anthropic_api_key PROXY_URL=http://your-proxy:8080

    root@kitploit:~
    > [!NOTE]
    > **Google Vertex AI per i modelli Claude**
    >
    > PentAGI al momento non espone un percorso di configurazione dedicato per Google Vertex AI per Anthropic Claude in `.env`. Non esiste ancora un campo separato per la chiave API di Vertex AI, e le variabili Anthropic esistenti (`ANTHROPIC_API_KEY`, `ANTHROPIC_SERVER_URL`) puntano all'API Anthropic diretta. Le route supportate per Claude sono:
    >
    > - **API Anthropic diretta**: `ANTHROPIC_API_KEY` e `ANTHROPIC_SERVER_URL` (vedi sopra).
    > - **AWS Bedrock**: variabili `BEDROCK_*` (vedi [Configurazione del provider AWS Bedrock](#aws-bedrock-provider-configuration)).
    >
    > Se hai bisogno di usare Vertex AI oggi, la soluzione alternativa supportata più sicura è esporre Vertex AI attraverso un proxy o gateway compatibile con OpenAI che traduce le chiamate Vertex AI nel formato Chat Completions preservando il comportamento di chat e tool-call su cui PentAGI si basa, quindi puntare il provider LLM personalizzato a quel gateway tramite `LLM_SERVER_URL`, `LLM_SERVER_KEY` e `LLM_SERVER_MODEL`. Questo percorso è affidabile solo quanto il gateway scelto.
    
    #### Modelli Supportati
    
    PentAGI supporta 10 modelli Claude con chiamata di strumenti, streaming, pensiero esteso, pensiero adattivo e caching dei prompt. I modelli contrassegnati con `*` sono utilizzati nella configurazione predefinita.
    
    **Serie Claude 4 - Modelli più recenti (2025-2026)**
    
    | ID Modello             | Pensiero | Data di rilascio | Prezzo (Input/Output/Cache L/S) | Casi d'uso                                      |
    | ---------------------- | -------- | ---------------- | ------------------------------- | ----------------------------------------------- |
    | `claude-opus-4-6`*     | ✅        | Maggio 2025      | $5.00/$25.00/$0.50/$6.25        | Modello più intelligente per agenti autonomi e codifica. Pensiero esteso + adattivo per sviluppo di exploit complessi, simulazione di attacchi multi-stadio |
    | `claude-sonnet-4-6`*   | ✅        | Agosto 2025      | $3.00/$15.00/$0.30/$3.75        | Miglior equilibrio velocità/intelligenza con pensiero adattivo. Valutazioni di sicurezza multi-fase, analisi intelligente delle vulnerabilità, caccia alle minacce in tempo reale |
    | `claude-haiku-4-5`*    | ✅        | Ottobre 2025     | $1.00/$5.00/$0.10/$1.25         | Modello più veloce con intelligenza quasi di frontiera. Scansione ad alta frequenza, monitoraggio in tempo reale, test automatizzati in blocco |
    
    **Modelli Legacy - Ancora Supportati**
    
    | ID Modello             | Pensiero | Data di rilascio | Prezzo (Input/Output/Cache L/S) | Casi d'uso                                      |
    | ---------------------- | -------- | ---------------- | ------------------------------- | ----------------------------------------------- |
    | `claude-sonnet-4-5`    | ✅        | Settembre 2025   | $3.00/$15.00/$0.30/$3.75        | Ragionamento all'avanguardia (sostituito da 4-6). Penetration testing sofisticato, analisi avanzata delle minacce |
    | `claude-opus-4-5`      | ✅        | Novembre 2025    | $5.00/$25.00/$0.50/$6.25        | Ragionamento ultimo (sostituito da opus-4-6). Ricerca critica sulla sicurezza, scoperta di zero-day, operazioni red team |
    | `claude-opus-4-1`      | ✅        | Agosto 2025      | $15.00/$75.00/$1.50/$18.75      | Ragionamento avanzato (sostituito). Penetration testing complesso, modellazione sofisticata delle minacce |
    | `claude-sonnet-4-0`    | ✅        | Maggio 2025      | $3.00/$15.00/$0.30/$3.75        | Ragionamento ad alte prestazioni (sostituito). Modellazione complessa delle minacce, coordinamento multi-strumento |
    | `claude-opus-4-0`      | ✅        | Maggio 2025      | $15.00/$75.00/$1.50/$18.75      | Prima generazione Opus (sostituito). Sviluppo di exploit multi-step, flussi di lavoro di pentesting autonomi |
    
    **Modelli Deprecati - Migrare ai Modelli Correnti**
    
    | ID Modello                   | Pensiero | Data di rilascio | Prezzo (Input/Output/Cache L/S) | Note                                         |
    | ---------------------------- | -------- | ---------------- | ------------------------------- | --------------------------------------------- |
    | `claude-3-haiku-20240307`    | ❌        | Marzo 2024       | $0.25/$1.25/$0.03/$0.30         | Sarà ritirato il 19 aprile 2026. Migrare a claude-haiku-4-5 |
    
    **Prezzi**: Per 1M token. Il prezzo della cache include sia i costi di Lettura che di Scrittura.
    
    **Configurazione del Pensiero Esteso**:
    - **Max Tokens 4096**: Generatore (claude-opus-4-6) per massima profondità di ragionamento su sviluppo di exploit complessi
    - **Max Tokens 2048**: Codificatore (claude-sonnet-4-6) per analisi del codice bilanciata e ricerca di vulnerabilità  
    - **Max Tokens 1024**: Agente primario, assistente, affinatore, consulente, riflettore, cercatore, installatore, pentester per ragionamento focalizzato su compiti specifici
    - **Pensiero Esteso**: Tutti i modelli Claude 4.5+ e 4.6 supportano il pensiero esteso configurabile per compiti di ragionamento profondo
    
    **Caratteristiche Principali**:
    - **Pensiero Esteso**: Tutti i modelli Claude 4.5+ e 4.6 con profondità di ragionamento chain-of-thought configurabili per analisi di sicurezza complesse
    - **Pensiero Adattivo**: La serie Claude 4.6 (Opus/Sonnet) regola dinamicamente la profondità di ragionamento in base alla complessità del compito per prestazioni ottimali
    - **Caching dei Prompt**: Riduzione significativa dei costi con prezzi separati di lettura/scrittura (10% lettura, 125% scrittura dell'input)
    - **Finestra di Contesto Estesa**: 200K token standard, fino a 1M token (beta) per Claude Opus/Sonnet 4.6 per analisi completa del codebase
    - **Chiamata di Strumenti**: Chiamata di funzioni robusta con eccezionale accuratezza per l'orchestrazione di strumenti di sicurezza
    - **Streaming**: Streaming di risposte in tempo reale per flussi di lavoro di penetration testing interattivi
    - **Design Safety-First**: Meccanismi di sicurezza integrati che garantiscono pratiche di test di sicurezza responsabili
    - **Supporto Multimodale**: Capacità di visione nei modelli più recenti per analisi di screenshot e valutazione della sicurezza dell'interfaccia utente
    - **AI Costituzionale**: Formazione sulla sicurezza avanzata che fornisce una guida alla sicurezza affidabile ed etica
    
    ### Configurazione del Provider Google AI (Gemini)
    
    PentAGI si integra con i modelli Gemini di Google tramite l'API Google AI, offrendo capacità di ragionamento multimodale all'avanguardia con pensiero esteso e caching del contesto.
    
    #### Variabili di Configurazione
    
    | Variabile           | Default                                     | Descrizione                    |
    | ------------------- | ------------------------------------------- | ------------------------------ |
    | `GEMINI_API_KEY`    |                                             | Chiave API per i servizi Google AI |
    | `GEMINI_SERVER_URL` | `https://generativelanguage.googleapis.com` | Endpoint API Google AI         |
    
    #### Esempi di Configurazione```bash
    # Basic Gemini setup
    GEMINI_API_KEY=your_gemini_api_key
    GEMINI_SERVER_URL=https://generativelanguage.googleapis.com
    
    # Using with proxy
    GEMINI_API_KEY=your_gemini_api_key
    PROXY_URL=http://your-proxy:8080
    

    Modelli Supportati

    PentAGI supporta 9 modelli Gemini con chiamata di strumenti, streaming, modalità di pensiero e caching del contesto. I modelli contrassegnati con * sono utilizzati nella configurazione predefinita.

    Serie Gemini 3.5 - Flash Stabile più Recente (Maggio 2026)

    ID ModelloRagionamentoContestoPrezzo (Input/Output/Cache)Caso d'uso
    gemini-3.5-flash*✅1M$1.50/$9.00/$0.15Modello Flash più intelligente con prestazioni di frontiera sostenute su attività agentiche e di coding, ricerca e grounding superiori

    Serie Gemini 3.1 - Flash-Lite Stabile + Anteprima Pro (Febbraio-Maggio 2026)

    ID ModelloRagionamentoContestoPrezzo (Input/Output/Cache)Caso d'uso
    gemini-3.1-pro-preview*✅1M$2.00/$12.00/$0.20Ultimo modello di punta con ragionamento raffinato, efficienza dei token migliorata, ottimizzato per ingegneria del software e flussi di lavoro agentici
    gemini-3.1-pro-preview-customtools✅1M$2.00/$12.00/$0.20Endpoint strumenti personalizzati ottimizzato per la priorizzazione di bash e strumenti personalizzati (view_file, search_code)
    gemini-3.1-flash-lite*✅1M$0.25/$1.50/$0.025Modello multimodale stabile più conveniente, prestazioni di livello frontiera per attività agentiche ad alto volume e applicazioni a bassa latenza

    Serie Gemini 2.5 - Modelli di Ragionamento Avanzato (attivi fino al 16 ottobre 2026)

    ID ModelloRagionamentoContestoPrezzo (Input/Output/Cache)Caso d'uso
    gemini-2.5-pro✅1M$1.25/$10.00/$0.125All'avanguardia per coding e ragionamento complessi, modellazione avanzata delle minacce
    gemini-2.5-flash✅1M$0.30/$2.50/$0.03Primo modello di ragionamento ibrido con budget di pensiero, miglior rapporto prezzo-prestazioni per valutazioni su larga scala
    gemini-2.5-flash-lite✅1M$0.10/$0.40/$0.01Il più piccolo ed economico per uso su larga scala, scansione ad alta produttività

    Modelli Open-Source Gemma 4 (Apache 2.0, Livello Gratuito)

    ID ModelloRagionamentoContestoPrezzo (Input/Output/Cache)Caso d'uso
    gemma-4-31b-it✅256KGratuito/Gratuito/GratuitoIl più grande modello denso Gemma 4 open-source (~31B parametri), multimodale testo+immagine, 140+ lingue, operazioni di sicurezza on-premises
    gemma-4-26b-a4b-it✅256KGratuito/Gratuito/GratuitoArchitettura MoE (~26B totali / ~3.8B parametri attivi), inferenza altamente efficiente su GPU consumer per scansione ad alta produttività on-premises

    Prezzi: Per 1 milione di token (livello Standard a pagamento). La finestra di contesto è il limite di token di input.

    [!NOTE] Spegnimento della serie Gemini 2.5

    gemini-2.5-pro, gemini-2.5-flash e gemini-2.5-flash-lite verranno spenti il 16 ottobre 2026. Migrazioni consigliate:

    • gemini-2.5-pro → gemini-3.1-pro-preview (stesso livello di prezzo di input $2.00)
    • gemini-2.5-flash → gemini-3.5-flash (capacità di frontiera migliorate)
    • gemini-2.5-flash-lite → gemini-3.1-flash-lite (stesso prezzo di input $0.25)

    Assegnazioni dei Modelli Predefinite (config.yml):

    • gemini-3.1-pro-preview - primary_agent, assistant, generator, refiner, adviser, coder, pentester
    • gemini-3.5-flash - reflector, searcher, enricher, installer
    • gemini-3.1-flash-lite - simple, simple_json

    Caratteristiche Principali:

    • Ragionamento Esteso: Ragionamento passo-passo per analisi di sicurezza complesse (tutti i modelli Gemini 3.x, serie 2.5 e Gemma 4 con pensiero attivabile)
    • Caching del Contesto: Riduzione significativa dei costi su contesto ripetuto (10% del prezzo di input per la maggior parte dei modelli)
    • Contesto Ultra-Lungo: 1 milione di token per i modelli di chat Gemini, 256K token per i modelli open-source Gemma 4
    • Supporto Multimodale: Elaborazione di testo, immagini, video, audio e PDF per valutazioni complete
    • Chiamata di Strumenti: Integrazione seamless con oltre 20 strumenti di pentesting tramite chiamata di funzioni
    • Streaming: Streaming delle risposte in tempo reale per flussi di lavoro di sicurezza interattivi
    • Esecuzione di Codice: Esecuzione di codice integrata per test di strumenti offensivi e validazione di exploit
    • Grounding di Ricerca: Integrazione con Google Ricerca per intelligence sulle minacce e ricerca CVE
    • Ricerca File: Recupero documenti e capacità RAG per valutazioni basate sulla conoscenza
    • API Batch: Riduzione del 50% dei costi per elaborazione batch non in tempo reale
    • Endpoint Strumenti Personalizzati: Percorso dedicato gemini-3.1-pro-preview-customtools per flussi di lavoro agentici con molti strumenti che preferiscono strumenti registrati rispetto a bash

    Livelli di Sforzo di Ragionamento:

    • Alto: Massima profondità di pensiero per analisi complesse multi-step (generator)
    • Medio: Ragionamento bilanciato per attività agentiche generali (primary_agent, assistant, refiner, adviser)
    • Basso: Pensiero efficiente per attività mirate (coder, installer, pentester)

    Configurazione del Provider AWS Bedrock

    PentAGI si integra con Amazon Bedrock, offrendo accesso a oltre 20 modelli foundation di aziende leader nell'AI tra cui Anthropic, Amazon, Cohere, DeepSeek, OpenAI, Qwen, Mistral e Moonshot.

    Variabili di Configurazione

    VariabilePredefinitoDescrizione
    BEDROCK_REGIONus-east-1Regione AWS per il servizio Bedrock
    BEDROCK_DEFAULT_AUTHfalseUsa la catena di credenziali predefinita dell'AWS SDK (ambiente, ruolo EC2, ~/.aws/credentials) - priorità massima
    BEDROCK_BEARER_TOKENAutenticazione tramite token Bearer - priorità rispetto alle credenziali statiche
    BEDROCK_ACCESS_KEY_IDID chiave di accesso AWS per credenziali statiche
    BEDROCK_SECRET_ACCESS_KEYChiave di accesso segreta AWS per credenziali statiche
    BEDROCK_SESSION_TOKENToken di sessione AWS per credenziali temporanee (opzionale, usato con credenziali statiche)
    BEDROCK_SERVER_URLEndpoint Bedrock personalizzato (endpoint VPC, test locali)

    Priorità di Autenticazione: BEDROCK_DEFAULT_AUTH → BEDROCK_BEARER_TOKEN → BEDROCK_ACCESS_KEY_ID+BEDROCK_SECRET_ACCESS_KEY

    Esempi di Configurazione```bash

    Recommended: Default AWS SDK authentication (EC2/ECS/Lambda roles)

    BEDROCK_REGION=us-east-1 BEDROCK_DEFAULT_AUTH=true

    Bearer token authentication (AWS STS, custom auth)

    BEDROCK_REGION=us-east-1 BEDROCK_BEARER_TOKEN=your_bearer_token

    Static credentials (development, testing)

    BEDROCK_REGION=us-east-1 BEDROCK_ACCESS_KEY_ID=your_aws_access_key BEDROCK_SECRET_ACCESS_KEY=your_aws_secret_key

    With proxy and custom endpoint

    BEDROCK_REGION=us-east-1 BEDROCK_DEFAULT_AUTH=true BEDROCK_SERVER_URL=https://bedrock-runtime.us-east-1.vpce-xxx.amazonaws.com PROXY_URL=http://your-proxy:8080

    root@kitploit:~
    #### Modelli Supportati
    
    PentAGI supporta 21 modelli AWS Bedrock con capacità di tool calling, streaming e multimodalità. I modelli contrassegnati con `*` sono utilizzati nella configurazione predefinita.
    
    | Model ID                                         | Provider        | Pensiero | Multimodale | Prezzo (Input/Output) | Caso d'Uso                               |
    | ------------------------------------------------ | --------------- | -------- | ----------- | -------------------- | --------------------------------------- |
    | `us.amazon.nova-2-lite-v1:0`                     | Amazon Nova     | ❌        | ✅          | $0.33/$2.75          | Ragionamento adattivo, pensiero efficiente |
    | `us.amazon.nova-premier-v1:0`                    | Amazon Nova     | ❌        | ✅          | $2.50/$12.50         | Ragionamento complesso, analisi avanzata |
    | `us.amazon.nova-pro-v1:0`                        | Amazon Nova     | ❌        | ✅          | $0.80/$3.20          | Accuratezza, velocità e costo bilanciati |
    | `us.amazon.nova-lite-v1:0`                       | Amazon Nova     | ❌        | ✅          | $0.06/$0.24          | Elaborazione veloce, operazioni ad alto volume |
    | `us.amazon.nova-micro-v1:0`                      | Amazon Nova     | ❌        | ❌          | $0.035/$0.14         | Latenza ultra-bassa, monitoraggio in tempo reale |
    | `us.anthropic.claude-opus-4-6-v1`*               | Anthropic       | ✅        | ✅          | $5.00/$25.00         | Codifica di livello mondiale, agenti enterprise |
    | `us.anthropic.claude-sonnet-4-6`                 | Anthropic       | ✅        | ✅          | $3.00/$15.00         | Intelligenza di frontiera, scala enterprise |
    | `us.anthropic.claude-opus-4-5-20251101-v1:0`     | Anthropic       | ✅        | ✅          | $5.00/$25.00         | Sviluppo software multi-giorno          |
    | `us.anthropic.claude-haiku-4-5-20251001-v1:0`*   | Anthropic       | ✅        | ✅          | $1.00/$5.00          | Prestazioni quasi di frontiera, alta velocità |
    | `us.anthropic.claude-sonnet-4-5-20250929-v1:0`*  | Anthropic       | ✅        | ✅          | $3.00/$15.00         | Agenti per il mondo reale, eccellenza nella codifica |
    | `us.anthropic.claude-sonnet-4-20250514-v1:0`     | Anthropic       | ✅        | ✅          | $3.00/$15.00         | Prestazioni bilanciate, pronto per la produzione |
    | `us.anthropic.claude-3-5-haiku-20241022-v1:0`    | Anthropic       | ❌        | ❌          | $0.80/$4.00          | Modello più veloce, scansione economica  |
    | `cohere.command-r-plus-v1:0`                     | Cohere          | ❌        | ❌          | $3.00/$15.00         | Operazioni su larga scala, RAG superiore |
    | `deepseek.v3.2`                                  | DeepSeek        | ❌        | ❌          | $0.58/$1.68          | Ragionamento a contesto lungo, efficienza |
    | `openai.gpt-oss-120b-1:0`*                       | OpenAI (OSS)    | ✅        | ❌          | $0.15/$0.60          | Forte ragionamento, analisi scientifica   |
    | `openai.gpt-oss-20b-1:0`                         | OpenAI (OSS)    | ✅        | ❌          | $0.07/$0.30          | Codifica efficiente, sviluppo software  |
    | `qwen.qwen3-next-80b-a3b`                        | Qwen            | ❌        | ❌          | $0.15/$1.20          | Contesto ultra-lungo, ragionamento di riferimento |
    | `qwen.qwen3-32b-v1:0`                            | Qwen            | ❌        | ❌          | $0.15/$0.60          | Ragionamento bilanciato, casi d'uso di ricerca |
    | `qwen.qwen3-coder-30b-a3b-v1:0`                  | Qwen            | ❌        | ❌          | $0.15/$0.60          | Codifica su vibe, linguaggio naturale prima di tutto |
    | `qwen.qwen3-coder-next`                          | Qwen            | ❌        | ❌          | $0.45/$1.80          | Uso di strumenti, chiamate di funzione ottimizzate |
    | `mistral.mistral-large-3-675b-instruct`          | Mistral         | ❌        | ✅          | $4.00/$12.00         | Multimodalità avanzata, contesto lungo       |
    | `moonshotai.kimi-k2.5`                           | Moonshot        | ❌        | ✅          | $0.60/$3.00          | Visione, linguaggio, codice in un unico modello |
    
    **Prezzi**: Per 1M token. I modelli con pensiero/ragionamento supportano costi di calcolo aggiuntivi durante la fase di ragionamento.
    
    #### Modelli Testati ma Incompatibili
    
    Alcuni modelli AWS Bedrock sono stati testati ma **non sono supportati** a causa di limitazioni tecniche:
    
    | Famiglia di Modelli          | Motivo dell'Incompatibilità                                                               |
    | ------------------------- | ----------------------------------------------------------------------------------------- |
    | **GLM (Z.AI)**            | Formato di chiamata dello strumento incompatibile con Converse API (prevede stringa invece di JSON) |
    | **AI21 Jamba**            | Limiti di velocità severi (1-2 richieste/min) impediscono test affidabili e uso in produzione |
    | **Meta Llama 3.3/3.1**    | Elaborazione instabile dei risultati delle chiamate agli strumenti, causa errori imprevisti nei flussi di lavoro multi-turno |
    | **Mistral Magistral**     | Chiamata agli strumenti non supportata dal modello |
    | **Moonshot K2-Thinking**  | Comportamento di streaming instabile con chiamate agli strumenti, inaffidabile in produzione |
    | **Qwen3-VL**              | Streaming instabile con chiamata agli strumenti, la combinazione multimodale + strumenti fallisce a intermittenza |
    
    > [!IMPORTANT]
    > **Limiti di Velocità e Gestione delle Quote**
    >
    > Le quote predefinite di AWS Bedrock per i modelli Claude sono **estremamente restrittive** (2-20 richieste/minuto per i nuovi account). Per il penetration testing in produzione:
    >
    > 1. **Richiedere aumenti delle quote** tramite la console AWS Service Quotas per i modelli che si intende utilizzare
    > 2. **Utilizzare i modelli Amazon Nova** - quote predefinite più elevate e prestazioni eccellenti
    > 3. **Abilitare il throughput fornito** per test coerenti ad alto volume
    > 4. **Monitorare l'utilizzo** - AWS limita in modo aggressivo ai limiti di quota
    >
    > Senza aumenti delle quote, sono previsti frequenti ritardi e interruzioni del flusso di lavoro.
    
    > [!WARNING]
    > **Requisiti dell'API Converse**
    >
    > PentAGI utilizza l'**API Converse** di Amazon Bedrock per l'accesso unificato ai modelli. Tutti i modelli supportati richiedono:
    >
    > - ✅ Supporto dell'API Converse/ConverseStream
    > - ✅ Uso degli strumenti (chiamata di funzione) per i flussi di lavoro di penetration testing
    > - ✅ Streaming dell'uso degli strumenti per feedback in tempo reale
    >
    > Verifica le capacità del modello su: [Caratteristiche dei modelli AWS Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference-supported-models-features.html)
    
    **Caratteristiche Principali**:
    - **Prompt Caching Automatico**: Riduzione dei costi del 40-70% sul contesto ripetuto (modelli Claude 4.x)
    - **Pensiero Esteso**: Ragionamento passo-passo per analisi di sicurezza complesse (Claude, DeepSeek R1, OpenAI GPT)
    - **Analisi Multimodale**: Elaborazione di screenshot, diagrammi, video per test completi (Nova, Claude, Mistral, Kimi)
    - **Chiamata agli Strumenti**: Integrazione perfetta con oltre 20 strumenti di pentesting tramite chiamata di funzione
    - **Streaming**: Streaming delle risposte in tempo reale per flussi di lavoro di valutazione della sicurezza interattivi
    
    ### Configurazione del Provider DeepSeek
    
    PentAGI si integra con DeepSeek, fornendo accesso a modelli AI avanzati con forti capacità di ragionamento, codifica e caching del contesto a prezzi competitivi.
    
    #### Variabili di Configurazione
    
    | Variable              | Valore Predefinito           | Descrizione                                        |
    | --------------------- | -------------------------- | --------------------------------------------------- |
    | `DEEPSEEK_API_KEY`    |                            | Chiave API DeepSeek per l'autenticazione           |
    | `DEEPSEEK_SERVER_URL` | `https://api.deepseek.com` | URL dell'endpoint API DeepSeek                     |
    | `DEEPSEEK_PROVIDER`   |                            | Prefisso del provider per l'integrazione LiteLLM (opzionale) |
    
    #### Esempi di Configurazione```bash
    # Direct API usage
    DEEPSEEK_API_KEY=your_deepseek_api_key
    DEEPSEEK_SERVER_URL=https://api.deepseek.com
    
    # With LiteLLM proxy
    DEEPSEEK_API_KEY=your_litellm_key
    DEEPSEEK_SERVER_URL=http://litellm-proxy:4000
    DEEPSEEK_PROVIDER=deepseek  # Adds prefix to model names (deepseek/deepseek-v4-flash) for LiteLLM
    

    Modelli Supportati

    PentAGI supporta 2 modelli DeepSeek V4 con chiamata a strumenti, streaming, modalità ibride pensiero/non-pensiero e caching del contesto. Entrambi i modelli supportano la modalità pensiero per impostazione predefinita e possono essere commutati in modalità non-pensiero tramite extra_body. I modelli contrassegnati con * sono utilizzati nella configurazione predefinita.

    Model IDPensieroMax OutputContestoPrezzo (Input/Output/Cache)Caso d'uso
    deepseek-v4-flash*✅ ibrido384K1M$0.14/$0.28/$0.0028Agenti utility, dialogo generale, chiamata a strumenti veloce
    deepseek-v4-pro*✅ ibrido384K1M$1.74/$3.48/$0.0145Ragionamento avanzato, logica complessa, analisi di sicurezza

    Prezzi: Per 1 milione di token. Il prezzo di cache si applica ai token prompt serviti dalla cache (input cache hit, ridotto a 1/10 del prezzo di lancio dal 26-04-2026). Entrambi i modelli supportano il pensiero ibrido — la modalità thinking è abilitata per impostazione predefinita; passare extra_body.thinking.type: disabled per passare alla modalità non-pensiero per risposte più rapide/economiche.

    Nota sul Prezzo (deepseek-v4-pro): Lo sconto promozionale del 75% su deepseek-v4-pro è ufficialmente terminato il 31-05-2026 alle 15:59 UTC. I prezzi sopra indicati riflettono i prezzi standard post-promozionali. Se si dispone di configurazioni legacy che utilizzano i prezzi scontati ($0.435/$0.87/$0.003625), aggiornarle alle tariffe attuali per un monitoraggio accurato dei costi.

    I nomi dei modelli legacy deepseek-chat e deepseek-reasoner sono programmati per la deprecazione da parte di DeepSeek il 24-07-2026. Le configurazioni utente esistenti che fanno riferimento ai nomi legacy continueranno a funzionare fino a tale data; i valori predefiniti sopra utilizzano i nomi V4 correnti. deepseek-chat corrisponde a deepseek-v4-flash in modalità non-pensiero; deepseek-reasoner corrisponde a deepseek-v4-flash in modalità pensiero.

    Configurazione Agente Predefinita:

    Strategia: preferire deepseek-v4-flash (input 12x più economico, output 12x più economico) come cavallo di battaglia per agenti utility/leggeri; riservare deepseek-v4-pro per ragionamenti complessi a più fasi. L'agente installer funziona su Flash con pensiero abilitato perché le attività di configurazione dell'ambiente (comandi shell, modifiche alla configurazione) raramente richiedono ragionamenti di livello pro. Eseguire test A/B sui propri carichi di lavoro prima di promuovere più agenti a Pro.

    Ruolo AgenteModello PredefinitoPensieroSforzo di RagionamentoMax OutputTemperaturaTop P
    Generatore / Raffinatoredeepseek-v4-proAbilitatoAlto32768(auto)(auto)
    Programmatoredeepseek-v4-proAbilitatoAlto20480(auto)(auto)
    Agente Principale / Assistente / Pentesterdeepseek-v4-proAbilitatoAlto16384(auto)(auto)
    Consigliere (mentore/pianificatore)deepseek-v4-proAbilitatoAlto8192(auto)(auto)
    Installatoredeepseek-v4-flashAbilitatoAlto12288(auto)(auto)
    Riflettore / Ricercatore / Arricchitoredeepseek-v4-flashDisabilitato—40960.50.9
    Semplice / JSON Semplicedeepseek-v4-flashDisabilitato—20480.30.9

    Nota: Quando la modalità pensiero è abilitata, DeepSeek ignora silenziosamente temperature, top_p, presence_penalty e frequency_penalty. Il client langchaingo annulla automaticamente temperature/top_p quando reasoning_effort è impostato, quindi appaiono come "(auto)" nella tabella sopra. Tutti gli agenti con pensiero abilitato passano anche esplicitamente extra_body.thinking.type: enabled come codice difensivo contro futuri cambiamenti predefiniti del provider.

    Caratteristiche Principali:

    • Modalità Pensiero Ibride: Passare dalla modalità pensiero (ragionamento profondo) a quella non-pensiero (veloce) tramite extra_body.thinking.type
    • Caching Automatico del Prompt: Riduzione significativa dei costi su contesti ripetuti grazie al prezzo di cache-hit (1/10 del prezzo di lancio)
    • Pensiero Esteso: RL CoT per analisi di sicurezza complesse (entrambi i modelli V4)
    • Forti Capacità di Codifica: Ottimizzato per la generazione di codice e lo sviluppo di exploit
    • Contesto Lungo: Finestra di contesto di 1 milione di token con fino a 384K token in output
    • Chiamata a Strumenti: Integrazione perfetta con oltre 20 strumenti di pentesting tramite function calling
    • Streaming: Streaming delle risposte in tempo reale per flussi di lavoro interattivi
    • Multilingua: Forte supporto per cinese e inglese
    • Funzionalità Aggiuntive: Output JSON, Completamento Prefisso Chat (beta), Completamento FIM/Fill-in-the-Middle (solo modalità non-pensiero)

    Limiti di Concorrenza: deepseek-v4-flash: 2500 richieste concorrenti; deepseek-v4-pro: 500 richieste concorrenti.

    Integrazione LiteLLM: Impostare DEEPSEEK_PROVIDER=deepseek per abilitare il prefisso del nome del modello quando si utilizzano le configurazioni PentAGI predefinite con il proxy LiteLLM. Lasciare vuoto per l'uso diretto dell'API.

    Configurazione Provider GLM

    PentAGI si integra con GLM di Zhipu AI (Z.AI), fornendo modelli linguistici avanzati con architettura MoE, forte ragionamento e capacità agentiche sviluppati dall'Università di Tsinghua.

    Variabili di Configurazione

    VariabileValore PredefinitoDescrizione
    GLM_API_KEYChiave API GLM per l'autenticazione
    GLM_SERVER_URLhttps://api.z.ai/api/paas/v4Endpoint URL API GLM (internazionale)
    GLM_PROVIDERPrefisso provider per l'integrazione LiteLLM (opzionale)

    Esempi di Configurazione```bash

    Direct API usage (international endpoint)

    GLM_API_KEY=your_glm_api_key GLM_SERVER_URL=https://api.z.ai/api/paas/v4

    Alternative endpoints

    GLM_SERVER_URL=https://open.bigmodel.cn/api/paas/v4 # China GLM_SERVER_URL=https://api.z.ai/api/coding/paas/v4 # Coding-specific

    With LiteLLM proxy

    GLM_API_KEY=your_litellm_key GLM_SERVER_URL=http://litellm-proxy:4000 GLM_PROVIDER=zai # Adds prefix to model names (zai/glm-4) for LiteLLM

    root@kitploit:~
    #### Modelli Supportati
    
    PentAGI supporta 13 modelli GLM con chiamata a strumenti, streaming, modalità di pensiero ibrido e caching delle richieste. I modelli contrassegnati con `*` vengono utilizzati nella configurazione predefinita. Il pensiero è controllato tramite `extra_body.thinking.type` ("enabled"/"disabled"); a differenza di Kimi, GLM è permissivo riguardo alla temperatura in entrambe le modalità.
    
    **Serie GLM-5.x - Ultima Generazione (contesto 200K, output massimo 128K)**
    
    | ID Modello       | Pensiero | Contesto | Output Max | Prezzo (Input/Output/Cache) | Casi d'Uso                                                          |
    | ---------------- | -------- | -------- | ---------- | --------------------------- | ------------------------------------------------------------------- |
    | `glm-5.1`*       | ✅ Ibrido | 200K     | 128K       | $1,40/$4,40/$0,26           | Nuovo modello di punta: esecuzione autonoma sostenuta per 8h, allineato con Claude Opus 4.6 (default per generatore/raffinatore/consulente/coder/pentester) |
    | `glm-5`          | ✅ Ibrido | 200K     | 128K       | $1,00/$3,20/$0,20           | Fondamenta per Agentic Engineering, MoE 744B/40B attivi, codice a livello Claude Opus 4.5 |
    | `glm-5-turbo`*   | ✅ Ibrido | 200K     | 128K       | $1,20/$4,00/$0,24           | Nativo OpenClaw: ottimizzato per invocazione di strumenti, attività persistenti, esecuzione a catena lunga (default per agente primario/assistente) |
    
    **Serie GLM-4.7 - Premium con Pensiero Intervallato**
    
    | ID Modello        | Pensiero | Contesto | Output Max | Prezzo (Input/Output/Cache) | Casi d'Uso                                          |
    | ----------------- | -------- | -------- | ---------- | --------------------------- | --------------------------------------------------- |
    | `glm-4.7`         | ✅ Ibrido | 200K     | 128K       | $0,60/$2,20/$0,11           | Programmazione potenziata, ragionamento multi-step stabile |
    | `glm-4.7-flashx`  | ✅ Ibrido | 200K     | 128K       | $0,07/$0,40/$0,01           | Ultra-economico con GPU prioritaria, ma limiti RPM inferiori (evitare per uso ad alta frequenza) |
    | `glm-4.7-flash`   | ✅ Ibrido | 200K     | 128K       | Gratuito/Gratuito/Gratuito  | Modello SOTA ~30B gratuito, 1 richiesta concorrente |
    
    **Serie GLM-4.6 - Bilanciata con Pensiero Automatico**
    
    | ID Modello | Pensiero | Contesto | Output Max | Prezzo (Input/Output/Cache) | Casi d'Uso                                        |
    | ---------- | -------- | -------- | ---------- | --------------------------- | ------------------------------------------------- |
    | `glm-4.6`  | ✅ Auto   | 200K     | 128K       | $0,60/$2,20/$0,11           | Bilanciato, chiamate a strumenti in streaming, efficiente in termini di token |
    
    **Serie GLM-4.5 - Ragionamento/Codifica/Agenti Unificati**
    
    | ID Modello       | Pensiero | Contesto | Output Max | Prezzo (Input/Output/Cache) | Casi d'Uso                                        |
    | ---------------- | -------- | -------- | ---------- | --------------------------- | ------------------------------------------------- |
    | `glm-4.5`        | ✅ Auto   | 128K     | 96K        | $0,60/$2,20/$0,11           | Unificato, MoE 355B/32B attivi                    |
    | `glm-4.5-x`      | ✅ Auto   | 128K     | 96K        | $2,20/$8,90/$0,45           | Premium ultraveloce, latenza minima               |
    | `glm-4.5-air`*   | ✅ Auto   | 128K     | 96K        | $0,20/$1,10/$0,03           | MoE economico 106B/12B (default per semplice/simple_json/riflettore/cercatore/arricchitore/installatore) |
    | `glm-4.5-airx`   | ✅ Auto   | 128K     | 96K        | $1,10/$4,50/$0,22           | Air accelerato con GPU prioritaria                |
    | `glm-4.5-flash`  | ✅ Auto   | 128K     | 96K        | Gratuito/Gratuito/Gratuito  | Gratuito con supporto a ragionamento/codifica/agenti |
    
    **GLM-4 Legacy - Architettura Densa**
    
    | ID Modello                | Pensiero | Contesto | Output Max | Prezzo (Input/Output) | Casi d'Uso                                    |
    | ------------------------- | -------- | -------- | ---------- | --------------------- | --------------------------------------------- |
    | `glm-4-32b-0414-128k`     | ❌        | 128K     | 16K        | $0,10/$0,10           | Denso 32B ultra-economico, parsing senza ragionamento |
    
    **Prezzi**: Per 1 milione di token. Il prezzo della cache è per l'hit della cache della richiesta; lo storage della cache è attualmente gratuito come da promozione Z.AI. GLM-4-32B non supporta la cache.
    
    **Configurazione Agente Predefinita**:
    
    Strategia: `glm-5.1` (nuovo modello di punta, $1,40 input) per ragionamento critico, `glm-5-turbo` (nativo OpenClaw, ottimizzato per agenti) per orchestrazione, `glm-4.5-air` (MoE economico con pensiero ibrido e RPM affidabili) per tutti gli agenti di utility/installazione. `glm-4.7-flashx` è evitato come default a causa dei limiti RPM inferiori che causano frequenti errori 429 ad alta frequenza.
    
    | Ruolo Agente                         | Modello Predefinito | Pensiero | Temperatura | Top P | Output Max |
    | ------------------------------------ | ------------------- | -------- | ----------- | ----- | ---------- |
    | Generatore / Raffinatore             | `glm-5.1`           | Abilitato| 1,0         | 0,95  | 32768      |
    | Coder                                | `glm-5.1`           | Abilitato| 1,0         | 0,95  | 20480      |
    | Consulente / Pentester               | `glm-5.1`           | Abilitato| 1,0         | 0,95  | 16384      |
    | Agente Primario / Assistente         | `glm-5-turbo`       | Abilitato| 1,0         | 0,95  | 16384      |
    | Installatore                         | `glm-4.5-air`       | Abilitato| 1,0         | 0,95  | 16384      |
    | Semplice / Riflettore                | `glm-4.5-air`       | Disabilitato | 0,6     | 0,9   | 8192       |
    | Cercatore / Arricchitore / Simple JSON | `glm-4.5-air`     | Disabilitato | 0,6     | 0,9   | 4096       |
    
    > **Nota sulla temperatura**: GLM accetta sia `1.0` che `0.6` sia in modalità pensiero che non pensiero (secondo la documentazione Z.AI). `IsReasoningModel` di langchaingo corrisponde ai prefissi `glm-4.5*`/`glm-4.6*`/`glm-4.7*` e forza il sovrascrivimento della temperatura a 1.0 in `createChatRequest` — questo è innocuo per GLM (a differenza di Kimi), ma significa che i valori di temperatura per quei modelli in YAML sono indicativi. `glm-5`/`glm-5.1`/`glm-5-turbo` non vengono riconosciuti, quindi i valori espliciti passano invariati.
    
    **Modalità di Pensiero**:
    - **Ibrido** (GLM-5.x, GLM-4.7): Attivazione esplicita tramite `extra_body.thinking.type`
    - **Auto** (serie GLM-4.6, GLM-4.5): Il modello determina automaticamente quando è necessario ragionare
    - **Pensiero Preservato** (capacità di Codifica Z.AI): tutti gli agenti con pensiero abilitato in PentAGI passano anche `extra_body.thinking.clear_thinking: false` in modo che `reasoning_content` dei turni precedenti dell'assistente venga mantenuto attraverso la conversazione. Ciò è richiesto sull'endpoint API standard (`/api/paas/v4`) — sull'endpoint del Piano di Codifica sarebbe abilitato per impostazione predefinita. Migliora la continuità del ragionamento e i tassi di hit della cache in catene di chiamate a strumenti multi-turno.
    - Tutti gli agenti con pensiero abilitato passano anche `extra_body.tool_choice: auto` in modo difensivo
    
    **Caratteristiche Chiave**:
    - **Attività a Lungo Termine**: GLM-5.1 supporta l'esecuzione autonoma sostenuta per 8 ore, ideale per workflow agentici complessi multi-stadio
    - **Orchestrazione Nativa OpenClaw**: GLM-5-Turbo è specificamente ottimizzato per l'invocazione di strumenti, il seguimento di istruzioni e l'esecuzione a catena lunga
    - **Caching delle Richieste**: Riduzione significativa dei costi su contesti ripetuti (prezzi di input in cache mostrati)
    - **Contesto Ultra-Lungo**: 200K token per le serie GLM-5.x/4.7/4.6
    - **Architettura MoE**: Efficiente 744B/40B attivi (GLM-5/5.1), 355B/32B (GLM-4.5), 106B/12B (GLM-4.5-Air)
    - **Chiamata a Strumenti**: Integrazione senza soluzione di continuità con oltre 20 strumenti di pentesting tramite chiamata a funzioni
    - **Streaming**: Streaming in tempo reale con supporto per chiamate a strumenti in streaming (GLM-4.6+)
    - **Multilingue**: Eccezionali capacità NLP in cinese e inglese
    - **Opzioni Gratuite**: GLM-4.7-Flash e GLM-4.5-Flash per prototipazione e sperimentazione
    
    **Integrazione LiteLLM**: Imposta `GLM_PROVIDER=zai` per abilitare il prefisso del nome del modello quando si utilizzano le configurazioni PentAGI predefinite con il proxy LiteLLM. Lascia vuoto per l'uso diretto dell'API.
    
    ### Configurazione del Provider Kimi
    
    PentAGI si integra con Kimi di Moonshot AI, fornendo modelli con contesto ultra-lungo e capacità multimodali, perfetti per analizzare ampi codebase e documentazione.
    
    #### Variabili di Configurazione
    
    | Variabile           | Valore Predefinito              | Descrizione                                         |
    | ------------------- | --------------------------------| --------------------------------------------------- |
    | `KIMI_API_KEY`      |                                 | Chiave API Kimi per l'autenticazione                |
    | `KIMI_SERVER_URL`   | `https://api.moonshot.ai/v1`    | URL endpoint API Kimi (internazionale)              |
    | `KIMI_PROVIDER`     |                                 | Prefisso provider per l'integrazione LiteLLM (opzionale) |
    
    #### Esempi di Configurazione```bash
    # Direct API usage (international endpoint)
    KIMI_API_KEY=your_kimi_api_key
    KIMI_SERVER_URL=https://api.moonshot.ai/v1
    
    # Alternative endpoint
    KIMI_SERVER_URL=https://api.moonshot.cn/v1  # China
    
    # With LiteLLM proxy
    KIMI_API_KEY=your_litellm_key
    KIMI_SERVER_URL=http://litellm-proxy:4000
    KIMI_PROVIDER=moonshot  # Adds prefix to model names (moonshot/kimi-k2.5) for LiteLLM
    

    Modelli Supportati

    PentAGI supporta 8 modelli Kimi/Moonshot con chiamata a strumenti, streaming, modalità di pensiero ibrido e capacità multimodali (testo/immagine/video per K2.x). Tutti i modelli legacy kimi-k2-* (turbo-preview, 0905-preview, 0711-preview, thinking, thinking-turbo) sono stati deprecati da Moonshot il 25-05-2026 e NON sono inclusi. I modelli contrassegnati con * sono utilizzati nella configurazione predefinita.

    Serie Kimi K2.x - Ammiraglia Multimodale

    ID ModelloPensieroMultimodaleContestoPrezzo (Input Miss / Output / Cache Hit)Caso d'Uso
    kimi-k2.6*✅ ibrido✅256K$0.95 / $4.00 / $0.16Ultimo fiore all'occhiello: multimodale nativo, codice più robusto, migliore conformità alle istruzioni (predefinito per generatore/raffinatore/consigliere/codificatore/pentester)
    kimi-k2.5*✅ ibrido✅256K$0.60 / $3.00 / $0.10Generazione precedente: input più economico del 36%, stessa architettura (predefinito per agente primario/assistente/installatore/utilità)

    Serie Moonshot V1 - Modelli di Generazione (Parametri Flessibili)

    ID ModelloPensieroMultimodaleContestoPrezzo (Input / Output)Caso d'Uso
    moonshot-v1-8k❌❌8K$0.20 / $2.00Generazione di testo breve, ultra economico
    moonshot-v1-32k❌❌32K$1.00 / $3.00Generazione di testo lungo
    moonshot-v1-128k❌❌128K$2.00 / $5.00Contesto molto lungo

    Serie Moonshot V1 Vision - Comprensione delle Immagini

    ID ModelloPensieroMultimodaleContestoPrezzo (Input / Output)Caso d'Uso
    moonshot-v1-8k-vision-preview❌✅8K$0.20 / $2.00Visione + contesto breve
    root@kitploit:~
    
    ---
    
    [Read more](https://github.com/vxcontrol/pentagi)