Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/vxcontrol/pentagi
Фреймворки для пентестаРазведкаСканеры уязвимостейФреймворки для эксплойтовСбор информацииВеб-безопасностьТестирование на ПроникновениеОбучение и ОбразованиеБезопасность ИИ
GitHubvxcontrol/pentagi

pentagi

Полностью автономная система AI-агентов, способная выполнять сложные задачи по тестированию на проникновение.

21.8k2.9k191 месяц назадПроверено Kitploit
РепозиторийСайт

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

PentAGI

Penetration testing Artificial General Intelligence

Присоединяйтесь к сообществу! Общайтесь с исследователями безопасности, энтузиастами ИИ и этичными хакерами. Получайте поддержку, делитесь знаниями и будьте в курсе последних разработок PentAGI.

Discord⠀Telegram

vxcontrol%2Fpentagi | Trendshift

Оглавление

  • Обзор
  • Возможности
  • Архитектура
    • Агентское управление
  • Быстрый старт
  • Как использовать PentAGI после входа
  • Доступ к API
    • Настройка LLM-провайдера
      • Ollama
OpenAI
  • Anthropic
  • Google AI (Gemini)
  • AWS Bedrock
  • DeepSeek
  • GLM
  • Kimi
  • Qwen
  • Расширенная настройка
    • Интеграция с Langfuse
    • Мониторинг и наблюдаемость
    • Граф знаний (Graphiti)
    • Интеграция OAuth
    • Конфигурация Docker-образа
  • Разработка
  • Тестирование LLM-агентов
  • Настройка и тестирование эмбеддингов
  • Тестирование функций с ftester
  • Сборка
  • Благодарности
  • Лицензия
  • Обзор

    PentAGI — это инновационный инструмент для автоматизированного тестирования безопасности, использующий передовые технологии искусственного интеллекта. Проект предназначен для специалистов по информационной безопасности, исследователей и энтузиастов, которым требуется мощное и гибкое решение для проведения пентестов.

    Вы можете посмотреть видео Обзор PentAGI: Видео обзора PentAGI

    Возможности

    • Безопасность и изоляция. Все операции выполняются в изолированной среде Docker с полной изоляцией.
    • Полная автономность. ИИ-агент, который автоматически определяет и выполняет шаги пентеста с возможностью мониторинга выполнения и интеллектуальным планированием задач для повышенной надёжности.
    • Профессиональные инструменты пентеста. Встроенный набор из более 20 профессиональных инструментов, включая nmap, metasploit, sqlmap и другие.
    • Умная система памяти. Долгосрочное хранение результатов исследований и успешных подходов для будущего использования.
    • Интеграция с графом знаний. Граф знаний на основе Graphiti с использованием Neo4j для отслеживания семантических связей и расширенного понимания контекста.
    • Веб-интеллект. Встроенный браузер через scraper для сбора актуальной информации из веб-источников.
    • Внешние поисковые системы. Интеграция с продвинутыми поисковыми API, включая Tavily, Traversaal, Perplexity, DuckDuckGo, Google Custom Search, Sploitus Search и Searxng для всестороннего сбора информации.
    • Команда специалистов. Система делегирования со специализированными ИИ-агентами для задач исследований, разработки и инфраструктуры, дополненная возможностью мониторинга выполнения и интеллектуальным планированием задач для оптимальной производительности с меньшими моделями.
    • Комплексный мониторинг. Детальное логирование и интеграция с Grafana/Prometheus для наблюдения за системой в реальном времени.
    • Подробная отчётность. Формирование подробных отчётов об уязвимостях с руководствами по эксплуатации.
    • Умное управление контейнерами. Автоматический выбор Docker-образа на основе конкретных требований задачи.
    • Современный интерфейс. Чистый и интуитивно понятный веб-интерфейс для управления системой и мониторинга.
    • Полнофункциональные API. Полноценные REST и GraphQL API с аутентификацией по Bearer-токену для автоматизации и интеграции.
    • Постоянное хранение. Все команды и выходные данные хранятся в PostgreSQL с расширением pgvector.
    • Масштабируемая архитектура. Дизайн на основе микросервисов, поддерживающий горизонтальное масштабирование.
    • Самостоятельно размещаемое решение. Полный контроль над развёртыванием и данными.
    • Гибкая аутентификация. Поддержка более 10 LLM-провайдеров (OpenAI, Anthropic, Google AI/Gemini, AWS Bedrock, Ollama, DeepSeek, GLM, Kimi, Qwen, пользовательский) плюс агрегаторы (OpenRouter, DeepInfra). Для локального развёртывания в производственной среде см. наше руководство vLLM + Qwen3.5-27B-FP8.
    • Аутентификация по API-токену. Безопасная система Bearer-токенов для программного доступа к REST и GraphQL API.
    • Быстрое развёртывание. Простая настройка через Docker Compose с комплексной конфигурацией окружения.

    Текущие границы возможностей

    • PentAGI сегодня — это автономная платформа для пентестов с помощником, а не продукт для симуляции атак и нарушения защиты (BAS) в стиле CALDERA с предопределёнными кампаниями или планами атак.
    • Сценарии атак, написанные агентом в стиле BAS, следует рассматривать как концептуальную или будущую работу, а не как уже реализованную функцию.
    • Текущий интерфейс отчётов о потоках поддерживает веб-просмотр, копирование в буфер обмена, загрузку в Markdown и PDF. Экспорт отчётов о потоках в JSON не документирован как поддерживаемый формат вывода.
    • Гибкость провайдеров доступна сегодня через встроенных провайдеров и пользовательские конечные точки, совместимые с OpenAI. См. Настройка пользовательского LLM-провайдера и руководство vLLM + Qwen3.5-27B-FP8.

    Архитектура

    System Context```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>Архитектура контейнера</b> (нажмите, чтобы развернуть)</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
    
    Связи сущностей (нажмите, чтобы развернуть)```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
    }
    
    root@kitploit:~
    </details>
    
    <details>
    <summary><b>Взаимодействие с агентом</b> (нажмите, чтобы раскрыть)</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
    
    Система памяти (нажмите, чтобы развернуть)```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>Цепочное резюмирование</b> (нажмите, чтобы развернуть)</summary>
    
    Система цепочного резюмирования управляет ростом контекста беседы путем выборочного обобщения старых сообщений. Это критически важно для предотвращения превышения лимитов токенов при сохранении связности разговора.```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
    

    Алгоритм работает на основе структурированного представления цепочек разговоров (ChainAST), которое сохраняет типы сообщений, включая вызовы инструментов и их ответы. Все операции суммирования поддерживают критически важный поток беседы, одновременно уменьшая размер контекста.

    Глобальные параметры конфигурации суммаризатора

    Параметры конфигурации суммаризатора ассистента

    Экземпляры ассистентов могут использовать настраиваемые параметры суммаризации для точной настройки поведения управления контекстом:

    Конфигурация суммаризатора ассистента обеспечивает больше памяти для удержания контекста по сравнению с глобальными настройками, сохраняя более позднюю историю разговора и одновременно гарантируя эффективное использование токенов.

    Конфигурация среды суммаризатора```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>Продвинутый надзор за агентами</b> (нажмите, чтобы развернуть)</summary>
    
    PentAGI включает сложные многоуровневые механизмы надзора за агентами, обеспечивающие эффективное выполнение задач, предотвращение бесконечных циклов и интеллектуальное восстановление из зависших состояний:
    
    ### Мониторинг выполнения (Beta)
    - **Автоматическое вмешательство наставника**: Агент-советник (наставник) автоматически вызывается, когда шаблоны выполнения указывают на потенциальные проблемы
    - **Обнаружение шаблонов**: Отслеживает идентичные вызовы инструментов (порог: 5, настраивается) и общее количество вызовов инструментов (порог: 10, настраивается)
    - **Анализ прогресса**: Оценивает, продвигается ли агент к цели подзадачи, обнаруживает циклы и неэффективность
    - **Альтернативные стратегии**: Рекомендует различные подходы, когда текущая стратегия не работает
    - **Руководство по поиску информации**: Предлагает искать существующие решения вместо изобретения новых
    - **Улучшенный формат ответов**: Ответы инструментов включают секции `<original_result>` и `<mentor_analysis>`
    - **Настраиваемость**: Включить через `EXECUTION_MONITOR_ENABLED` (по умолчанию: false), настроить пороги через `EXECUTION_MONITOR_SAME_TOOL_LIMIT` и `EXECUTION_MONITOR_TOTAL_TOOL_LIMIT`
    
    **Лучше всего для**: Меньшие модели (< 32B параметров), сложные сценарии атак, требующие постоянного руководства, предотвращение застревания агентов на одном подходе
    
    **Влияние на производительность**: Увеличение времени выполнения и использования токенов в 2-3 раза, но обеспечивает **улучшение качества результатов в 2 раза** на основе тестирования с Qwen3.5-27B-FP8
    
    ### Интеллектуальное планирование задач (Beta)
    - **Автоматическая декомпозиция**: Планировщик (советник в режиме планирования) генерирует 3-7 конкретных, выполнимых шагов до начала работы агентов-специалистов
    - **Контекстно-зависимые планы**: Анализирует полный контекст выполнения через агента-обогатителя для создания информированных планов
    - **Структурированное назначение**: Исходный запрос оборачивается в структуру `<task_assignment>` с планом выполнения и инструкциями
    - **Управление объёмом**: Предотвращает расползание объёма, удерживая агентов в рамках только текущей подзадачи
    - **Обогащённые инструкции**: Планы выделяют критические действия, потенциальные ловушки и точки проверки
    - **Настраиваемость**: Включить через `AGENT_PLANNING_STEP_ENABLED` (по умолчанию: false)
    
    **Лучше всего для**: Модели < 32B параметров, сложные рабочие процессы тестирования на проникновение, повышение вероятности успеха в сложных задачах
    
    **Улучшенная конфигурация советника**: Работает особенно хорошо, когда агент-советник использует более сильную модель или расширенные настройки. Пример: использование той же базовой модели с максимальным режимом рассуждения для советника (см. [`vllm-qwen3.5-27b-fp8.provider.yml`](https://github.com/vxcontrol/pentagi/blob/main/examples/configs/vllm-qwen3.5-27b-fp8.provider.yml)) позволяет проводить всесторонний анализ задач и стратегическое планирование на одинаковой архитектуре модели.
    
    **Влияние на производительность**: Добавляет накладные расходы на планирование, но значительно повышает процент завершения и сокращает избыточную работу
    
    ### Лимиты вызовов инструментов (всегда активны)
    - **Жёсткие лимиты**: Предотвращают неконтролируемое выполнение независимо от режима надзора
    - **Различие по типу агента**:
      - Общие агенты (Помощник, Основной агент, Тестер на проникновение, Разработчик, Установщик): `MAX_GENERAL_AGENT_TOOL_CALLS` (по умолчанию: 100)
      - Ограниченные агенты (Поисковик, Обогатитель, Запоминатель, Генератор, Репортёр, Советник, Отражатель, Планировщик): `MAX_LIMITED_AGENT_TOOL_CALLS` (по умолчанию: 20)
    - **Корректное завершение**: Отражатель направляет агентов к правильному завершению при приближении к лимитам
    - **Защита ресурсов**: Обеспечивает стабильность системы и предотвращает истощение ресурсов
    
    ### Интеграция Отражателя (всегда активна)
    - **Автоматическая коррекция**: Вызывается, когда LLM не удаётся сгенерировать вызовы инструментов после 3 попыток
    - **Стратегическое руководство**: Анализирует ошибки и направляет агентов к правильному использованию инструментов или барьерных инструментов (`done`, `ask`)
    - **Механизм восстановления**: Предоставляет контекстное руководство в зависимости от конкретных шаблонов ошибок
    - **Принудительное применение лимитов**: Координирует корректное завершение при достижении лимитов вызовов инструментов
    
    ### Рекомендации для моделей с открытым исходным кодом
    
    **Обязательно для моделей < 32B параметров**:
    Тестирование с Qwen3.5-27B-FP8 показывает, что включение как мониторинга выполнения, так и планирования задач **необходимо** для меньших моделей с открытым исходным кодом:
    - **Улучшение качества**: В 2 раза лучшие результаты по сравнению с базовым выполнением без надзора
    - **Предотвращение циклов**: Значительно сокращает бесконечные циклы и избыточную работу
    - **Разнообразие атак**: Поощряет исследование нескольких векторов атак вместо фиксации на одном подходе
    - **Автономные развёртывания**: Позволяет проводить автономное тестирование на проникновение промышленного уровня в замкнутых сетевых средах с локальным выводом LLM
    
    **Компромиссы**:
    - Потребление токенов: увеличение в 2-3 раза из-за вызовов наставника/планировщика
    - Время выполнения: в 2-3 раза дольше из-за этапов анализа и планирования
    - Качество результатов: в 2 раза улучшение полноты, точности и охвата атак
    - Требования к модели: работает лучше всего, когда советник использует расширенную конфигурацию (более высокие параметры рассуждения, более сильная версия модели или другая модель)
    
    **Стратегия конфигурации**:
    Для оптимальной производительности с меньшими моделями настройте агента-советника с расширенными параметрами:
    - Используйте ту же модель с максимальным режимом рассуждения (пример: [`vllm-qwen3.5-27b-fp8.provider.yml`](https://github.com/vxcontrol/pentagi/blob/main/examples/configs/vllm-qwen3.5-27b-fp8.provider.yml))
    - Или используйте более сильную модель для советника, сохраняя базовую модель для других агентов
    - Настройте пороги мониторинга в зависимости от сложности задачи и возможностей модели
    
    
    
    </details>
    
    Архитектура PentAGI спроектирована как модульная, масштабируемая и безопасная. Вот ключевые компоненты:
    
    1. **Основные сервисы**
       - Пользовательский интерфейс: веб-интерфейс на React с TypeScript для типобезопасности
       - Бэкенд API: REST и GraphQL API на Go с аутентификацией через Bearer токен для программного доступа
       - Векторное хранилище: PostgreSQL с pgvector для семантического поиска и хранения памяти
       - Очередь задач: Система асинхронной обработки задач для надёжной работы
       - ИИ-агент: Многоагентная система со специализированными ролями для эффективного тестирования
    
    2. **Граф знаний**
       - Graphiti: API графа знаний для отслеживания семантических связей и контекстного понимания
       - Neo4j: Графовая база данных для хранения и запросов связей между сущностями, действиями и результатами
       - Автоматический захват ответов агентов и выполнений инструментов для построения всеобъемлющей базы знаний
    
    3. **Стек мониторинга**
       - OpenTelemetry: Унифицированный сбор и корреляция данных наблюдаемости
       - Grafana: Визуализация в реальном времени и панели оповещений
       - VictoriaMetrics: Высокопроизводительное хранилище метрик временных рядов
       - Jaeger: Сквозная распределённая трассировка для отладки
       - Loki: Масштабируемая агрегация и анализ логов
    
    4. **Аналитическая платформа**
       - Langfuse: Продвинутая наблюдаемость и аналитика производительности LLM
       - ClickHouse: Колоночное аналитическое хранилище данных
       - Redis: Высокоскоростное кэширование и ограничение частоты запросов
       - MinIO: S3-совместимое объектное хранилище для артефактов
    
    5. **Инструменты безопасности**
       - Веб-скрапер: Изолированная среда браузера для безопасного взаимодействия с веб-ресурсами
       - Инструменты тестирования на проникновение: Комплексный набор из 20+ профессиональных инструментов безопасности
       - Изолированное выполнение: Все операции выполняются в изолированных контейнерах
    
    6. **Системы памяти**
       - Долговременная память: Постоянное хранение знаний и опыта
       - Рабочая память: Активный контекст и цели для текущих операций
       - Эпизодическая память: Исторические действия и успешные шаблоны
       - База знаний: Структурированная предметная экспертиза и возможности инструментов
       - Управление контекстом: Интеллектуальное управление растущими контекстными окнами LLM с использованием цепной суммаризации
    
    Система использует Docker-контейнеры для изоляции и простого развёртывания, с отдельными сетями для основных сервисов, мониторинга и аналитики для обеспечения надлежащих границ безопасности. Каждый компонент спроектирован для горизонтального масштабирования и может быть настроен для высокой доступности в производственных средах.
    
    ## Быстрый старт
    
    ### Системные требования
    
    - Docker и Docker Compose (или Podman — см. [конфигурацию Podman](#running-pentagi-with-podman))
    - Минимум 2 vCPU
    - Минимум 4 ГБ ОЗУ
    - 20 ГБ свободного дискового пространства
    - Доступ в Интернет для загрузки образов и обновлений
    
    ### Использование установщика (рекомендуется)
    
    PentAGI предоставляет интерактивный установщик с терминальным интерфейсом для упрощённой настройки и развёртывания. Установщик проводит через проверку системы, настройку LLM-провайдера, конфигурацию поисковой системы и усиление безопасности.
    
    **Поддерживаемые платформы:**
    - **Linux**: amd64 [скачать](https://pentagi.com/downloads/linux/amd64/installer-latest.zip) | arm64 [скачать](https://pentagi.com/downloads/linux/arm64/installer-latest.zip)
    - **Windows**: amd64 [скачать](https://pentagi.com/downloads/windows/amd64/installer-latest.zip)
    - **macOS**: amd64 (Intel) [скачать](https://pentagi.com/downloads/darwin/amd64/installer-latest.zip) | arm64 (M-серия) [скачать](https://pentagi.com/downloads/darwin/arm64/installer-latest.zip)
    
    **Быстрая установка (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
    

    Предварительные требования и разрешения:

    Установщик требует соответствующих привилегий для взаимодействия с Docker API для корректной работы. По умолчанию он использует Docker-сокет (/var/run/docker.sock), что требует либо:

    • Вариант 1 (Рекомендуется для продакшена): Запустите установщик от root: ```bash sudo ./installer

      root@kitploit:~
    • Вариант 2 (Среды разработки): Предоставьте вашему пользователю доступ к сокету Docker, добавив его в группу 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:~

    ⚠️ Примечание по безопасности: Добавление пользователя в группу docker предоставляет привилегии, эквивалентные root. Делайте это только для доверенных пользователей в контролируемых средах. Для производственных развертываний рассмотрите использование rootless Docker режима или запуск установщика с sudo.

    Установщик выполнит:

    1. Проверка системы: Проверка Docker, сетевого подключения и системных требований
    2. Настройка окружения: Создание и настройка файла .env с оптимальными значениями по умолчанию
    3. Настройка провайдеров: Настройка LLM-провайдеров (OpenAI, Anthropic, Gemini, Bedrock, Ollama, Custom)
    4. Поисковые системы: Настройка DuckDuckGo, Google, Tavily, Traversaal, Perplexity, Sploitus, Searxng
    5. Укрепление безопасности: Генерация безопасных учетных данных и настройка SSL-сертификатов
    6. Развертывание: Запуск PentAGI с помощью docker-compose

    Текущий охват веб-настроек

    Веб-консоль PentAGI уже управляет несколькими областями настроек после запуска сервера:

    • Настройки -> Провайдеры: Создание, редактирование, удаление и тестирование пользовательских профилей провайдеров для поддерживаемых типов провайдеров. Эти профили управляют выбором модели для каждого агента, параметрами выполнения, опциями рассуждений и метаданными ценообразования.
    • Настройки -> Подсказки: Управление шаблонами системных, человеческих и инструментальных подсказок.
    • Настройки -> API PentAGI: Создание и управление Bearer-токенами PentAGI для доступа к REST и GraphQL.
    • Другие настройки, управляемые через интерфейс: Избранные потоки сохраняются как пользовательские предпочтения, а выбор темы осуществляется через основную боковую панель/элементы управления профилем, а не со страниц настроек.

    По-прежнему управляется на сервере

    Следующие области конфигурации по-прежнему необходимо задавать на сервере через переменные окружения, файлы compose или монтируемые конфигурационные файлы:

    • Учетные данные и параметры подключения LLM: Ключи API, конечные точки, режимы аутентификации и специфичные для провайдера настройки подключения для OpenAI, Anthropic, Bedrock, Ollama, пользовательских провайдеров и аналогичных бэкендов; настройки пути к конфигурации применяются только там, где это поддерживается, например OLLAMA_SERVER_CONFIG_PATH и LLM_SERVER_CONFIG_PATH.
    • Учетные данные и опции поисковых провайдеров: Настройки такие как DUCKDUCKGO_*, GOOGLE_*, TAVILY_API_KEY, TRAVERSAAL_API_KEY, PERPLEXITY_*, SEARXNG_* и SPLOITUS_ENABLED.
    • Интеграции со сторонними сервисами: Langfuse, Graphiti и аналогичные внешние сервисы остаются серверной конфигурацией.
    • Управление MCP-сервером: Страницы настроек MCP в настоящее время не предоставляются как функция живой веб-консоли.

    Для производства и повышенной безопасности:

    Для производственных развертываний или сред с повышенными требованиями к безопасности мы настоятельно рекомендуем использовать распределенную двухузловую архитектуру, где рабочие операции изолированы на отдельном сервере. Это предотвращает выполнение недоверенного кода и проблемы сетевым доступом на вашей основной системе.

    См. подробное руководство: Настройка рабочего узла

    Двухузловая настройка обеспечивает:

    • Изолированное выполнение: Контейнеры рабочих узлов работают на выделенном оборудовании
    • Сетевая изоляция: Отдельные сетевые границы для тестирования на проникновение
    • Границы безопасности: Docker-в-Docker с аутентификацией TLS
    • Поддержка OOB-атак: Выделенные диапазоны портов для внеполосных методов

    Ручная установка

    1. Создайте рабочий каталог или клонируйте репозиторий:```bash mkdir pentagi && cd pentagi
    root@kitploit:~
    2. Скопируйте `.env.example` в `.env` или скачайте его:```bash
    curl -o .env https://raw.githubusercontent.com/vxcontrol/pentagi/master/.env.example
    
    1. Создайте примеры файлов (example.custom.provider.yml, example.ollama.provider.yml) или скачайте их:```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
    root@kitploit:~
    4. Заполните необходимые ключи API в файле `.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
    
    1. Измените все переменные окружения, связанные с безопасностью, в файле .env для повышения безопасности.
    Переменные окружения, связанные с безопасностью

    Основные настройки безопасности

    • COOKIE_SIGNING_SALT - Соль для подписи cookie, измените на случайное значение
    • PUBLIC_URL - Публичный URL вашего сервера (например, https://pentagi.example.com)
    • SERVER_SSL_CRT и SERVER_SSL_KEY - Пользовательские пути к вашему существующему SSL-сертификату и ключу для HTTPS (эти пути должны использоваться в файле docker-compose.yml для монтирования как томов)

    Доступ к сборщику

    • SCRAPER_PUBLIC_URL - Публичный URL для сборщика, если вы хотите использовать другой сервер сборщика для публичных URL
    • SCRAPER_PRIVATE_URL - Приватный URL для сборщика (локальный сервер сборщика в файле docker-compose.yml для доступа к локальным URL)

    Учетные данные для доступа

    • и - Учетные данные PostgreSQL
    1. Удалите все встроенные комментарии из файла .env, если вы хотите использовать его в VSCode или других IDE в качестве опции envFile:```bash perl -i -pe 's/\s+#.*$//' .env
    root@kitploit:~
    7. Запустите стек PentAGI:```bash
    curl -O https://raw.githubusercontent.com/vxcontrol/pentagi/master/docker-compose.yml
    docker compose up -d
    

    Посетите localhost:8443 для доступа к веб-интерфейсу PentAGI (по умолчанию: [email protected] / admin)

    Учётные записи веб-интерфейса

    PentAGI не предоставляет публичную самостоятельную регистрацию со страницы входа. При свежей установке создаётся учётная запись локального администратора по умолчанию:

    • Email: [email protected]
    • Пароль: admin

    При первом входе в систему измените пароль по умолчанию, прежде чем использовать экземпляр для реальной работы. Если в дальнейшем пароль администратора будет утерян, воспользуйтесь меню обслуживания установщика, чтобы сбросить пароль для учётной записи [email protected] по умолчанию.

    Для многопользовательских конфигураций аутентифицированный администратор может управлять локальными пользователями через REST API для пользователей (/api/v1/users/). Интерфейс OpenAPI доступен по адресу https://localhost:8443/api/v1/swagger/index.html после запуска экземпляра.

    [!NOTE] Если вы получили ошибку о pentagi-network, observability-network или langfuse-network, сначала необходимо запустить docker-compose.yml, чтобы создать эти сети, а затем запустить docker-compose-langfuse.yml, docker-compose-graphiti.yml и docker-compose-observability.yml, чтобы использовать сервисы Langfuse, Graphiti и Observability.

    Вы должны настроить как минимум одного провайдера языковых моделей (OpenAI, Anthropic, Gemini, AWS Bedrock или Ollama), чтобы использовать PentAGI. AWS Bedrock обеспечивает корпоративный доступ к нескольким базовым моделям от ведущих AI-компаний, в то время как Ollama предоставляет бесплатный локальный инференс при наличии достаточных вычислительных ресурсов. Дополнительные API-ключи для поисковых систем необязательны, но рекомендуются для лучших результатов.

    Для полностью локального развёртывания с продвинутыми моделями: См. наше подробное руководство по Запуску PentAGI с vLLM и Qwen3.5-27B-FP8 для настройки локальной LLM производственного уровня. Эта конфигурация достигает ~13 000 TPS для обработки запросов и ~650 TPS для генерации на 4× RTX 5090, обеспечивая поддержку 12+ одновременных потоков с полной независимостью от облачных провайдеров.

    Переменные окружения LLM_SERVER_* являются экспериментальной функцией и будут изменены в будущем. Сейчас вы можете использовать их для указания собственного URL-адреса LLM-сервера и одной модели для всех типов агентов.

    Доступ к PentAGI из внешних сетей

    По умолчанию PentAGI привязывается к 127.0.0.1 (только localhost) в целях безопасности. Чтобы получить доступ к PentAGI с других машин в вашей сети, необходимо настроить внешний доступ.

    Шаги настройки

    1. Обновите файл .env, указав IP-адрес вашего сервера:```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

    root@kitploit:~
    > [!IMPORTANT]
    > - Замените `192.168.1.100` на фактический IP-адрес вашего сервера
    > - НЕ используйте `0.0.0.0` в `PUBLIC_URL` или `CORS_ORIGINS` — используйте фактический IP-адрес
    > - Включите как localhost, так и IP вашего сервера в `CORS_ORIGINS` для гибкости
    
    2. **Пересоздайте контейнеры**, чтобы применить изменения:```bash
    docker compose down
    docker compose up -d --force-recreate
    
    1. Проверьте привязку порта:```bash docker ps | grep pentagi
    root@kitploit:~
    Вы должны увидеть `0.0.0.0:8443->8443/tcp` или `:::8443->8443/tcp`.
    
    Если вы видите `127.0.0.1:8443->8443/tcp`, переменная окружения не была подхвачена. В этом случае напрямую отредактируйте `docker-compose.yml` строку 31:```yaml
    ports:
      - "0.0.0.0:8443:8443"
    

    Затем снова создайте контейнеры.

    1. Настройте брандмауэр, чтобы разрешить входящие соединения на порт 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

    root@kitploit:~
    5. **Доступ к PentAGI:**
    
    - **Локальный доступ:** `https://localhost:8443`
    - **Сетевой доступ:** `https://your-server-ip:8443`
    
    > [!NOTE]
    > При доступе через IP-адрес вам потребуется принять предупреждение о самоподписанном SSL-сертификате в браузере.
    
    ---
    
    ### Запуск PentAGI с Podman
    
    PentAGI полностью поддерживает Podman в качестве альтернативы Docker. Однако при использовании **Podman в бескорневом режиме (rootless)** сервис сборщика (scraper) требует специальной настройки, так как бескорневые контейнеры не могут привязывать привилегированные порты (порты ниже 1024).
    
    #### Конфигурация Podman без root-прав
    
    Конфигурация сборщика по умолчанию использует порт 443 (HTTPS), который является привилегированным. Для бескорневого Podman перенастройте сборщик на непривилегированный порт:
    
    **1. Отредактируйте `docker-compose.yml`** - измените сервис `scraper` (примерно строка 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
    

    2. Обновите файл .env - измените URL скрапера на использование HTTP и порт 3000:```bash

    Scraper configuration for Podman rootless

    SCRAPER_PRIVATE_URL=http://someuser:somepass@scraper:3000/ LOCAL_SCRAPER_USERNAME=someuser LOCAL_SCRAPER_PASSWORD=somepass

    root@kitploit:~
    > [!ВАЖНО]
    > Ключевые изменения для Podman:
    > - Используйте **HTTP** вместо HTTPS для `SCRAPER_PRIVATE_URL`
    > - Используйте порт **3000** вместо 443
    > - Измените внутренний `expose` на `3000/tcp`
    > - Обновите привязку портов, указав `3000` вместо `443`
    
    **3. Пересоздайте контейнеры:**```bash
    podman-compose down
    podman-compose up -d --force-recreate
    

    4. Проверка подключения скрапера:```bash

    Test from within the pentagi container

    podman exec -it pentagi wget -O- "http://someuser:somepass@scraper:3000/html?url=http://example.com"

    root@kitploit:~
    Если вы видите HTML-вывод, значит, скрапер работает корректно.
    
    #### Корневой режим Podman
    
    Если вы запускаете Podman в корневом режиме (с sudo), вы можете использовать конфигурацию по умолчанию без изменений. Скрапер будет работать на порту 443, как и предполагается.
    
    #### Совместимость с Docker
    
    Все конфигурации Podman остаются полностью совместимыми с Docker. Подход с непривилегированным портом работает одинаково на обоих средах выполнения контейнеров.
    
    ### Конфигурация ассистента
    
    PentAGI позволяет настроить поведение ассистентов по умолчанию:
    
    | Переменная            | По умолчанию | Описание                                                                   |
    | --------------------- | ------------ | -------------------------------------------------------------------------- |
    | `ASSISTANT_USE_AGENTS` | `false`      | Управляет значением по умолчанию для использования агентов при создании новых ассистентов |
    
    Настройка `ASSISTANT_USE_AGENTS` влияет на начальное состояние переключателя "Use Agents" при создании нового ассистента в интерфейсе:
    - `false` (по умолчанию): новые ассистенты создаются с отключенным делегированием агентов по умолчанию
    - `true`: новые ассистенты создаются с включенным делегированием агентов по умолчанию
    
    Обратите внимание, что пользователи всегда могут изменить этот параметр, переключив кнопку "Use Agents" в интерфейсе при создании или редактировании ассистента. Эта переменная окружения управляет только начальным состоянием по умолчанию.
    
    ## Как использовать PentAGI после входа
    
    Как только стек запущен и вы можете войти в веб-интерфейс, самый быстрый способ начать — это через рабочий процесс Flows.
    
    ### 1. Создайте свой первый поток
    
    1. Откройте **Flows** на боковой панели.
    2. Нажмите **New Flow**.
    3. Выберите режим, соответствующий вашей цели:
       - **Automation**: полностью автономное выполнение для цели тестирования, которую вы хотите поручить PentAGI от начала до конца
       - **Assistant**: интерактивная помощь с обратной связью, когда вы хотите вести расследование шаг за шагом. В этом режиме вы также можете включить переключатель **Use Agents**, чтобы позволить PentAGI делегировать подзадачи специализированным субагентам для более сложных расследований.
    4. Выберите провайдера LLM, которого вы хотите использовать для этого потока.
    5. Опишите цель и задачу на естественном языке в окне сообщения.
    
    Хорошие первые запросы обычно включают:
    
    - целевую систему или URL
    - тип оценки, который вы хотите
    - любые ограничения области или правила взаимодействия
    - ожидаемый результат, например, отчет об уязвимости или подтверждение гипотезы
    
    Пример:```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.
    

    Тестируйте только те системы, которые вам принадлежат или на которые вы имеете явное разрешение. См. EULA.md с требованиями к допустимому использованию.

    2. Используйте шаблоны для повторяемых рабочих процессов

    Новая форма потока включает выбор шаблона, который может предварительно заполнить окно сообщения сохраненным шаблоном потока. Это полезно, когда вы регулярно проводите аналогичные оценки.

    • Используйте существующий шаблон, если он уже сохранен в Шаблонах
    • Начните с примера подсказки в файле examples/prompts/base_web_pentest.md, если вам нужна практическая основа для тестирования веб-приложений
    • Перед запуском потока настройте цель, область действия и ограничения

    Шаблоны — это отправные точки. Для использования PentAGI не требуется специальный синтаксис: обычные инструкции на естественном языке работают хорошо, если цель и задача ясны.

    3. Отслеживайте выполнение и просматривайте результаты

    После отправки потока PentAGI автоматически открывает страницу потока.

    • Используйте основной вид потока для отслеживания сообщений, активности агентов и хода выполнения задач
    • По мере выполнения потока просматривайте активность инструментов и вывод терминала
    • Просматривайте сгенерированные задачи и подзадачи, чтобы понимать, что делает PentAGI

    Когда поток накопит достаточно результатов, используйте меню Отчет на странице потока, чтобы:

    • открыть отчет в веб-просмотре
    • скопировать сгенерированный отчет в буфер обмена
    • скачать отчет в формате Markdown
    • скачать отчет в формате PDF

    4. Используйте вид Помощника для управления активным потоком

    Каждый поток также включает вид Помощник для интерактивного управления. Это полезно, когда автономный запуск обнаруживает что-то, требующее вмешательства человека вместо полного перезапуска.

    • Откройте вид Помощник для того же потока, если хотите проверить текущее состояние перед внесением изменений.
    • Используйте помощника для проверки статуса потока, остановки текущей задачи, отправки дополнительных инструкций или корректировки оставшихся запланированных подзадач перед следующим шагом.
    • Рассматривайте это как явный путь управления текущим потоком, а не как невидимую фоновую очередь. Если вы хотите изменить направление, четко укажите это и привяжите новую инструкцию к текущей области оценки.
    • Это лучше всего подходит для уточнения области, перенаправления приоритетов после промежуточных результатов или ответа на контрольную точку автоматизации без потери контекста всего потока.

    5. Управляйте файлами в рамках потока

    У каждого потока есть своя вкладка Файлы на странице потока. Файлы привязаны к родительскому потоку: они хранятся в {dataDir}/flow-{id}-data/ на хосте и никогда не попадают в другие потоки.

    На вкладке отображаются три источника файлов:

    • Загрузки (uploads/): файлы, которые вы предоставляете через веб-интерфейс. Используйте действие Загрузить файлы или перетащите их прямо на вкладку «Файлы». Когда контейнер агента работает, загруженные файлы также помещаются в него по пути /work/uploads/, чтобы агент мог читать их с помощью обычных shell-инструментов.
    • Ресурсы (resources/): файлы, прикрепленные из вашей сохраненной библиотеки пользовательских ресурсов через Прикрепить ресурсы из библиотеки. Прикрепленные ресурсы копируются в поток и помещаются в работающий контейнер по пути /work/resources/.
    • Контейнер (container/): снимки, извлеченные из работающего контейнера агента через Извлечь файл или каталог из контейнера. Они доступны только для чтения на стороне потока и никогда не отправляются обратно в контейнер.

    Действия для каждого файла на вкладке «Файлы» включают Скачать, Скопировать путь, Сохранить как ресурс (преобразовать файл потока в вашу повторно используемую библиотеку ресурсов) и Удалить. Действие «Извлечь» отключено, когда контейнер не работает, при этом отображается подсказка «Контейнер не запущен».

    Загруженные файлы и прикрепленные ресурсы автоматически перечисляются в системных подсказках агента через шаблонную переменную {{.UserFiles}}, которая выводит компактный XML-блок <task_files> (с вложенными разделами <uploads> и <resources>), так что помощник и агенты автоматизации могут ссылаться на них по пути без необходимости вставлять содержимое в чат. Снимки контейнера видны только в интерфейсе и не вставляются автоматически обратно в подсказку.

    Текущие ограничения, о которых следует знать:

    • Максимальный размер загружаемого файла — 300 МБ; на один запрос загрузки — до 1000 файлов и 2 ГБ в сумме. Имена файлов ограничены 255 байтами (примерно 255 символов ASCII; не-ASCII имена используют несколько байт на символ).
    • Загрузки и ресурсы зеркалируются в работающий контейнер по фиксированным путям /work/uploads/ и /work/resources/; файлы, записанные в другие пути контейнера, не зеркалируются автоматически обратно в модель файлов потока. Снимки контейнера могут быть получены из любого пути контейнера, который вы укажете (например, /etc/...), и кэшируются на стороне потока в каталоге container/; они не отправляются обратно в контейнер.
    • Снимки контейнера — это извлечения на момент времени. Редактирование снимка в интерфейсе не записывается обратно в работающий контейнер.
    • Удаление потока в настоящее время удаляет запись потока и его записи долговременной памяти, но пока не архивирует и не удаляет каталог flow-{id}-data/ на диске. Операторы по-прежнему должны вручную очищать каталог данных, если хотят освободить место.

    Для раннего тестирования начните с узкой цели и одной четкой задачи. Это упростит проверку результатов и поможет уточнить подсказки перед проведением более масштабных оценок.

    API-доступ

    PentAGI предоставляет всесторонний программный доступ через API REST и GraphQL, что позволяет интегрировать рабочие процессы тестирования на проникновение в ваши конвейеры автоматизации, процессы CI/CD и пользовательские приложения.

    Генерация токенов API

    Управление токенами API осуществляется через веб-интерфейс PentAGI:

    1. Перейдите в Настройки → Токены API в веб-интерфейсе
    2. Нажмите Создать токен, чтобы сгенерировать новый токен API
    3. Настройте свойства токена:
      • Имя (необязательно): описательное имя для токена
      • Дата истечения: когда токен истечет (минимум 1 минута, максимум 3 года)
    4. Нажмите Создать и скопируйте токен немедленно — в целях безопасности он будет показан только один раз
    5. Используйте токен как Bearer-токен в ваших API-запросах

    Каждый токен привязан к вашей учетной записи и наследует права вашей роли.

    Использование токенов API

    Включайте токен API в заголовок Authorization ваших 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"

    root@kitploit:~
    ### Исследование и тестирование API
    
    PentAGI предоставляет интерактивную документацию для исследования и тестирования конечных точек API:
    
    #### GraphQL Playground
    
    Получите доступ к GraphQL Playground по адресу `https://your-pentagi-instance:8443/api/v1/graphql/playground`
    
    1. Нажмите на вкладку **HTTP Headers** в нижней части
    2. Добавьте свой заголовок авторизации:   ```json
       {
         "Authorization": "Bearer YOUR_API_TOKEN"
       }
    
    1. Изучайте схему, выполняйте запросы и тестируйте мутации в интерактивном режиме

    Swagger UI

    Доступ к документации REST API по адресу https://your-pentagi-instance:8443/api/v1/swagger/index.html

    1. Нажмите кнопку Authorize
    2. Введите ваш токен в формате: Bearer YOUR_API_TOKEN
    3. Нажмите Authorize для применения
    4. Тестируйте конечные точки прямо из Swagger UI

    Генерация API-клиентов

    Вы можете генерировать типобезопасные API-клиенты для вашего предпочитаемого языка программирования, используя файлы схем, включенные в PentAGI:

    GraphQL-клиенты

    Схема GraphQL доступна по адресу:

    • Веб-интерфейс: Перейдите в Настройки, чтобы скачать schema.graphqls
    • Прямой файл: backend/pkg/graph/schema.graphqls в репозитории

    Генерируйте клиенты с помощью таких инструментов, как:

    • 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

    REST API-клиенты

    Спецификация OpenAPI доступна по адресу:

    • Swagger JSON: https://your-pentagi-instance:8443/api/v1/swagger/doc.json
    • Swagger YAML: Доступен в backend/pkg/server/docs/swagger.yaml

    Генерируйте клиенты с помощью:

    • 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:~

    Примеры использования API

    Создание нового потока (GraphQL)```graphql mutation CreateFlow { createFlow( modelProvider: "openai" input: "Test the security of https://example.com" ) { id title status createdAt } } ```
    Список потоков (REST API)```bash curl https://your-pentagi-instance:8443/api/v1/flows \ -H "Authorization: Bearer YOUR_API_TOKEN" \ | jq '.flows[] | {id, title, status}' ```
    Пример клиента на 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>Пример клиента на 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}`);
    

    Лучшие практики безопасности

    При работе с API-токенами:

    • Никогда не фиксируйте токены в системе контроля версий — используйте переменные окружения или управление секретами
    • Регулярно обновляйте токены — устанавливайте подходящие сроки истечения и периодически создавайте новые токены
    • Используйте отдельные токены для разных приложений — это упрощает отзыв доступа при необходимости
    • Мониторьте использование токенов — проверяйте активность API-токенов на странице Настроек
    • Отзывайте неиспользуемые токены — отключайте или удаляйте токены, которые больше не нужны
    • Используйте только HTTPS — никогда не отправляйте API-токены по незашифрованным соединениям

    Управление токенами

    • Просмотр токенов: Просмотрите все свои активные токены в Настройки → API-токены
    • Редактирование токенов: Обновите имена токенов или отзовите токены
    • Удаление токенов: Навсегда удалите токены (это действие нельзя отменить)
    • ID токена: Каждый токен имеет уникальный ID, который можно скопировать для справки

    Список токенов показывает:

    • Имя токена (если указано)
    • ID токена (уникальный идентификатор)
    • Статус (активен/отозван/истек)
    • Дата создания
    • Дата истечения

    Настройка пользовательского LLM-провайдера

    При использовании пользовательских LLM-провайдеров с переменными LLM_SERVER_* вы можете точно настроить формат рассуждений, используемый в запросах.

    [!TIP] Для локальных развертываний производственного уровня рассмотрите возможность использования vLLM с Qwen3.5-27B-FP8 для оптимальной производительности. См. наше полное руководство по развертыванию, которое включает требования к оборудованию, шаблоны конфигурации (режим мышления и режим без мышления), а также бенчмарки производительности, показывающие обработку 13K TPS на 4× RTX 5090 GPU.

    Настройка LLM_SERVER_PROVIDER особенно полезна при использовании прокси LiteLLM, которая добавляет префикс провайдера к именам моделей. Например, при подключении к API Moonshot через LiteLLM модели типа kimi-2.5 становятся moonshot/kimi-2.5. Установив LLM_SERVER_PROVIDER=moonshot, вы можете использовать один и тот же файл конфигурации провайдера как для прямого доступа к API, так и для доступа через прокси LiteLLM без изменений.

    Настройка LLM_SERVER_LEGACY_REASONING влияет на то, как параметры рассуждений отправляются в LLM:

    • false (по умолчанию): Использует современный формат, где рассуждения отправляются как структурированный объект с параметром max_tokens
    • true: Использует устаревший формат с строковым параметром reasoning_effort

    Эта настройка важна при работе с разными LLM-провайдерами, так как они могут ожидать разные форматы рассуждений в своих API-запросах. Если вы столкнулись с ошибками, связанными с рассуждениями, при использовании пользовательских провайдеров, попробуйте изменить эту настройку.

    Настройка LLM_SERVER_PRESERVE_REASONING управляет сохранением содержимого рассуждений в многократных диалогах:

    • false (по умолчанию): Содержимое рассуждений не сохраняется в истории диалога
    • true: Содержимое рассуждений сохраняется и отправляется в последующих API-вызовах

    Эта настройка требуется некоторыми LLM-провайдерами (например, Moonshot), которые возвращают ошибки вроде "thinking is enabled but reasoning_content is missing in assistant tool call message", когда содержимое рассуждений не включено в многократные диалоги. Включите эту настройку, если ваш провайдер требует сохранения содержимого рассуждений.

    Настройка провайдера Ollama

    PentAGI поддерживает Ollama как для локального вывода LLM (без затрат, повышенная конфиденциальность), так и для Ollama Cloud (управляемый сервис с бесплатным уровнем).

    Переменные конфигурации

    Конфигурация Ollama Cloud

    Ollama Cloud предоставляет управляемый вывод с щедрым бесплатным уровнем и масштабируемыми платными тарифами.

    Настройка бесплатного тарифа (одна модель)```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:~
    **Настройка платного тарифа (мультимодельная конфигурация с предварительной настройкой)**
    
    Для платных тарифов, поддерживающих несколько одновременных моделей, используйте предварительно настроенную конфигурацию 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
    

    Предварительно созданная конфигурация ollama-cloud.provider.yml содержит оптимизированные назначения моделей для всех типов агентов:

    • Simple/Assistant: nemotron-3-super:cloud - Быстрая модель общего назначения
    • Primary Agent: qwen3-coder-next:cloud - Продвинутые рассуждения с режимом высоких усилий
    • Coder/Pentester: qwen3-coder-next:cloud - Специализированные модели для написания кода
    • Searcher: qwen3.5:397b-cloud - Большой контекст для сбора информации
    • Refiner/Refactor: glm-5:cloud - Высококачественное уточнение текста
    • Adviser/Enricher: minimax-m2.7:cloud - Эффективные консультационные задачи
    • Installer: devstral-2:123b-cloud - Задачи установки и настройки

    Custom Configuration (Advanced)

    Чтобы создать собственную конфигурацию агента, смонтируйте пользовательский файл из файловой системы хоста:```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:~
    Переменная окружения `PENTAGI_OLLAMA_SERVER_CONFIG_PATH` указывает на ваш файл конфигурации хоста, сопоставляя его с `/opt/pentagi/conf/ollama.provider.yml` внутри контейнера.
    
    **Пример пользовательской конфигурации** (`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
    

    Локальная конфигурация Ollama

    Для самостоятельно размещённых экземпляров Ollama:```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:~
    **Рекомендации по производительности:**
    
    - **Model Discovery** (`OLLAMA_SERVER_LOAD_MODELS_ENABLED=true`): Добавляет задержку запуска 1-2 с при запросе к API Ollama
    - **Auto-pull** (`OLLAMA_SERVER_PULL_MODELS_ENABLED=true`): Первый запуск может занять несколько минут на скачивание моделей
    - **Pull timeout** (`OLLAMA_SERVER_PULL_MODELS_TIMEOUT=900`): Тайм-аут загрузки: 15 минут в секундах
    - **Static Config**: Отключите оба флага и укажите модели в файле конфигурации для максимально быстрого запуска
    
    #### Создание пользовательских моделей Ollama с расширенным контекстом
    
    PentAGI требует модели с большим окном контекста, чем стандартные конфигурации Ollama. Вам необходимо создать пользовательские модели с увеличенным параметром `num_ctx` с помощью Modelfiles. В то время как типичные рабочие процессы агента потребляют около 64K токенов, PentAGI использует размер контекста 110K для запаса надёжности и обработки сложных сценариев тестирования на проникновение.
    
    **Важно**: Параметр `num_ctx` может быть установлен только во время создания модели через Modelfile - его нельзя изменить после создания модели или переопределить во время выполнения.
    
    ##### Пример: Qwen3 32B FP16 с расширенным контекстом
    
    Создайте Modelfile с именем `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
    

    Создайте пользовательскую модель:```bash ollama create qwen3:32b-fp16-tc -f Modelfile_qwen3_32b_fp16_tc

    root@kitploit:~
    ##### Пример: QwQ 32B FP16 с расширенным контекстом
    
    Создайте Modelfile с именем `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
    

    Создайте пользовательскую модель:```bash ollama create qwq:32b-fp16-tc -f Modelfile_qwq_32b_fp16_tc

    root@kitploit:~
    > **Примечание**: Модель QwQ 32B FP16 требует приблизительно **71,3 ГБ VRAM** для инференса. Убедитесь, что ваша система имеет достаточный объём памяти GPU перед попыткой использования этой модели.
    
    Эти пользовательские модели упоминаются в предварительно созданных файлах конфигурации провайдера (`ollama-qwen332b-fp16-tc.provider.yml` и `ollama-qwq32b-fp16-tc.provider.yml`), которые включены в Docker-образ по пути `/opt/pentagi/conf/`.
    
    ### Конфигурация провайдера OpenAI
    
    PentAGI интегрируется с всеобъемлющей линейкой моделей OpenAI, включающей продвинутые возможности рассуждения с расширенной цепочкой мыслей, агентные модели с улучшенной интеграцией инструментов и специализированные кодовые модели для инженерии безопасности.
    
    #### Переменные конфигурации
    
    | Переменная            | По умолчанию                 | Описание                        |
    | --------------------- | ---------------------------- | ------------------------------- |
    | `OPEN_AI_KEY`         |                              | API-ключ для сервисов OpenAI    |
    | `OPEN_AI_SERVER_URL`  | `https://api.openai.com/v1`  | Конечная точка API OpenAI       |
    
    #### Примеры конфигурации```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
    

    Поддерживаемые модели

    PentAGI поддерживает 31 модель OpenAI с возможностью вызова инструментов, стриминга, режимов рассуждения и кэширования подсказок. Модели, отмеченные *, используются в конфигурации по умолчанию.

    Серия GPT-5.2 - Последние флагманские агентные модели (декабрь 2025)

    Серии GPT-5/5.1 - Продвинутые агентные модели

    Серии GPT-5/5.1 Codex - Специализированные на коде

    Серия GPT-4.1 - Повышенный интеллект

    Серия GPT-4o - Мультимодальный флагман

    Model IDThinkingPrice (Input/Output/Cache)Use Case
    gpt-4o

    o-Серия - Модели продвинутого рассуждения

    Цены: За 1 миллион токенов. Модели с рассуждением включают токены мышления в стоимость вывода.

    [!WARNING] Модели GPT-5 - Требуется доверенный доступ*

    Все модели серии GPT-5 (gpt-5, gpt-5.1, gpt-5.2, gpt-5-pro, gpt-5.2-pro и все варианты Codex) работают нестабильно с PentAGI и могут вызывать механизмы безопасности кибербезопасности OpenAI без подтвержденного доступа.

    Для надежной работы с моделями GPT-5:*

    1. Индивидуальные пользователи: Подтвердите свою личность по адресу chatgpt.com/cyber
    2. Корпоративные команды: Запросите доверенный доступ через своего представителя OpenAI
    3. Исследователи безопасности: Подайте заявку в Программу грантов по кибербезопасности (включает 10 миллионов долларов в виде API-кредитов)

    Рекомендуемые альтернативы без верификации:

    • Используйте модели o-series (o3, o4-mini, o1) для задач, требующих рассуждения
    • Используйте серию gpt-4.1 для общего интеллекта и вызова функций
    • Все модели o-series и gpt-4.x надежно работают без специального доступа

    Уровни усилия рассуждения:

    • Высокий: Максимальная глубина рассуждения (refiner - o3 с высоким усилием)
    • Средний: Сбалансированное рассуждение (primary_agent, assistant, reflector - o4-mini/o3 со средним усилием)
    • Низкий: Эффективное целенаправленное рассуждение (coder, installer, pentester - o3/o4-mini с низким усилием; adviser - gpt-5.2 с низким усилием)

    Ключевые особенности:

    • Расширенное рассуждение: Модели o-series с цепочкой рассуждений для сложного анализа безопасности
    • Агентный интеллект: Серии GPT-5/5.1/5.2 с улучшенной интеграцией инструментов и автономными возможностями
    • Кэширование подсказок: Снижение затрат на повторяющийся контекст (10-50% от цены ввода)
    • Специализация на коде: Выделенные модели Codex для обнаружения уязвимостей и разработки эксплойтов
    • Мультимодальная поддержка: Серия GPT-4o для оценок безопасности на основе изображений
    • Вызов инструментов: Надежный вызов функций во всех моделях для оркестровки инструментов пентеста
    • Стриминг: Стриминг ответов в реальном времени для интерактивных рабочих процессов
    • Подтвержденный опыт: Ведущие в отрасли модели с находками CVE и реальными приложениями в области безопасности

    Конфигурация провайдера Anthropic

    PentAGI интегрируется с моделями Claude от Anthropic, предлагая продвинутые возможности расширенного мышления, исключительные механизмы безопасности и сложное понимание контекстов безопасности с кэшированием подсказок.

    Переменные конфигурации

    VariableDefaultDescription
    ANTHROPIC_API_KEYAPI-ключ для сервисов Anthropic
    ANTHROPIC_SERVER_URLhttps://api.anthropic.com/v1Конечная точка API Anthropic

    Примеры конфигурации```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 для моделей Claude**
    >
    > PentAGI в настоящее время не предоставляет выделенного пути конфигурации Google Vertex AI для Anthropic Claude в `.env`. На данный момент нет отдельного поля для ключа API Vertex AI, а существующие переменные Anthropic (`ANTHROPIC_API_KEY`, `ANTHROPIC_SERVER_URL`) нацелены на прямой API Anthropic. Поддерживаемые маршруты для Claude:
    >
    > - **Прямой API Anthropic**: `ANTHROPIC_API_KEY` и `ANTHROPIC_SERVER_URL` (см. выше).
    > - **AWS Bedrock**: переменные `BEDROCK_*` (см. [Конфигурация провайдера AWS Bedrock](#aws-bedrock-provider-configuration)).
    >
    > Если вам нужно использовать Vertex AI сегодня, самый безопасный поддерживаемый обходной путь — предоставить Vertex AI через OpenAI-совместимый прокси или шлюз, который преобразует вызовы Vertex AI в формат Chat Completions, сохраняя поведение чата и вызова инструментов, на которое полагается PentAGI, а затем направить пользовательского провайдера LLM на этот шлюз с помощью `LLM_SERVER_URL`, `LLM_SERVER_KEY` и `LLM_SERVER_MODEL`. Надежность этого пути зависит только от выбранного шлюза.
    
    #### Поддерживаемые модели
    
    PentAGI поддерживает 10 моделей Claude с вызовом инструментов, потоковой передачей, расширенным мышлением, адаптивным мышлением и кэшированием подсказок. Модели, отмеченные `*`, используются в конфигурации по умолчанию.
    
    **Серия Claude 4 — Новейшие модели (2025–2026)**
    
    | Идентификатор модели      | Мышление | Дата выпуска | Цена (Ввод/Вывод/Кэш Чт/Зп) | Назначение                                  |
    | ------------------------- | -------- | ------------ | --------------------------- | ------------------------------------------- |
    | `claude-opus-4-6`*        | ✅        | Май 2025     | $5.00/$25.00/$0.50/$6.25   | Самая интеллектуальная модель для автономных агентов и кодирования. Расширенное + адаптивное мышление для разработки сложных эксплойтов, многоэтапного моделирования атак |
    | `claude-sonnet-4-6`*      | ✅        | Авг 2025     | $3.00/$15.00/$0.30/$3.75   | Лучший баланс скорости и интеллекта с адаптивным мышлением. Многофазные оценки безопасности, интеллектуальный анализ уязвимостей, охота за угрозами в реальном времени |
    | `claude-haiku-4-5`*       | ✅        | Окт 2025     | $1.00/$5.00/$0.10/$1.25    | Самая быстрая модель с интеллектом, близким к передовому. Высокочастотное сканирование, мониторинг в реальном времени, массовое автоматизированное тестирование |
    
    **Устаревшие модели — всё ещё поддерживаются**
    
    | Идентификатор модели      | Мышление | Дата выпуска | Цена (Ввод/Вывод/Кэш Чт/Зп) | Назначение                                  |
    | ------------------------- | -------- | ------------ | --------------------------- | ------------------------------------------- |
    | `claude-sonnet-4-5`       | ✅        | Сен 2025     | $3.00/$15.00/$0.30/$3.75   | Передовые рассуждения (заменена на 4-6). Искусное тестирование на проникновение, расширенный анализ угроз |
    | `claude-opus-4-5`         | ✅        | Ноя 2025     | $5.00/$25.00/$0.50/$6.25   | Предельные рассуждения (заменена на opus-4-6). Критические исследования безопасности, обнаружение 0-day, операции красных команд |
    | `claude-opus-4-1`         | ✅        | Авг 2025     | $15.00/$75.00/$1.50/$18.75 | Продвинутые рассуждения (заменена). Сложное тестирование на проникновение, изощрённое моделирование угроз |
    | `claude-sonnet-4-0`       | ✅        | Май 2025     | $3.00/$15.00/$0.30/$3.75   | Высокопроизводительные рассуждения (заменена). Сложное моделирование угроз, координация нескольких инструментов |
    | `claude-opus-4-0`         | ✅        | Май 2025     | $15.00/$75.00/$1.50/$18.75 | Первое поколение Opus (заменена). Многоэтапная разработка эксплойтов, автономные рабочие процессы пентестинга |
    
    **Устаревшие модели — перенесите на текущие модели**
    
    | Идентификатор модели             | Мышление | Дата выпуска | Цена (Ввод/Вывод/Кэш Чт/Зп) | Примечания                                |
    | -------------------------------- | -------- | ------------ | --------------------------- | ----------------------------------------- |
    | `claude-3-haiku-20240307`        | ❌        | Мар 2024     | $0.25/$1.25/$0.03/$0.30    | Будет выведена из эксплуатации 19 апреля 2026 г. Перенесите на claude-haiku-4-5 |
    
    **Цены**: За 1 млн токенов. Цены на кэш включают стоимость чтения и записи.
    
    **Конфигурация расширенного мышления**:
    - **Макс. токенов 4096**: Генератор (claude-opus-4-6) для максимальной глубины рассуждений при разработке сложных эксплойтов
    - **Макс. токенов 2048**: Кодер (claude-sonnet-4-6) для сбалансированного анализа кода и исследования уязвимостей
    - **Макс. токенов 1024**: Основной агент, ассистент, уточнитель, советник, рефлектор, искатель, установщик, пентестер для целенаправленных рассуждений по конкретным задачам
    - **Расширенное мышление**: Все модели Claude 4.5+ и 4.6 поддерживают настраиваемое расширенное мышление для задач глубоких рассуждений
    
    **Ключевые возможности**:
    - **Расширенное мышление**: Все модели Claude 4.5+ и 4.6 с настраиваемой глубиной цепочки рассуждений для сложного анализа безопасности
    - **Адаптивное мышление**: Серия Claude 4.6 (Opus/Sonnet) динамически регулирует глубину рассуждений в зависимости от сложности задачи для оптимальной производительности
    - **Кэширование подсказок**: Значительное снижение стоимости с отдельной ценой на чтение/запись (10% чтение, 125% запись от ввода)
    - **Расширенный контекст**: 200K токенов по умолчанию, до 1M токенов (бета) для Claude Opus/Sonnet 4.6 для всестороннего анализа кодовой базы
    - **Вызов инструментов**: Надёжный вызов функций с исключительной точностью для координации инструментов безопасности
    - **Потоковая передача**: Потоковая передача ответов в реальном времени для интерактивных рабочих процессов тестирования на проникновение
    - **Безопасность в первую очередь**: Встроенные механизмы безопасности, обеспечивающие ответственные методы тестирования безопасности
    - **Мультимодальная поддержка**: Возможности зрения в новейших моделях для анализа скриншотов и оценки безопасности пользовательского интерфейса
    
    ---
    
    [Read more](https://github.com/vxcontrol/pentagi)
    
    Скачать инструмент
    ПараметрПеременная средыПо умолчаниюОписание
    Preserve LastSUMMARIZER_PRESERVE_LASTtrueОставлять ли все сообщения в последнем разделе нетронутыми
    Use QA PairsSUMMARIZER_USE_QAtrueИспользовать ли стратегию суммаризации пар вопрос-ответ
    Summarize Human in QASUMMARIZER_SUM_MSG_HUMAN_IN_QAfalseСуммировать ли сообщения человека в парах вопрос-ответ
    Last Section SizeSUMMARIZER_LAST_SEC_BYTES51200Максимальный размер последнего раздела в байтах (50 КБ)
    Max Body Pair SizeSUMMARIZER_MAX_BP_BYTES16384Максимальный размер одной пары тела в байтах (16 КБ)
    Max QA SectionsSUMMARIZER_MAX_QA_SECTIONS10Максимальное количество сохраняемых разделов пар вопрос-ответ
    Max QA SizeSUMMARIZER_MAX_QA_BYTES65536Максимальный размер разделов пар вопрос-ответ в байтах (64 КБ)
    Keep QA SectionsSUMMARIZER_KEEP_QA_SECTIONS1Количество последних разделов QA, сохраняемых без суммаризации
    ПараметрПеременная средыПо умолчаниюОписание
    Preserve LastASSISTANT_SUMMARIZER_PRESERVE_LASTtrueСохранять ли все сообщения в последнем разделе ассистента
    Last Section SizeASSISTANT_SUMMARIZER_LAST_SEC_BYTES76800Максимальный размер последнего раздела ассистента в байтах (75 КБ)
    Max Body Pair SizeASSISTANT_SUMMARIZER_MAX_BP_BYTES16384Максимальный размер одной пары тела в контексте ассистента (16 КБ)
    Max QA SectionsASSISTANT_SUMMARIZER_MAX_QA_SECTIONS7Максимальное количество сохраняемых разделов QA в контексте ассистента
    Max QA SizeASSISTANT_SUMMARIZER_MAX_QA_BYTES76800Максимальный размер разделов QA ассистента в байтах (75 КБ)
    Keep QA SectionsASSISTANT_SUMMARIZER_KEEP_QA_SECTIONS3Количество последних разделов QA, сохраняемых без суммаризации
    PENTAGI_POSTGRES_USER
    PENTAGI_POSTGRES_PASSWORD
  • NEO4J_USER и NEO4J_PASSWORD - Учетные данные Neo4j (для графа знаний Graphiti)
  • PROXY_URL — это глобальный URL-адрес прокси для всех LLM-провайдеров и внешних поисковых систем. Вы можете использовать его для изоляции от внешних сетей.

    Файл docker-compose.yml запускает сервис PentAGI от имени пользователя root, так как ему требуется доступ к docker.sock для управления контейнерами. Если вы используете сетевое подключение TCP/IP к Docker вместо файла сокета, вы можете удалить привилегии root и использовать пользователя pentagi по умолчанию для повышения безопасности.

    ПеременнаяПо умолчаниюОписание
    LLM_SERVER_URLБазовый URL для конечной точки пользовательского LLM API
    LLM_SERVER_KEYКлюч API для пользовательского LLM-провайдера
    LLM_SERVER_MODELМодель по умолчанию (можно переопределить в конфигурации провайдера)
    LLM_SERVER_CONFIG_PATHПуть к файлу конфигурации YAML для агент-специфичных моделей
    LLM_SERVER_PROVIDERПрефикс имени провайдера для имен моделей (например, openrouter, deepseek для прокси LiteLLM)
    LLM_SERVER_LEGACY_REASONINGfalseУправляет форматом рассуждений в API-запросах
    LLM_SERVER_PRESERVE_REASONINGfalseСохранять содержимое рассуждений в многократных диалогах (требуется некоторыми провайдерами)
    ПеременнаяПо умолчаниюОписание
    OLLAMA_SERVER_URLURL вашего сервера Ollama или Ollama Cloud
    OLLAMA_SERVER_API_KEYКлюч API для аутентификации Ollama Cloud
    OLLAMA_SERVER_MODELМодель по умолчанию для вывода
    OLLAMA_SERVER_CONFIG_PATHПуть к файлу конфигурации пользовательского агента
    OLLAMA_SERVER_PULL_MODELS_TIMEOUT600Тайм-аут для загрузки моделей (секунды)
    OLLAMA_SERVER_PULL_MODELS_ENABLEDfalseАвтоматическая загрузка моделей при запуске
    OLLAMA_SERVER_LOAD_MODELS_ENABLEDfalseЗапрос сервера на доступные модели
    Model IDThinkingPrice (Input/Output/Cache)Use Case
    gpt-5.2*✅$1.75/$14.00/$0.18Последний флагман с улучшенным рассуждением и интеграцией инструментов, автономное исследование безопасности
    gpt-5.2-pro✅$21.00/$168.00/$0.00Премиум-версия с превосходным агентным кодированием, критически важные исследования безопасности, обнаружение уязвимостей нулевого дня
    gpt-5.2-codex✅$1.75/$14.00/$0.18Самый продвинутый, специализированный на коде, с компоновкой контекста, мощные кибербезопасные возможности
    Model IDThinkingPrice (Input/Output/Cache)Use Case
    gpt-5✅$1.25/$10.00/$0.13Ведущая агентная модель с продвинутым рассуждением, автономное исследование безопасности, разработка цепочек эксплойтов
    gpt-5.1✅$1.25/$10.00/$0.13Улучшенная агентная модель с адаптивным рассуждением, сбалансированное тестирование на проникновение с сильной координацией инструментов
    gpt-5-pro✅$15.00/$120.00/$0.00Премиум-версия с серьезными улучшениями рассуждения, уменьшенным количеством галлюцинаций, критические операции безопасности
    gpt-5-mini✅$0.25/$2.00/$0.03Эффективная модель, балансирующая скорость и интеллект, автоматизированный анализ уязвимостей, генерация эксплойтов
    gpt-5-nano✅$0.05/$0.40/$0.01Самая быстрая для высокопроизводительного сканирования, разведки, массового обнаружения уязвимостей
    Model IDThinkingPrice (Input/Output/Cache)Use Case
    gpt-5.1-codex-max✅$1.25/$10.00/$0.13Улучшенное рассуждение для сложного кодирования, подтвержденные находки CVE, систематическая разработка эксплойтов
    gpt-5.1-codex✅$1.25/$10.00/$0.13Стандартная оптимизированная для кода модель с сильным рассуждением, генерация эксплойтов, анализ уязвимостей
    gpt-5-codex✅$1.25/$10.00/$0.13Базовая специализированная для кода модель, сканирование уязвимостей, базовая генерация эксплойтов
    gpt-5.1-codex-mini✅$0.25/$2.00/$0.03Компактная высокопроизводительная модель, в 4 раза большая емкость, быстрое обнаружение уязвимостей
    codex-mini-latest✅$1.50/$6.00/$0.38Последняя компактная модель для кода, автоматизированное ревью кода, базовый анализ уязвимостей
    Model IDThinkingPrice (Input/Output/Cache)Use Case
    gpt-4.1❌$2.00/$8.00/$0.50Улучшенный флагман с превосходным вызовом функций, сложный анализ угроз, разработка изощренных эксплойтов
    gpt-4.1-mini*❌$0.40/$1.60/$0.10Сбалансированная производительность с повышенной эффективностью, рутинные оценки безопасности, автоматизированный анализ кода
    gpt-4.1-nano❌$0.10/$0.40/$0.03Сверхбыстрая легковесная модель, массовое сканирование безопасности, быстрая разведка, непрерывный мониторинг
    ❌
    $2.50/$10.00/$1.25
    Мультимодальный флагман с возможностями зрения, анализ изображений, оценка веб-интерфейсов, оркестровка множества инструментов
    gpt-4o-mini❌$0.15/$0.60/$0.08Компактная мультимодальная модель с сильным вызовом функций, высокочастотное сканирование, экономичные массовые операции
    Model IDThinkingPrice (Input/Output/Cache)Use Case
    o4-mini*✅$1.10/$4.40/$0.28Рассуждение нового поколения с повышенной скоростью, методичные оценки безопасности, систематическая разработка эксплойтов
    o3*✅$2.00/$8.00/$0.50Мощная модель рассуждения, многоэтапные цепочки атак, глубокий анализ уязвимостей
    o3-mini✅$1.10/$4.40/$0.55Компактное рассуждение с расширенным мышлением, пошаговое планирование атак, логическое связывание уязвимостей
    o1✅$15.00/$60.00/$7.50Превосходное рассуждение с максимальной глубиной, продвинутое тестирование на проникновение, исследование новых эксплойтов
    o3-pro✅$20.00/$80.00/$0.00Самое продвинутое рассуждение, на 80% дешевле o1-pro, исследование уязвимостей нулевого дня, критические расследования безопасности
    o1-pro✅$150.00/$600.00/$0.00Премиум-рассуждение предыдущего поколения, исчерпывающий анализ безопасности, задачи критической важности