
Sistema de Agentes de IA totalmente autónomo capaz de realizar tareas complejas de pruebas de penetración
¡Únete a la Comunidad! Conéctate con investigadores de seguridad, entusiastas de la IA y hackers éticos colegas. Obtén apoyo, comparte ideas y mantente al día con los últimos desarrollos de PentAGI.
PentAGI es una herramienta innovadora para pruebas de seguridad automatizadas que aprovecha tecnologías de inteligencia artificial de vanguardia. El proyecto está diseñado para profesionales de la seguridad de la información, investigadores y entusiastas que necesitan una solución potente y flexible para realizar pruebas de penetración.
Puedes ver el video Visión general de PentAGI:

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
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
<details>
<summary><b>Arquitectura del contenedor</b> (haga clic para expandir)</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
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
}
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
</details>
<details>
<summary><b>Resumen en Cadena</b> (haga clic para expandir)</summary>
El sistema de resumen en cadena gestiona el crecimiento del contexto de la conversación resumiendo selectivamente los mensajes antiguos. Esto es fundamental para evitar que se superen los límites de tokens, manteniendo la coherencia de la conversación.```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
</details>
<details>
<summary><b>Interacción del Agente</b> (haga clic para expandir)</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
El algoritmo opera sobre una representación estructurada de cadenas de conversación (ChainAST) que preserva los tipos de mensajes, incluyendo las llamadas a herramientas y sus respuestas. Todas las operaciones de resumen mantienen el flujo crítico de la conversación mientras reducen el tamaño del contexto.
| Parámetro | Variable de entorno | Valor predeterminado | Descripción |
|---|---|---|---|
| Preserve Last | SUMMARIZER_PRESERVE_LAST | true | Si se deben conservar todos los mensajes en la última sección intactos |
| Use QA Pairs | SUMMARIZER_USE_QA | true | Si se debe usar la estrategia de resumen de pares de Q&A |
| Summarize Human in QA | SUMMARIZER_SUM_MSG_HUMAN_IN_QA | false | Si se deben resumir los mensajes humanos en los pares de Q&A |
| Last Section Size | SUMMARIZER_LAST_SEC_BYTES | 51200 | Tamaño máximo en bytes para la última sección (50KB) |
| Max Body Pair Size | SUMMARIZER_MAX_BP_BYTES | 16384 | Tamaño máximo en bytes para un solo par de cuerpo (16KB) |
| Max QA Sections | SUMMARIZER_MAX_QA_SECTIONS | 10 | Número máximo de secciones de pares de Q&A a conservar |
| Max QA Size | SUMMARIZER_MAX_QA_BYTES | 65536 | Tamaño máximo en bytes para las secciones de pares de Q&A (64KB) |
| Keep QA Sections | SUMMARIZER_KEEP_QA_SECTIONS | 1 | Número de secciones de Q&A recientes a conservar sin resumir |
Las instancias del asistente pueden usar configuraciones de resumen personalizadas para ajustar el comportamiento de gestión del contexto:
| Parámetro | Variable de entorno | Valor predeterminado | Descripción |
|---|---|---|---|
| Preserve Last | ASSISTANT_SUMMARIZER_PRESERVE_LAST | true | Si se deben conservar todos los mensajes en la última sección del asistente |
| Last Section Size | ASSISTANT_SUMMARIZER_LAST_SEC_BYTES | 76800 | Tamaño máximo en bytes para la última sección del asistente (75KB) |
| Max Body Pair Size | ASSISTANT_SUMMARIZER_MAX_BP_BYTES | 16384 | Tamaño máximo en bytes para un solo par de cuerpo en el contexto del asistente (16KB) |
| Max QA Sections | ASSISTANT_SUMMARIZER_MAX_QA_SECTIONS | 7 | Número máximo de secciones de Q&A a conservar en el contexto del asistente |
| Max QA Size | ASSISTANT_SUMMARIZER_MAX_QA_BYTES | 76800 | Tamaño máximo en bytes para las secciones de Q&A del asistente (75KB) |
| Keep QA Sections | ASSISTANT_SUMMARIZER_KEEP_QA_SECTIONS | 3 | Número de secciones de Q&A recientes a conservar sin resumir |
La configuración del resumidor del asistente proporciona más memoria para la retención del contexto en comparación con la configuración global, conservando un historial de conversación más reciente mientras sigue garantizando un uso eficiente de los tokens.
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
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
</details>
<a id="advanced-agent-supervision"></a>
<details>
<summary><b>Supervisión Avanzada de Agentes</b> (haga clic para expandir)</summary>
PentAGI incluye mecanismos sofisticados de supervisión de agentes en múltiples capas para garantizar una ejecución eficiente de tareas, evitar bucles infinitos y proporcionar una recuperación inteligente de estados bloqueados:
### Monitoreo de Ejecución (Beta)
- **Intervención Automática del Mentor**: El agente asesor (mentor) se invoca automáticamente cuando los patrones de ejecución indican problemas potenciales.
- **Detección de Patrones**: Monitorea llamadas a herramientas idénticas (umbral: 5, configurable) y llamadas totales a herramientas (umbral: 10, configurable).
- **Análisis de Progreso**: Evalúa si el agente avanza hacia el objetivo de la subtarea, detecta bucles e ineficiencias.
- **Estrategias Alternativas**: Recomienda diferentes enfoques cuando la estrategia actual falla.
- **Guía de Recuperación de Información**: Sugiere buscar soluciones establecidas en lugar de reinventar.
- **Formato de Respuesta Mejorado**: Las respuestas de las herramientas incluyen secciones `<original_result>` y `<mentor_analysis>`.
- **Configurable**: Habilite mediante `EXECUTION_MONITOR_ENABLED` (predeterminado: falso), personalice umbrales con `EXECUTION_MONITOR_SAME_TOOL_LIMIT` y `EXECUTION_MONITOR_TOTAL_TOOL_LIMIT`.
**Mejor para**: Modelos más pequeños (< 32B parámetros), escenarios de ataque complejos que requieren orientación continua, evitar que los agentes se estanquen en un único enfoque.
**Impacto en el Rendimiento**: Aumento de 2 a 3 veces en el tiempo de ejecución y uso de tokens, pero ofrece una **mejora de 2x en la calidad de los resultados** según las pruebas con Qwen3.5-27B-FP8.
### Planificación Inteligente de Tareas (Beta)
- **Descomposición Automatizada**: El planificador (asesor en modo de planificación) genera de 3 a 7 pasos específicos y procesables antes de que los agentes especialistas comiencen a trabajar.
- **Planes Conscientes del Contexto**: Analiza el contexto completo de ejecución a través del agente enriquecedor para crear planes informados.
- **Asignación Estructurada**: La solicitud original se envuelve en una estructura `<task_assignment>` con el plan de ejecución y las instrucciones.
- **Gestión del Alcance**: Evita la expansión del alcance manteniendo a los agentes enfocados únicamente en la subtarea actual.
- **Instrucciones Enriquecidas**: Los planes destacan acciones críticas, posibles obstáculos y puntos de verificación.
- **Configurable**: Habilite mediante `AGENT_PLANNING_STEP_ENABLED` (predeterminado: falso).
**Mejor para**: Modelos < 32B parámetros, flujos de trabajo complejos de pruebas de penetración, mejora de las tasas de éxito en tareas sofisticadas.
**Configuración Mejorada del Asesor**: Funciona excepcionalmente bien cuando el agente asesor utiliza un modelo más potente o configuraciones mejoradas. Ejemplo: usar el mismo modelo base con el modo de razonamiento máximo para el asesor (consulte [`vllm-qwen3.5-27b-fp8.provider.yml`](https://github.com/vxcontrol/pentagi/blob/HEAD/examples/configs/vllm-qwen3.5-27b-fp8.provider.yml)) permite un análisis completo de tareas y una planificación estratégica desde una arquitectura de modelo idéntica.
**Impacto en el Rendimiento**: Agrega sobrecarga de planificación, pero mejora significativamente las tasas de finalización y reduce el trabajo redundante.
### Límites de Llamadas a Herramientas (Siempre Activo)
- **Límites Estrictos**: Evitan ejecuciones descontroladas independientemente del estado del modo de supervisión.
- **Diferenciados por Tipo de Agente**:
- Agentes generales (Asistente, Agente Principal, Pentester, Programador, Instalador): `MAX_GENERAL_AGENT_TOOL_CALLS` (predeterminado: 100).
- Agentes limitados (Buscador, Enriquecedor, Memorista, Generador, Reportero, Asesor, Reflexivo, Planificador): `MAX_LIMITED_AGENT_TOOL_CALLS` (predeterminado: 20).
- **Terminación Gradual**: El Reflexivo guía a los agentes hacia una finalización adecuada cuando se acercan a los límites.
- **Protección de Recursos**: Garantiza la estabilidad del sistema y evita el agotamiento de recursos.
### Integración del Reflexivo (Siempre Activo)
- **Corrección Automática**: Se invoca cuando el LLM no logra generar llamadas a herramientas después de 3 intentos.
- **Orientación Estratégica**: Analiza los fallos y guía a los agentes hacia un uso adecuado de las herramientas o herramientas de barrera (`done`, `ask`).
- **Mecanismo de Recuperación**: Proporciona orientación contextual basada en patrones de fallo específicos.
- **Aplicación de Límites**: Coordina la terminación gradual cuando se alcanzan los límites de llamadas a herramientas.
### Recomendaciones para Modelos de Código Abierto
**Imprescindible para Modelos < 32B Parámetros**:
Las pruebas con Qwen3.5-27B-FP8 demuestran que habilitar tanto el Monitoreo de Ejecución como la Planificación de Tareas es **esencial** para modelos de código abierto más pequeños:
- **Mejora de Calidad**: Resultados 2x mejores en comparación con la ejecución base sin supervisión.
- **Prevención de Bucles**: Reduce significativamente los bucles infinitos y el trabajo redundante.
- **Diversidad de Ataques**: Fomenta la exploración de múltiples vectores de ataque en lugar de fijarse en un solo enfoque.
- **Despliegues Aislados**: Permite pruebas de penetración autónomas de grado de producción en entornos de red cerrados con inferencia LLM local.
**Compensaciones**:
- Consumo de tokens: Aumento de 2 a 3 veces debido a las invocaciones del mentor/planificador.
- Tiempo de ejecución: 2 a 3 veces más largo debido a los pasos de análisis y planificación.
- Calidad de los resultados: Mejora de 2x en integridad, precisión y cobertura de ataque.
- Requisitos del modelo: Funciona mejor cuando el asesor utiliza una configuración mejorada (parámetros de razonamiento más altos, variante de modelo más potente o modelo diferente).
**Estrategia de Configuración**:
Para un rendimiento óptimo con modelos más pequeños, configure el agente asesor con ajustes mejorados:
- Utilice el mismo modelo con el modo de razonamiento máximo (ejemplo: [`vllm-qwen3.5-27b-fp8.provider.yml`](https://github.com/vxcontrol/pentagi/blob/HEAD/examples/configs/vllm-qwen3.5-27b-fp8.provider.yml)).
- O utilice un modelo más potente para el asesor mientras mantiene el modelo base para otros agentes.
- Ajuste los umbrales de monitoreo según la complejidad de la tarea y las capacidades del modelo.
</details>
La arquitectura de PentAGI está diseñada para ser modular, escalable y segura. Estos son los componentes clave:
1. **Servicios Principales**
- Interfaz de Usuario Frontend: Interfaz web basada en React con TypeScript para seguridad de tipos.
- API Backend: APIs REST y GraphQL basadas en Go con autenticación mediante token Bearer para acceso programático.
- Almacén de Vectores: PostgreSQL con pgvector para búsqueda semántica y almacenamiento de memoria.
- Cola de Tareas: Sistema de procesamiento de tareas asíncrono para un funcionamiento confiable.
- Agente de IA: Sistema multiagente con roles especializados para pruebas eficientes.
2. **Grafo de Conocimiento**
- Graphiti: API de grafo de conocimiento para seguimiento de relaciones semánticas y comprensión contextual.
- Neo4j: Base de datos de grafos para almacenar y consultar relaciones entre entidades, acciones y resultados.
- Captura automática de respuestas de agentes y ejecuciones de herramientas para construir una base de conocimiento integral.
3. **Pila de Monitoreo**
- OpenTelemetry: Recolección y correlación unificada de datos de observabilidad.
- Grafana: Paneles de visualización y alertas en tiempo real.
- VictoriaMetrics: Almacenamiento de métricas de series temporales de alto rendimiento.
- Jaeger: Trazado distribuido de extremo a extremo para depuración.
- Loki: Agregación y análisis de registros escalable.
4. **Plataforma de Analítica**
- Langfuse: Observabilidad avanzada de LLM y análisis de rendimiento.
- ClickHouse: Almacén de datos analíticos orientado a columnas.
- Redis: Caché de alta velocidad y limitación de velocidad.
- MinIO: Almacenamiento de objetos compatible con S3 para artefactos.
5. **Herramientas de Seguridad**
- Web Scraper: Entorno de navegador aislado para interacción web segura.
- Herramientas de Pentesting: Conjunto completo de más de 20 herramientas de seguridad profesionales.
- Ejecución en Entorno Aislado: Todas las operaciones se ejecutan en contenedores aislados.
6. **Sistemas de Memoria**
- Memoria a Largo Plazo: Almacenamiento persistente de conocimiento y experiencias.
- Memoria de Trabajo: Contexto activo y objetivos para operaciones actuales.
- Memoria Episódica: Acciones históricas y patrones de éxito.
- Base de Conocimiento: Experiencia de dominio estructurada y capacidades de herramientas.
- Gestión de Contexto: Administra de forma inteligente las ventanas de contexto crecientes del LLM mediante resumen en cadena.
El sistema utiliza contenedores Docker para aislamiento y fácil implementación, con redes separadas para servicios principales, monitoreo y análisis para garantizar límites de seguridad adecuados. Cada componente está diseñado para escalar horizontalmente y puede configurarse para alta disponibilidad en entornos de producción.
## Inicio Rápido
### Requisitos del Sistema
- Docker y Docker Compose (o Podman - consulte [Configuración de Podman](#ejecutando-pentagi-con-podman)).
- Mínimo 2 vCPU.
- Mínimo 4 GB de RAM.
- 20 GB de espacio libre en disco.
- Acceso a Internet para descargar imágenes y actualizaciones.
### Usando el Instalador (Recomendado)
PentAGI proporciona un instalador interactivo con una interfaz de usuario basada en terminal para una configuración e implementación optimizadas. El instalador lo guía a través de verificaciones del sistema, configuración del proveedor de LLM, configuración del motor de búsqueda y endurecimiento de seguridad.
**Plataformas Compatibles:**
- **Linux**: amd64 [descargar](https://pentagi.com/downloads/linux/amd64/installer-latest.zip) | arm64 [descargar](https://pentagi.com/downloads/linux/arm64/installer-latest.zip)
- **Windows**: amd64 [descargar](https://pentagi.com/downloads/windows/amd64/installer-latest.zip)
- **macOS**: amd64 (Intel) [descargar](https://pentagi.com/downloads/darwin/amd64/installer-latest.zip) | arm64 (serie M) [descargar](https://pentagi.com/downloads/darwin/arm64/installer-latest.zip)
**Instalación Rápida (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
Requisitos previos & Permisos:
El instalador requiere privilegios apropiados para interactuar con la API de Docker para un funcionamiento adecuado. Por defecto, utiliza el socket de Docker (/var/run/docker.sock) que requiere una de las siguientes opciones:
Opción 1 (Recomendado para producción): Ejecute el instalador como root: ```bash sudo ./installer
Opción 2 (Entornos de desarrollo): Conceda a su usuario acceso al socket de Docker añadiéndolo al grupo docker: ```bash
sudo usermod -aG docker $USER
newgrp docker
docker ps
⚠️ Nota de seguridad: Agregar un usuario al grupo docker otorga privilegios equivalentes a root. Solo haga esto para usuarios de confianza en entornos controlados. Para despliegues en producción, considere usar el modo Docker sin root o ejecutar el instalador con sudo.
El instalador hará lo siguiente:
.env con valores predeterminados óptimosLa consola web de PentAGI ya gestiona varias áreas de configuración una vez que el servidor está en funcionamiento:
Las siguientes áreas de configuración aún deben establecerse en el servidor mediante variables de entorno, archivos compose o archivos de configuración montados:
OLLAMA_SERVER_CONFIG_PATH y LLM_SERVER_CONFIG_PATH.DUCKDUCKGO_*, GOOGLE_*, TAVILY_API_KEY, TRAVERSAAL_API_KEY, PERPLEXITY_*, SEARXNG_* y SPLOITUS_ENABLED.Para producción y seguridad mejorada:
Para despliegues en producción o entornos sensibles a la seguridad, recomendamos encarecidamente usar una arquitectura distribuida de dos nodos donde las operaciones del trabajador estén aisladas en un servidor separado. Esto evita la ejecución de código no confiable y problemas de acceso a la red en su sistema principal.
Vea la guía detallada: Configuración del nodo trabajador
La configuración de dos nodos proporciona:
2. Copia `.env.example` a `.env` o descárgalo:```bash
curl -o .env https://raw.githubusercontent.com/vxcontrol/pentagi/master/.env.example
example.custom.provider.yml, example.ollama.provider.yml) o descárguelos:```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.yml4. Complete las claves API requeridas en el archivo `.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
.env para mejorar la seguridad.COOKIE_SIGNING_SALT - Sal para la firma de cookies, cámbielo a un valor aleatorioPUBLIC_URL - URL pública de su servidor (ej. https://pentagi.example.com)SERVER_SSL_CRT y SERVER_SSL_KEY - Rutas personalizadas a su certificado SSL y clave existentes para HTTPS (estas rutas deben usarse en el archivo docker-compose.yml para montar como volúmenes)SCRAPER_PUBLIC_URL - URL pública para el scraper si desea usar un servidor scraper diferente para URLs públicasSCRAPER_PRIVATE_URL - URL privada para el scraper (servidor scraper local en el archivo docker-compose.yml para acceder a URLs locales)PENTAGI_POSTGRES_USER y PENTAGI_POSTGRES_PASSWORD - Credenciales de PostgreSQLNEO4J_USER y NEO4J_PASSWORD - Credenciales de Neo4j (para el gráfico de conocimiento Graphiti).env si desea usarlo en VSCode u otros IDE como opción envFile:```bash
perl -i -pe 's/\s+#.*$//' .env7. Ejecute el stack PentAGI:```bash
curl -O https://raw.githubusercontent.com/vxcontrol/pentagi/master/docker-compose.yml
docker compose up -d
Visita localhost:8443 para acceder a la interfaz web de PentAGI (predeterminado: [email protected] / admin)
PentAGI no expone un registro público autoservicio desde la página de inicio de sesión. Una instalación nueva crea la cuenta de administrador local predeterminada:
[email protected]adminEn el primer inicio de sesión, cambia la contraseña predeterminada antes de usar la instancia para trabajo real. Si la contraseña de administrador se pierde después, usa el menú de mantenimiento del instalador para restablecer la contraseña de la cuenta predeterminada [email protected].
Para configuraciones multiusuario, un administrador autenticado puede gestionar usuarios locales a través de la API REST de Usuarios (/api/v1/users/). La interfaz de OpenAPI está disponible en https://localhost:8443/api/v1/swagger/index.html una vez que la instancia está en ejecución.
[!NOTE] Si encuentras un error sobre
pentagi-networkoobservability-networkolangfuse-network, primero debes ejecutardocker-compose.ymlpara crear estas redes y luego ejecutardocker-compose-langfuse.yml,docker-compose-graphiti.ymlydocker-compose-observability.ymlpara usar los servicios de Langfuse, Graphiti y Observability.Debes configurar al menos un proveedor de modelos de lenguaje (OpenAI, Anthropic, Gemini, AWS Bedrock u Ollama) para usar PentAGI. AWS Bedrock proporciona acceso de nivel empresarial a múltiples modelos fundacionales de las principales empresas de IA, mientras que Ollama proporciona inferencia local sin costo si tienes suficientes recursos computacionales. Las claves API adicionales para motores de búsqueda son opcionales pero recomendadas para mejores resultados.
Para una implementación completamente local con modelos avanzados: Consulta nuestra guía completa sobre Ejecución de PentAGI con vLLM y Qwen3.5-27B-FP8 para una configuración local de LLM de grado de producción. Esta configuración logra ~13,000 TPS para procesamiento de prompts y ~650 TPS para finalización en 4× RTX 5090 GPUs, soportando más de 12 flujos concurrentes con completa independencia de los proveedores de la nube.
Las variables de entorno
LLM_SERVER_*son una característica experimental y cambiarán en el futuro. Ahora mismo puedes usarlas para especificar una URL de servidor LLM personalizada y un modelo para todos los tipos de agente.
PROXY_URLes una URL de proxy global para todos los proveedores de LLM y sistemas de búsqueda externos. Puedes usarla para aislamiento de redes externas.El archivo
docker-compose.ymlejecuta el servicio PentAGI como usuario root porque necesita acceso a docker.sock para la gestión de contenedores. Si estás usando una conexión de red TCP/IP a Docker en lugar del archivo socket, puedes eliminar los privilegios de root y usar el usuario predeterminadopentagipara una mejor seguridad.
Por defecto, PentAGI se vincula a 127.0.0.1 (solo localhost) por seguridad. Para acceder a PentAGI desde otras máquinas en tu red, debes configurar el acceso externo.
.env con la dirección IP de tu servidor:```bashPENTAGI_LISTEN_IP=0.0.0.0 PENTAGI_LISTEN_PORT=8443
PUBLIC_URL=https://192.168.1.100:8443
CORS_ORIGINS=https://localhost:8443,https://192.168.1.100:8443
> [!IMPORTANT]
> - Reemplaza `192.168.1.100` con la dirección IP real de tu servidor
> - NO uses `0.0.0.0` en `PUBLIC_URL` o `CORS_ORIGINS` - usa la dirección IP real
> - Incluye tanto localhost como la IP de tu servidor en `CORS_ORIGINS` para mayor flexibilidad
2. **Recrea los contenedores** para aplicar los cambios:```bash
docker compose down
docker compose up -d --force-recreate
Deberías ver `0.0.0.0:8443->8443/tcp` o `:::8443->8443/tcp`.
Si ves `127.0.0.1:8443->8443/tcp`, la variable de entorno no se ha aplicado. En ese caso, edita directamente la línea 31 de `docker-compose.yml`:```yaml
ports:
- "0.0.0.0:8443:8443"
Luego recrea los contenedores nuevamente.
sudo ufw allow 8443/tcp sudo ufw reload
sudo firewall-cmd --permanent --add-port=8443/tcp sudo firewall-cmd --reload
5. **Acceder a PentAGI:**
- **Acceso local:** `https://localhost:8443`
- **Acceso por red:** `https://your-server-ip:8443`
> [!NOTE]
> Necesitarás aceptar la advertencia del certificado SSL autofirmado en tu navegador al acceder mediante dirección IP.
---
### Ejecutar PentAGI con Podman
PentAGI es totalmente compatible con Podman como alternativa a Docker. Sin embargo, cuando se usa **Podman en modo rootless**, el servicio scraper requiere una configuración especial porque los contenedores rootless no pueden enlazar puertos privilegiados (puertos por debajo de 1024).
#### Configuración de Podman sin root
La configuración predeterminada del scraper usa el puerto 443 (HTTPS), que es un puerto privilegiado. Para Podman rootless, reconfigura el scraper para que use un puerto no privilegiado:
**1. Edita `docker-compose.yml`** - modifica el servicio `scraper` (alrededor de la línea 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. Actualizar el archivo .env - cambiar la URL del scraper para que use HTTP y el puerto 3000:```bash
SCRAPER_PRIVATE_URL=http://someuser:somepass@scraper:3000/ LOCAL_SCRAPER_USERNAME=someuser LOCAL_SCRAPER_PASSWORD=somepass
> [!IMPORTANT]
> Cambios clave para Podman:
> - Usar **HTTP** en lugar de HTTPS para `SCRAPER_PRIVATE_URL`
> - Usar el puerto **3000** en lugar de 443
> - Cambiar el `expose` interno a `3000/tcp`
> - Actualizar el mapeo de puertos para apuntar a `3000` en lugar de `443`
**3. Recrear contenedores:**```bash
podman-compose down
podman-compose up -d --force-recreate
4. Probar conectividad del scraper:```bash
podman exec -it pentagi wget -O- "http://someuser:somepass@scraper:3000/html?url=http://example.com"
Si ves HTML de salida, el scraper está funcionando correctamente.
#### Modo Rootful de Podman
Si estás ejecutando Podman en modo rootful (con sudo), puedes usar la configuración predeterminada sin modificaciones. El scraper funcionará en el puerto 443 según lo previsto.
#### Compatibilidad con Docker
Todas las configuraciones de Podman son totalmente compatibles con Docker. El enfoque de puerto no privilegiado funciona de manera idéntica en ambos entornos de ejecución de contenedores.
### Configuración del Asistente
PentAGI te permite configurar el comportamiento predeterminado de los asistentes:
| Variable | Por defecto | Descripción |
| --------------------- | ----------- | --------------------------------------------------------------------- |
| `ASSISTANT_USE_AGENTS`| `false` | Controla el valor predeterminado para el uso de agentes al crear nuevos asistentes |
La configuración `ASSISTANT_USE_AGENTS` afecta el estado inicial del interruptor "Usar Agentes" al crear un nuevo asistente en la interfaz de usuario:
- `false` (predeterminado): Los nuevos asistentes se crean con la delegación de agentes deshabilitada por defecto.
- `true`: Los nuevos asistentes se crean con la delegación de agentes habilitada por defecto.
Ten en cuenta que los usuarios siempre pueden sobrescribir esta configuración activando o desactivando el botón "Usar Agentes" en la interfaz al crear o editar un asistente. Esta variable de entorno solo controla el estado predeterminado inicial.
## Cómo usar PentAGI después de iniciar sesión
Una vez que la pila esté funcionando y puedas iniciar sesión en la interfaz web, la forma más rápida de comenzar es a través del flujo de trabajo **Flows**.
### 1. Crea tu primer flujo
1. Abre **Flows** en la barra lateral.
2. Haz clic en **New Flow**.
3. Elige el modo que se adapte a tu objetivo:
- **Automation**: Ejecución completamente autónoma para un objetivo de prueba que deseas que PentAGI realice de principio a fin.
- **Assistant**: Ayuda interactiva de ida y vuelta cuando deseas dirigir la investigación paso a paso. En este modo también puedes habilitar el interruptor **Use Agents** para que PentAGI delegue subtareas a subagentes especializados para investigaciones más complejas.
4. Selecciona el proveedor de LLM que deseas usar para este flujo.
5. Describe el objetivo y la meta en lenguaje natural en el cuadro de mensaje.
Los buenos primeros prompts generalmente incluyen:
- el sistema o URL objetivo
- el tipo de evaluación que deseas
- cualquier limitación de alcance o reglas de participación
- el resultado que esperas, como un informe de vulnerabilidad o la validación de una hipótesis
Ejemplo:```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.
Solo pruebe sistemas que sean de su propiedad o que tenga autorización explícita para evaluar. Consulte EULA.md para conocer los requisitos de uso aceptable.
El nuevo formulario de flujo incluye un selector de plantillas que puede rellenar previamente el cuadro de mensaje con una plantilla de flujo guardada. Esto es útil cuando ejecuta evaluaciones similares repetidamente.
examples/prompts/base_web_pentest.md si necesita una base práctica para pruebas webLas plantillas son puntos de partida. No necesita sintaxis especial para usar PentAGI: las instrucciones simples en lenguaje natural funcionan bien siempre que el objetivo y la meta sean claros.
Después de enviar el flujo, PentAGI abre la página del flujo automáticamente.
Una vez que el flujo tenga suficientes resultados, use el menú Report en la página del flujo para:
Cada flujo también incluye una vista Assistant para orientación interactiva. Esto es útil cuando la ejecución autónoma descubre algo que necesita dirección humana en lugar de un reinicio completo.
Cada flujo tiene su propia pestaña Files en la página del flujo. Los archivos tienen ámbito del flujo padre: residen en {dataDir}/flow-{id}-data/ en el host y nunca se filtran a otros flujos.
La pestaña expone tres fuentes de archivos:
uploads/): archivos que usted proporciona desde la interfaz web. Use la acción Upload files, o arrastre y suelte directamente sobre la pestaña Files. Mientras el contenedor del agente esté en ejecución, los archivos subidos también se envían a él en /work/uploads/ para que el agente pueda leerlos con herramientas de shell normales.resources/): archivos adjuntados desde su biblioteca de recursos de usuario guardados mediante Attach resources from library. Los recursos adjuntos se copian en el flujo y se envían al contenedor en ejecución en /work/resources/.container/): instantáneas extraídas del contenedor del agente en ejecución mediante Pull file or directory from container. Son de solo lectura en el lado del flujo y nunca se envían de vuelta al contenedor.Las acciones por archivo en la pestaña Files incluyen Download, Copy path, Save as resource (promover un archivo del flujo a su biblioteca de recursos reutilizables) y Delete. La acción Pull está deshabilitada cuando el contenedor no se está ejecutando, con la información sobre herramientas "Container is not running".
Los archivos subidos y los recursos adjuntos se listan automáticamente en los prompts del sistema del agente mediante la variable de plantilla {{.UserFiles}}, que renderiza un bloque XML compacto <task_files> (con secciones anidadas <uploads> y <resources>), de modo que el asistente y los agentes de automatización puedan referenciarlos por ruta sin que usted pegue el contenido en el chat. Las instantáneas del contenedor son visibles solo en la interfaz de usuario y no se inyectan automáticamente en el prompt.
Límites y limitaciones actuales a tener en cuenta:
/work/uploads/ y /work/resources/; los archivos escritos en otras rutas del contenedor no se reflejan automáticamente en el modelo de archivos del flujo. Las instantáneas del contenedor pueden originarse desde cualquier ruta del contenedor que extraiga (por ejemplo /etc/...) y se almacenan en caché en el lado del flujo bajo container/; no se envían de vuelta al contenedor.flow-{id}-data/ del flujo en el disco. Los operadores aún deben limpiar manualmente el directorio de datos si desean recuperar espacio.Para pruebas tempranas, comience con un objetivo reducido y un objetivo claro y único. Esto facilita la revisión de la salida y le ayuda a refinar sus prompts antes de ejecutar evaluaciones más grandes.
PentAGI proporciona acceso programático integral a través de APIs REST y GraphQL, permitiéndole integrar flujos de trabajo de pruebas de penetración en sus canalizaciones de automatización, procesos CI/CD y aplicaciones personalizadas.
Los tokens de API se gestionan a través de la interfaz web de PentAGI:
Cada token está asociado con su cuenta de usuario y hereda los permisos de su rol.
Incluya el token de API en el encabezado Authorization de sus solicitudes HTTP:```bash
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 } }"}'
curl https://your-pentagi-instance:8443/api/v1/flows
-H "Authorization: Bearer YOUR_API_TOKEN"
### Exploración y Pruebas de API
PentAGI proporciona documentación interactiva para explorar y probar endpoints de API:
#### GraphQL Playground
Acceda al GraphQL Playground en `https://your-pentagi-instance:8443/api/v1/graphql/playground`
1. Haga clic en la pestaña **HTTP Headers** en la parte inferior
2. Agregue su encabezado de autorización: ```json
{
"Authorization": "Bearer YOUR_API_TOKEN"
}
Accede a la documentación de la API REST en https://your-pentagi-instance:8443/api/v1/swagger/index.html
Bearer YOUR_API_TOKENPuedes generar clientes de API con seguridad de tipos para tu lenguaje de programación preferido utilizando los archivos de esquema incluidos con PentAGI:
El esquema GraphQL está disponible en:
schema.graphqlsbackend/pkg/graph/schema.graphqls en el repositorioGenera clientes usando herramientas como:
La especificación OpenAPI está disponible en:
https://your-pentagi-instance:8443/api/v1/swagger/doc.jsonbackend/pkg/server/docs/swagger.yamlGenera clientes usando:
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" }
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()
client = PentAGIClient( "https://your-pentagi-instance:8443", "your_api_token_here" )
flow = client.create_flow("openai", "Scan https://example.com for vulnerabilities") print(f"Created flow: {flow}")
flows = client.get_flows() print(f"Total flows: {len(flows['flows'])}")
</details>
<details>
<summary><b>Ejemplo de Cliente 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}`);
Al trabajar con tokens de API:
La lista de tokens muestra:
Al usar proveedores LLM personalizados con las variables LLM_SERVER_*, puede ajustar el formato de razonamiento utilizado en las solicitudes.
[!TIP] Para despliegues locales de grado de producción, considere usar vLLM con Qwen3.5-27B-FP8 para un rendimiento óptimo. Vea nuestra guía de despliegue completa que incluye requisitos de hardware, plantillas de configuración (modo de pensamiento y modo sin pensamiento), y puntos de referencia de rendimiento que muestran 13K TPS de procesamiento de solicitudes en 4× RTX 5090 GPUs.
| Variable | Por defecto | Descripción |
|---|---|---|
LLM_SERVER_URL | URL base para el endpoint de la API LLM personalizada | |
LLM_SERVER_KEY | Clave de API para el proveedor LLM personalizado | |
LLM_SERVER_MODEL | Modelo por defecto a usar (se puede sobrescribir en la configuración del proveedor) | |
LLM_SERVER_CONFIG_PATH | Ruta al archivo de configuración YAML para modelos específicos del agente | |
LLM_SERVER_PROVIDER | Prefijo del nombre del proveedor para los nombres de modelo (ej., openrouter, deepseek para proxy LiteLLM) | |
LLM_SERVER_LEGACY_REASONING | false | Controla el formato de razonamiento en las solicitudes de API |
LLM_SERVER_PRESERVE_REASONING | false | Conserva el contenido de razonamiento en conversaciones de múltiples turnos (requerido por algunos proveedores) |
El ajuste LLM_SERVER_PROVIDER es particularmente útil al usar un proxy LiteLLM, que añade un prefijo de proveedor a los nombres de modelo. Por ejemplo, al conectar con la API de Moonshot a través de LiteLLM, modelos como kimi-2.5 se convierten en moonshot/kimi-2.5. Al establecer LLM_SERVER_PROVIDER=moonshot, puede usar el mismo archivo de configuración de proveedor tanto para acceso directo a la API como para acceso a través del proxy LiteLLM sin modificaciones.
El ajuste LLM_SERVER_LEGACY_REASONING afecta cómo se envían los parámetros de razonamiento al LLM:
false (por defecto): Usa el formato moderno donde el razonamiento se envía como un objeto estructurado con el parámetro max_tokenstrue: Usa el formato heredado con el parámetro reasoning_effort basado en cadenaEste ajuste es importante al trabajar con diferentes proveedores LLM, ya que pueden esperar diferentes formatos de razonamiento en sus solicitudes de API. Si encuentra errores relacionados con el razonamiento con proveedores personalizados, intente cambiar este ajuste.
El ajuste LLM_SERVER_PRESERVE_REASONING controla si el contenido de razonamiento se conserva en conversaciones de múltiples turnos:
false (por defecto): El contenido de razonamiento no se conserva en el historial de la conversacióntrue: El contenido de razonamiento se conserva y se envía en llamadas API posterioresEste ajuste es requerido por algunos proveedores LLM (ej., Moonshot) que devuelven errores como "el pensamiento está habilitado pero falta reasoning_content en el mensaje de llamada a herramienta del asistente" cuando el contenido de razonamiento no se incluye en conversaciones de múltiples turnos. Habilite este ajuste si su proveedor requiere que se conserve el contenido de razonamiento.
PentAGI es compatible con Ollama tanto para inferencia LLM local (sin costo, privacidad mejorada) como para Ollama Cloud (servicio gestionado con nivel gratuito).
| Variable | Por defecto | Descripción |
|---|---|---|
OLLAMA_SERVER_URL | URL de su servidor Ollama o Ollama Cloud | |
OLLAMA_SERVER_API_KEY | Clave de API para autenticación en Ollama Cloud | |
OLLAMA_SERVER_MODEL | Modelo por defecto para inferencia | |
OLLAMA_SERVER_CONFIG_PATH | Ruta al archivo de configuración del agente personalizado | |
OLLAMA_SERVER_PULL_MODELS_TIMEOUT | 600 | Tiempo de espera para descargas de modelo (segundos) |
OLLAMA_SERVER_PULL_MODELS_ENABLED | false | Descargar modelos automáticamente al inicio |
OLLAMA_SERVER_LOAD_MODELS_ENABLED | false | Consultar al servidor por modelos disponibles |
Ollama Cloud proporciona inferencia gestionada con un generoso nivel gratuito y planes de pago escalables.
Configuración del Nivel Gratuito (Modelo Único)```bash
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
**Configuración del Nivel de Pago (Múltiples Modelos con Configuración Preconstruida)**
Para los niveles de pago que admiten múltiples modelos concurrentes, utilice la configuración preconstruida de 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 configuración predefinida ollama-cloud.provider.yml incluye asignaciones de modelos optimizadas para todos los tipos de agente:
nemotron-3-super:cloud - Modelo rápido de propósito generalqwen3-coder-next:cloud - Razonamiento avanzado con modo de alto esfuerzoqwen3-coder-next:cloud - Modelos de codificación especializadosqwen3.5:397b-cloud - Contexto grande para recopilación de informaciónglm-5:cloud - Refinamiento de texto de alta calidadminimax-m2.7:cloud - Tareas de asesoramiento eficientesdevstral-2:123b-cloud - Tareas de instalación y configuraciónConfiguración Personalizada (Avanzada)
Para crear tu propia configuración de agente, monta un archivo personalizado desde el sistema de archivos de tu host:```bash
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
PENTAGI_OLLAMA_SERVER_CONFIG_PATH=/path/on/host/my-ollama-config.yml
La variable de entorno `PENTAGI_OLLAMA_SERVER_CONFIG_PATH` asigna tu archivo de configuración del host a `/opt/pentagi/conf/ollama.provider.yml` dentro del contenedor.
**Ejemplo de configuración personalizada** (`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
Para instancias de Ollama autoalojadas:```bash
OLLAMA_SERVER_URL=http://localhost:11434 OLLAMA_SERVER_MODEL=llama3.1:8b-instruct-q8_0
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
OLLAMA_SERVER_CONFIG_PATH=/opt/pentagi/conf/ollama-llama318b.provider.yml
OLLAMA_SERVER_CONFIG_PATH=/opt/pentagi/conf/ollama-qwen332b-fp16-tc.provider.yml
OLLAMA_SERVER_CONFIG_PATH=/opt/pentagi/conf/ollama-qwq32b-fp16-tc.provider.yml
**Consideraciones de rendimiento:**
- **Descubrimiento de modelos** (`OLLAMA_SERVER_LOAD_MODELS_ENABLED=true`): Añade 1-2s de latencia al inicio consultando la API de Ollama
- **Auto-pull** (`OLLAMA_SERVER_PULL_MODELS_ENABLED=true`): El primer inicio puede tardar varios minutos descargando modelos
- **Tiempo de espera de extracción** (`OLLAMA_SERVER_PULL_MODELS_TIMEOUT=900`): 15 minutos en segundos
- **Configuración estática**: Desactiva ambas banderas y especifica los modelos en el archivo de configuración para el inicio más rápido
#### Creación de modelos Ollama personalizados con contexto extendido
PentAGI requiere modelos con ventanas de contexto más grandes que las configuraciones predeterminadas de Ollama. Necesitas crear modelos personalizados con el parámetro `num_ctx` aumentado a través de Modelfiles. Mientras que los flujos de trabajo típicos de agentes consumen alrededor de 64K tokens, PentAGI utiliza un tamaño de contexto de 110K para margen de seguridad y manejo de escenarios complejos de pruebas de penetración.
**Importante**: El parámetro `num_ctx` solo se puede establecer durante la creación del modelo a través de Modelfile; no se puede cambiar después de la creación del modelo ni anularse en tiempo de ejecución.
##### Ejemplo: Qwen3 32B FP16 con contexto extendido
Crea un Modelfile llamado `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
Construir el modelo personalizado:```bash ollama create qwen3:32b-fp16-tc -f Modelfile_qwen3_32b_fp16_tc
##### Ejemplo: QwQ 32B FP16 con Contexto Extendido
Crea un Modelfile llamado `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
Construir el modelo personalizado:```bash ollama create qwq:32b-fp16-tc -f Modelfile_qwq_32b_fp16_tc
> **Nota**: El modelo QwQ 32B FP16 requiere aproximadamente **71.3 GB VRAM** para inferencia. Asegúrese de que su sistema tenga suficiente memoria GPU antes de intentar usar este modelo.
Estos modelos personalizados se referencian en los archivos de configuración del proveedor preconstruidos (`ollama-qwen332b-fp16-tc.provider.yml` y `ollama-qwq32b-fp16-tc.provider.yml`) que están incluidos en la imagen Docker en `/opt/pentagi/conf/`.
### Configuración del Proveedor OpenAI
PentAGI se integra con la amplia gama de modelos de OpenAI, que ofrece capacidades avanzadas de razonamiento con cadena de pensamiento extendida, modelos agentivos con integración mejorada de herramientas y modelos de código especializados para ingeniería de seguridad.
#### Variables de Configuración
| Variable | Predeterminado | Descripción |
| -------------------- | --------------------------- | --------------------------- |
| `OPEN_AI_KEY` | | Clave API para servicios de OpenAI |
| `OPEN_AI_SERVER_URL` | `https://api.openai.com/v1` | Punto de conexión de la API de OpenAI |
#### Ejemplos de Configuración```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 soporta 31 modelos de OpenAI con llamada de herramientas, transmisión, modos de razonamiento y almacenamiento en caché de indicaciones. Los modelos marcados con * se utilizan en la configuración predeterminada.
Serie GPT-5.2 - Último buque insignia agéntico (diciembre de 2025)
| ID del Modelo | Razonamiento | Precio (Entrada/Salida/Caché) | Caso de Uso |
|---|---|---|---|
gpt-5.2* | ✅ | $1.75/$14.00/$0.18 | Último buque insignia con razonamiento mejorado e integración de herramientas, investigación autónoma de seguridad |
gpt-5.2-pro | ✅ | $21.00/$168.00/$0.00 | Versión premium con codificación agéntica superior, investigación de seguridad crítica, descubrimiento de zero-day |
gpt-5.2-codex | ✅ | $1.75/$14.00/$0.18 | El más avanzado especializado en código, compactación de contexto, sólidas capacidades de ciberseguridad |
Serie GPT-5/5.1 - Modelos agénticos avanzados
| ID del Modelo | Razonamiento | Precio (Entrada/Salida/Caché) | Caso de Uso |
|---|---|---|---|
gpt-5 | ✅ | $1.25/$10.00/$0.13 | Agéntico principal con razonamiento avanzado, investigación autónoma de seguridad, desarrollo de cadenas de explotación |
gpt-5.1 | ✅ | $1.25/$10.00/$0.13 | Agéntico mejorado con razonamiento adaptativo, pruebas de penetración equilibradas con fuerte coordinación de herramientas |
gpt-5-pro | ✅ | $15.00/$120.00/$0.00 | Versión premium con importantes mejoras en razonamiento, alucinaciones reducidas, operaciones de seguridad críticas |
gpt-5-mini | ✅ | $0.25/$2.00/$0.03 | Equilibrio eficiente entre velocidad e inteligencia, análisis automatizado de vulnerabilidades, generación de exploits |
gpt-5-nano | ✅ | $0.05/$0.40/$0.01 | El más rápido para escaneo de alto rendimiento, reconocimiento, detección masiva de vulnerabilidades |
Serie GPT-5/5.1 Codex - Especializada en código
| ID del Modelo | Razonamiento | Precio (Entrada/Salida/Caché) | Caso de Uso |
|---|---|---|---|
gpt-5.1-codex-max | ✅ | $1.25/$10.00/$0.13 | Razonamiento mejorado para codificación sofisticada, hallazgos de CVE comprobados, desarrollo sistemático de exploits |
gpt-5.1-codex | ✅ | $1.25/$10.00/$0.13 | Optimizado para código estándar con fuerte razonamiento, generación de exploits, análisis de vulnerabilidades |
gpt-5-codex | ✅ | $1.25/$10.00/$0.13 | Especializado en código fundamental, escaneo de vulnerabilidades, generación básica de exploits |
gpt-5.1-codex-mini | ✅ | $0.25/$2.00/$0.03 | Compacto de alto rendimiento, capacidad 4 veces mayor, detección rápida de vulnerabilidades |
codex-mini-latest | ✅ | $1.50/$6.00/$0.38 | Último modelo de código compacto, revisión automatizada de código, análisis básico de vulnerabilidades |
Serie GPT-4.1 - Inteligencia mejorada
| ID del Modelo | Razonamiento | Precio (Entrada/Salida/Caché) | Caso de Uso |
|---|---|---|---|
gpt-4.1 | ❌ | $2.00/$8.00/$0.50 | Buque insignia mejorado con llamada de funciones superior, análisis de amenazas complejo, desarrollo sofisticado de exploits |
gpt-4.1-mini* | ❌ | $0.40/$1.60/$0.10 | Rendimiento equilibrado con eficiencia mejorada, evaluaciones de seguridad rutinarias, análisis automatizado de código |
gpt-4.1-nano | ❌ | $0.10/$0.40/$0.03 | Ultraligero ultra rápido, escaneo de seguridad masivo, reconocimiento rápido, monitoreo continuo |
Serie GPT-4o - Buque insignia multimodal
| ID del Modelo | Razonamiento | Precio (Entrada/Salida/Caché) | Caso de Uso |
|---|---|---|---|
gpt-4o | ❌ | $2.50/$10.00/$1.25 | Buque insignia multimodal con visión, análisis de imágenes, evaluación de interfaz web, orquestación de múltiples herramientas |
gpt-4o-mini | ❌ | $0.15/$0.60/$0.08 | Multimodal compacto con llamada de funciones sólida, escaneo de alta frecuencia, operaciones masivas rentables |
Serie o - Modelos de razonamiento avanzado
| ID del Modelo | Razonamiento | Precio (Entrada/Salida/Caché) | Caso de Uso |
|---|---|---|---|
o4-mini* | ✅ | $1.10/$4.40/$0.28 | Razonamiento de próxima generación con velocidad mejorada, evaluaciones de seguridad metódicas, desarrollo sistemático de exploits |
o3* | ✅ | $2.00/$8.00/$0.50 | Potencia de razonamiento avanzado, cadenas de ataque de múltiples etapas, análisis profundo de vulnerabilidades |
o3-mini | ✅ | $1.10/$4.40/$0.55 | Razonamiento compacto con pensamiento extendido, planificación de ataques paso a paso, encadenamiento lógico de vulnerabilidades |
o1 | ✅ | $15.00/$60.00/$7.50 | Razonamiento principal con máxima profundidad, pruebas de penetración avanzadas, investigación de nuevos exploits |
o3-pro | ✅ | $20.00/$80.00/$0.00 | Razonamiento más avanzado, 80% más barato que o1-pro, investigación de zero-day, investigaciones de seguridad críticas |
o1-pro | ✅ | $150.00/$600.00/$0.00 | Razonamiento premium de generación anterior, análisis de seguridad exhaustivo, desafíos de misión crítica |
Precios: Por 1M de tokens. Los modelos de razonamiento incluyen tokens de pensamiento en el precio de salida.
[!WARNING] Modelos GPT-5 - Se requiere acceso de confianza*
Todos los modelos de la serie GPT-5 (
gpt-5,gpt-5.1,gpt-5.2,gpt-5-pro,gpt-5.2-proy todas las variantes Codex) funcionan de manera inestable con PentAGI y pueden activar los mecanismos de seguridad cibernética de OpenAI sin acceso verificado.Para usar modelos GPT-5 de forma confiable:*
- Usuarios individuales: Verifique su identidad en chatgpt.com/cyber
- Equipos empresariales: Solicite acceso de confianza a través de su representante de OpenAI
- Investigadores de seguridad: Solicite el Programa de Becas de Ciberseguridad (incluye $10M en créditos de API)
Alternativas recomendadas sin verificación:
- Use modelos de la
serie o(o3, o4-mini, o1) para tareas de razonamiento- Use la serie
gpt-4.1para inteligencia general y llamada de funciones- Todos los modelos de la serie o y gpt-4.x funcionan de manera confiable sin acceso especial
Niveles de esfuerzo de razonamiento:
Características clave:
PentAGI se integra con los modelos Claude de Anthropic, presentando capacidades avanzadas de pensamiento extendido, mecanismos de seguridad excepcionales y una comprensión sofisticada de contextos de seguridad complejos con almacenamiento en caché de indicaciones.
| Variable | Default | Descripción |
|---|---|---|
ANTHROPIC_API_KEY | Clave de API para servicios de Anthropic | |
ANTHROPIC_SERVER_URL | https://api.anthropic.com/v1 | Punto final de la API de Anthropic |
ANTHROPIC_API_KEY=your_anthropic_api_key ANTHROPIC_SERVER_URL=https://api.anthropic.com/v1
ANTHROPIC_API_KEY=your_anthropic_api_key PROXY_URL=http://your-proxy:8080
> [!NOTE]
> **Google Vertex AI para modelos Claude**
>
> PentAGI no expone actualmente una ruta de configuración dedicada de Google Vertex AI para Anthropic Claude en `.env`. No hay un campo separado de clave API de Vertex AI en este momento, y las variables existentes de Anthropic (`ANTHROPIC_API_KEY`, `ANTHROPIC_SERVER_URL`) apuntan a la API directa de Anthropic. Las rutas compatibles para Claude son:
>
> - **API directa de Anthropic**: `ANTHROPIC_API_KEY` y `ANTHROPIC_SERVER_URL` (ver arriba).
> - **AWS Bedrock**: Variables `BEDROCK_*` (ver [Configuración del proveedor AWS Bedrock](#aws-bedrock-provider-configuration)).
>
> Si necesita usar Vertex AI hoy, la solución alternativa compatible más segura es exponer Vertex AI a través de un proxy o puerta de enlace compatible con OpenAI que traduzca las llamadas de Vertex AI al formato Chat Completions mientras preserva el comportamiento de chat y llamada a herramientas del que depende PentAGI, luego apunte el proveedor LLM personalizado a esa puerta de enlace mediante `LLM_SERVER_URL`, `LLM_SERVER_KEY` y `LLM_SERVER_MODEL`. Esta ruta es tan confiable como la puerta de enlace que elija.
#### Modelos Compatibles
PentAGI soporta 10 modelos Claude con llamada a herramientas, streaming, pensamiento extendido, pensamiento adaptativo y almacenamiento en caché de indicaciones. Los modelos marcados con `*` se utilizan en la configuración predeterminada.
**Serie Claude 4 - Modelos Más Recientes (2025-2026)**
| ID del Modelo | Pensamiento | Fecha de Publicación | Precio (Entrada/Salida/Caché L/E) | Caso de Uso |
| ---------------------- | ----------- | -------------------- | --------------------------------- | ------------------------------------------------ |
| `claude-opus-4-6`* | ✅ | Mayo 2025 | $5.00/$25.00/$0.50/$6.25 | Modelo más inteligente para agentes autónomos y codificación. Pensamiento extendido + adaptativo para desarrollo complejo de exploits, simulación de ataques en múltiples etapas |
| `claude-sonnet-4-6`* | ✅ | Ago 2025 | $3.00/$15.00/$0.30/$3.75 | Mejor equilibrio velocidad/inteligencia con pensamiento adaptativo. Evaluaciones de seguridad multifase, análisis inteligente de vulnerabilidades, caza de amenazas en tiempo real |
| `claude-haiku-4-5`* | ✅ | Oct 2025 | $1.00/$5.00/$0.10/$1.25 | Modelo más rápido con inteligencia casi de frontera. Escaneo de alta frecuencia, monitoreo en tiempo real, pruebas automatizadas masivas |
**Modelos Heredados - Aún Compatibles**
| ID del Modelo | Pensamiento | Fecha de Publicación | Precio (Entrada/Salida/Caché L/E) | Caso de Uso |
| ---------------------- | ----------- | -------------------- | --------------------------------- | ------------------------------------------------ |
| `claude-sonnet-4-5` | ✅ | Sep 2025 | $3.00/$15.00/$0.30/$3.75 | Razonamiento de última generación (superado por 4-6). Pruebas de penetración sofisticadas, análisis avanzado de amenazas |
| `claude-opus-4-5` | ✅ | Nov 2025 | $5.00/$25.00/$0.50/$6.25 | Razonamiento definitivo (superado por opus-4-6). Investigación crítica de seguridad, descubrimiento de vulnerabilidades de día cero, operaciones de equipo rojo |
| `claude-opus-4-1` | ✅ | Ago 2025 | $15.00/$75.00/$1.50/$18.75 | Razonamiento avanzado (superado). Pruebas de penetración complejas, modelado de amenazas sofisticado |
| `claude-sonnet-4-0` | ✅ | Mayo 2025 | $3.00/$15.00/$0.30/$3.75 | Razonamiento de alto rendimiento (superado). Modelado de amenazas complejo, coordinación de múltiples herramientas |
| `claude-opus-4-0` | ✅ | Mayo 2025 | $15.00/$75.00/$1.50/$18.75 | Primera generación Opus (superado). Desarrollo de exploits en múltiples pasos, flujos de trabajo autónomos de pentesting |
**Modelos Obsoletos - Migrar a Modelos Actuales**
| ID del Modelo | Pensamiento | Fecha de Publicación | Precio (Entrada/Salida/Caché L/E) | Notas |
| ----------------------------- | ----------- | -------------------- | --------------------------------- | -------------------------------------------- |
| `claude-3-haiku-20240307` | ❌ | Mar 2024 | $0.25/$1.25/$0.03/$0.30 | Será retirado el 19 de abril de 2026. Migrar a claude-haiku-4-5 |
**Precios**: Por 1M de tokens. El precio de caché incluye costos tanto de Lectura como de Escritura.
**Configuración de Pensamiento Extendido**:
- **Max Tokens 4096**: Generador (claude-opus-4-6) para máxima profundidad de razonamiento en desarrollo complejo de exploits
- **Max Tokens 2048**: Codificador (claude-sonnet-4-6) para análisis equilibrado de código e investigación de vulnerabilidades
- **Max Tokens 1024**: Agente principal, asistente, refinador, asesor, reflector, buscador, instalador, probador de penetración para razonamiento enfocado en tareas específicas
- **Pensamiento Extendido**: Todos los modelos Claude 4.5+ y 4.6 soportan pensamiento extendido configurable para tareas de razonamiento profundo
**Características Clave**:
- **Pensamiento Extendido**: Todos los modelos Claude 4.5+ y 4.6 con profundidades de razonamiento de cadena de pensamiento configurables para análisis de seguridad complejo
- **Pensamiento Adaptativo**: La serie Claude 4.6 (Opus/Sonnet) ajusta dinámicamente la profundidad de razonamiento según la complejidad de la tarea para un rendimiento óptimo
- **Almacenamiento en Caché de Indicaciones**: Reducción significativa de costos con precios separados de lectura/escritura (10% lectura, 125% escritura de la entrada)
- **Ventana de Contexto Extendida**: 200K tokens estándar, hasta 1M tokens (beta) para Claude Opus/Sonnet 4.6 para análisis exhaustivo de bases de código
- **Llamada a Herramientas**: Llamadas a funciones robustas con precisión excepcional para orquestación de herramientas de seguridad
- **Streaming**: Transmisión de respuestas en tiempo real para flujos de trabajo interactivos de pruebas de penetración
- **Diseño Centrado en la Seguridad**: Mecanismos de seguridad integrados que garantizan prácticas de pruebas de seguridad responsables
- **Soporte Multimodal**: Capacidades de visión en los modelos más recientes para análisis de capturas de pantalla y evaluación de seguridad de interfaces de usuario
- **IA Constitucional**: Entrenamiento de seguridad avanzado que brinda orientación de seguridad confiable y ética
### Configuración del Proveedor Google AI (Gemini)
PentAGI se integra con los modelos Gemini de Google a través de la API de Google AI, ofreciendo capacidades de razonamiento multimodal de última generación con pensamiento extendido y almacenamiento en caché de contexto.
#### Variables de Configuración
| Variable | Valor Predeterminado | Descripción |
| ------------------- | --------------------------------------------- | -------------------------------- |
| `GEMINI_API_KEY` | | Clave API para servicios de Google AI |
| `GEMINI_SERVER_URL` | `https://generativelanguage.googleapis.com` | Punto final de la API de Google AI |
#### Ejemplos de Configuración```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
PentAGI admite 9 modelos Gemini con llamada a herramientas, transmisión, modos de pensamiento y almacenamiento en caché de contexto. Los modelos marcados con * se utilizan en la configuración predeterminada.
Serie Gemini 3.5 - Flash Estable Más Reciente (mayo de 2026)
| Model ID | Pensamiento | Contexto | Precio (Entrada/Salida/Caché) | Caso de uso |
|---|---|---|---|---|
gemini-3.5-flash* | ✅ | 1M | $1.50/$9.00/$0.15 | El modelo Flash más inteligente con rendimiento fronterizo sostenido en tareas autónomas y de codificación, búsqueda y fundamentación superiores |
Serie Gemini 3.1 - Flash-Lite Estable + Vista previa Pro (febrero-mayo de 2026)
| Model ID | Pensamiento | Contexto | Precio (Entrada/Salida/Caché) | Caso de uso |
|---|---|---|---|---|
gemini-3.1-pro-preview* | ✅ | 1M | $2.00/$12.00/$0.20 | El último modelo insignia con pensamiento refinado, eficiencia de tokens mejorada, optimizado para ingeniería de software y flujos de trabajo autónomos |
gemini-3.1-pro-preview-customtools | ✅ | 1M | $2.00/$12.00/$0.20 | Punto final de herramientas personalizadas optimizado para bash y priorización de herramientas personalizadas (view_file, search_code) |
gemini-3.1-flash-lite* | ✅ | 1M | $0.25/$1.50/$0.025 | Modelo multimodal estable de mayor eficiencia de costes, rendimiento de clase fronteriza para tareas autónomas de alto volumen y aplicaciones de baja latencia |
Serie Gemini 2.5 - Modelos de Pensamiento Avanzado (activos hasta el 16 de octubre de 2026)
| Model ID | Pensamiento | Contexto | Precio (Entrada/Salida/Caché) | Caso de uso |
|---|---|---|---|---|
gemini-2.5-pro | ✅ | 1M | $1.25/$10.00/$0.125 | Estado del arte para codificación y razonamiento complejos, modelado de amenazas sofisticado |
gemini-2.5-flash | ✅ | 1M | $0.30/$2.50/$0.03 | Primer modelo de razonamiento híbrido con presupuestos de pensamiento, mejor relación precio-rendimiento para evaluaciones a gran escala |
gemini-2.5-flash-lite | ✅ | 1M | $0.10/$0.40/$0.01 | El más pequeño y rentable para uso a escala, escaneo de alto rendimiento |
Modelos de Código Abierto Gemma 4 (Apache 2.0, Nivel Gratuito)
| Model ID | Pensamiento | Contexto | Precio (Entrada/Salida/Caché) | Caso de uso |
|---|---|---|---|---|
gemma-4-31b-it | ✅ | 256K | Gratis/Gratis/Gratis | Modelo denso Gemma 4 de código abierto más grande (~31B parámetros), multimodal texto+imagen, 140+ idiomas, operaciones de seguridad locales |
gemma-4-26b-a4b-it | ✅ | 256K | Gratis/Gratis/Gratis | Arquitectura MoE (~26B total / ~3.8B parámetros activos), inferencia altamente eficiente en GPU de consumo para escaneo local de alto rendimiento |
Precios: Por 1M tokens (nivel estándar de pago). La ventana de contexto es el límite de tokens de entrada.
[!NOTE] Apagado de la Serie Gemini 2.5
gemini-2.5-pro,gemini-2.5-flashygemini-2.5-flash-liteserán cerrados el 16 de octubre de 2026. Migraciones recomendadas:
gemini-2.5-pro→gemini-3.1-pro-preview(mismo nivel de precios de entrada de $2.00)gemini-2.5-flash→gemini-3.5-flash(capacidades fronterizas mejoradas)gemini-2.5-flash-lite→gemini-3.1-flash-lite(mismo precio de entrada de $0.25)
Asignaciones de Modelo Predeterminadas (config.yml):
gemini-3.1-pro-preview - primary_agent, assistant, generator, refiner, adviser, coder, pentestergemini-3.5-flash - reflector, searcher, enricher, installergemini-3.1-flash-lite - simple, simple_jsonCaracterísticas Principales:
gemini-3.1-pro-preview-customtools para flujos de trabajo autónomos intensivos en herramientas que prefieren herramientas registradas sobre bashNiveles de Esfuerzo de Razonamiento:
PentAGI se integra con Amazon Bedrock, ofreciendo acceso a más de 20 modelos fundacionales de las principales empresas de IA, incluyendo Anthropic, Amazon, Cohere, DeepSeek, OpenAI, Qwen, Mistral y Moonshot.
| Variable | Por defecto | Descripción |
|---|---|---|
BEDROCK_REGION | us-east-1 | Región de AWS para el servicio Bedrock |
BEDROCK_DEFAULT_AUTH | false | Usar la cadena de credenciales predeterminada del SDK de AWS (entorno, rol EC2, ~/.aws/credentials) - prioridad más alta |
BEDROCK_BEARER_TOKEN | Autenticación de token Bearer - prioridad sobre credenciales estáticas | |
BEDROCK_ACCESS_KEY_ID | ID de clave de acceso de AWS para credenciales estáticas | |
BEDROCK_SECRET_ACCESS_KEY | Clave de acceso secreta de AWS para credenciales estáticas | |
BEDROCK_SESSION_TOKEN | Token de sesión de AWS para credenciales temporales (opcional, se usa con credenciales estáticas) | |
BEDROCK_SERVER_URL | Punto final personalizado de Bedrock (puntos finales de VPC, pruebas locales) |
Prioridad de Autenticación: BEDROCK_DEFAULT_AUTH → BEDROCK_BEARER_TOKEN → BEDROCK_ACCESS_KEY_ID+BEDROCK_SECRET_ACCESS_KEY
BEDROCK_REGION=us-east-1 BEDROCK_DEFAULT_AUTH=true
BEDROCK_REGION=us-east-1 BEDROCK_BEARER_TOKEN=your_bearer_token
BEDROCK_REGION=us-east-1 BEDROCK_ACCESS_KEY_ID=your_aws_access_key BEDROCK_SECRET_ACCESS_KEY=your_aws_secret_key
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
#### Modelos compatibles
PentAGI es compatible con 21 modelos de AWS Bedrock con capacidades de llamada a herramientas, streaming y multimodales. Los modelos marcados con `*` se utilizan en la configuración predeterminada.
| ID del modelo | Proveedor | Razonamiento | Multimodal | Precio (Entrada/Salida) | Caso de uso |
| ------------------------------------------------ | --------------- | ------------ | ---------- | ----------------------- | ---------------------------------------- |
| `us.amazon.nova-2-lite-v1:0` | Amazon Nova | ❌ | ✅ | $0.33/$2.75 | Razonamiento adaptativo, pensamiento eficiente |
| `us.amazon.nova-premier-v1:0` | Amazon Nova | ❌ | ✅ | $2.50/$12.50 | Razonamiento complejo, análisis avanzado |
| `us.amazon.nova-pro-v1:0` | Amazon Nova | ❌ | ✅ | $0.80/$3.20 | Precisión, velocidad y costo equilibrados |
| `us.amazon.nova-lite-v1:0` | Amazon Nova | ❌ | ✅ | $0.06/$0.24 | Procesamiento rápido, operaciones de alto volumen |
| `us.amazon.nova-micro-v1:0` | Amazon Nova | ❌ | ❌ | $0.035/$0.14 | Latencia ultra baja, monitoreo en tiempo real |
| `us.anthropic.claude-opus-4-6-v1`* | Anthropic | ✅ | ✅ | $5.00/$25.00 | Codificación de primer nivel, agentes empresariales |
| `us.anthropic.claude-sonnet-4-6` | Anthropic | ✅ | ✅ | $3.00/$15.00 | Inteligencia fronteriza, escala empresarial |
| `us.anthropic.claude-opus-4-5-20251101-v1:0` | Anthropic | ✅ | ✅ | $5.00/$25.00 | Desarrollo de software de varios días |
| `us.anthropic.claude-haiku-4-5-20251001-v1:0`* | Anthropic | ✅ | ✅ | $1.00/$5.00 | Rendimiento casi fronterizo, alta velocidad |
| `us.anthropic.claude-sonnet-4-5-20250929-v1:0`* | Anthropic | ✅ | ✅ | $3.00/$15.00 | Agentes del mundo real, excelencia en codificación |
| `us.anthropic.claude-sonnet-4-20250514-v1:0` | Anthropic | ✅ | ✅ | $3.00/$15.00 | Rendimiento equilibrado, listo para producción |
| `us.anthropic.claude-3-5-haiku-20241022-v1:0` | Anthropic | ❌ | ❌ | $0.80/$4.00 | Modelo más rápido, escaneo rentable |
| `cohere.command-r-plus-v1:0` | Cohere | ❌ | ❌ | $3.00/$15.00 | Operaciones a gran escala, RAG superior |
| `deepseek.v3.2` | DeepSeek | ❌ | ❌ | $0.58/$1.68 | Razonamiento de contexto largo, eficiencia |
| `openai.gpt-oss-120b-1:0`* | OpenAI (OSS) | ✅ | ❌ | $0.15/$0.60 | Razonamiento sólido, análisis científico |
| `openai.gpt-oss-20b-1:0` | OpenAI (OSS) | ✅ | ❌ | $0.07/$0.30 | Codificación eficiente, desarrollo de software |
| `qwen.qwen3-next-80b-a3b` | Qwen | ❌ | ❌ | $0.15/$1.20 | Contexto ultra largo, razonamiento insignia |
| `qwen.qwen3-32b-v1:0` | Qwen | ❌ | ❌ | $0.15/$0.60 | Razonamiento equilibrado, casos de uso de investigación |
| `qwen.qwen3-coder-30b-a3b-v1:0` | Qwen | ❌ | ❌ | $0.15/$0.60 | Codificación por vibración, primero en lenguaje natural |
| `qwen.qwen3-coder-next` | Qwen | ❌ | ❌ | $0.45/$1.80 | Uso de herramientas, llamada a funciones optimizada |
| `mistral.mistral-large-3-675b-instruct` | Mistral | ❌ | ✅ | $4.00/$12.00 | Multimodal avanzado, contexto largo |
| `moonshotai.kimi-k2.5` | Moonshot | ❌ | ✅ | $0.60/$3.00 | Visión, lenguaje, código en un solo modelo |
**Precios**: Por 1M de tokens. Los modelos con soporte de razonamiento/pensamiento tienen costos de cómputo adicionales durante la fase de razonamiento.
#### Modelos probados pero incompatibles
Algunos modelos de AWS Bedrock fueron probados pero **no son compatibles** debido a limitaciones técnicas:
| Familia del modelo | Razón de la incompatibilidad |
| -------------------------- | ------------------------------------------------------------------------------------------ |
| **GLM (Z.AI)** | El formato de llamada a herramientas es incompatible con la API Converse (espera cadena en lugar de JSON) |
| **AI21 Jamba** | Límites de velocidad severos (1-2 solicitudes/min) impiden pruebas confiables y uso en producción |
| **Meta Llama 3.3/3.1** | Procesamiento inestable de resultados de llamadas a herramientas, causa fallos inesperados en flujos de varios turnos |
| **Mistral Magistral** | La llamada a herramientas no es compatible con el modelo |
| **Moonshot K2-Thinking** | Comportamiento de streaming inestable con llamadas a herramientas, poco confiable en producción |
| **Qwen3-VL** | Streaming inestable con llamada a herramientas, la combinación multimodal + herramientas falla intermitentemente |
> [!IMPORTANT]
> **Límites de velocidad y gestión de cuotas**
>
> Las cuotas predeterminadas de AWS Bedrock para los modelos Claude son **extremadamente restrictivas** (2-20 solicitudes/minuto para cuentas nuevas). Para pruebas de penetración en producción:
>
> 1. **Solicite aumentos de cuota** a través de la consola de AWS Service Quotas para los modelos que planea usar
> 2. **Use modelos Amazon Nova**: cuotas predeterminadas más altas y excelente rendimiento
> 3. **Habilite el rendimiento aprovisionado** para pruebas consistentes de alto volumen
> 4. **Monitoree el uso**: AWS limita agresivamente en los límites de cuota
>
> Sin aumentos de cuota, espere retrasos frecuentes e interrupciones en el flujo de trabajo.
> [!WARNING]
> **Requisitos de la API Converse**
>
> PentAGI utiliza la **API Converse** de Amazon Bedrock para el acceso unificado a modelos. Todos los modelos compatibles requieren:
>
> - ✅ Soporte de API Converse/ConverseStream
> - ✅ Uso de herramientas (llamada a funciones) para flujos de trabajo de pruebas de penetración
> - ✅ Uso de herramientas de streaming para retroalimentación en tiempo real
>
> Verifique las capacidades del modelo en: [Características de modelos de AWS Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference-supported-models-features.html)
**Características clave**:
- **Caché automática de prompts**: Reducción de costos del 40-70% en contexto repetido (modelos Claude 4.x)
- **Razonamiento extendido**: Razonamiento paso a paso para análisis de seguridad complejos (Claude, DeepSeek R1, OpenAI GPT)
- **Análisis multimodal**: Procese capturas de pantalla, diagramas, videos para pruebas completas (Nova, Claude, Mistral, Kimi)
- **Llamada a herramientas**: Integración perfecta con más de 20 herramientas de pentesting mediante llamada a funciones
- **Streaming**: Streaming de respuestas en tiempo real para flujos de trabajo de evaluación de seguridad interactivos
### Configuración del proveedor DeepSeek
PentAGI se integra con DeepSeek, proporcionando acceso a modelos de IA avanzados con fuertes capacidades de razonamiento, codificación y almacenamiento en caché de contexto a precios competitivos.
#### Variables de configuración
| Variable | Valor predeterminado | Descripción |
| --------------------- | ---------------------------- | -------------------------------------------------- |
| `DEEPSEEK_API_KEY` | | Clave API de DeepSeek para autenticación |
| `DEEPSEEK_SERVER_URL` | `https://api.deepseek.com` | URL del endpoint de la API de DeepSeek |
| `DEEPSEEK_PROVIDER` | | Prefijo del proveedor para la integración con LiteLLM (opcional) |
#### Ejemplos de configuración```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
PentAGI es compatible con 2 modelos DeepSeek V4 con llamada a herramientas, streaming, modos de pensamiento híbrido/sin pensamiento y almacenamiento en caché de contexto. Ambos modelos admiten el modo de pensamiento por defecto y se pueden cambiar al modo sin pensamiento mediante extra_body. Los modelos marcados con * se utilizan en la configuración predeterminada.
| ID del modelo | Pensamiento | Salida Máx. | Contexto | Precio (Entrada/Salida/Caché) | Caso de Uso |
|---|---|---|---|---|---|
deepseek-v4-flash* | ✅ híbrido | 384K | 1M | $0.14/$0.28/$0.0028 | Agentes de utilidad, diálogo general, llamada rápida de herramientas |
deepseek-v4-pro* | ✅ híbrido | 384K | 1M | $1.74/$3.48/$0.0145 | Razonamiento avanzado, lógica compleja, análisis de seguridad |
Precios: Por cada 1M de tokens. El precio de caché se aplica a los tokens de prompt servidos desde la caché (acierto de caché de entrada, reducido a 1/10 del precio de lanzamiento desde el 2026-04-26). Ambos modelos admiten pensamiento híbrido: el modo thinking está habilitado por defecto; pase extra_body.thinking.type: disabled para cambiar al modo sin pensamiento para respuestas más rápidas/económicas.
Nota de Precios (deepseek-v4-pro): El descuento promocional del 75% en
deepseek-v4-profinalizó oficialmente el 2026-05-31 a las 15:59 UTC. Los precios anteriores reflejan los precios estándar posteriores a la promoción. Si tiene configuraciones heredadas que utilizan los precios con descuento ($0.435/$0.87/$0.003625), actualícelas a las tarifas actuales para un seguimiento preciso de costos.
Los nombres de modelos heredados
deepseek-chatydeepseek-reasonerestán programados para ser obsoletos por DeepSeek el 2026-07-24. Las configuraciones de usuario existentes que hacen referencia a los nombres heredados seguirán funcionando hasta entonces; los valores predeterminados anteriores utilizan los nombres V4 actuales.deepseek-chatse asigna al modo sin pensamiento dedeepseek-v4-flash;deepseek-reasonerse asigna al modo de pensamiento dedeepseek-v4-flash.
Configuración Predeterminada del Agente:
Estrategia: prefiera deepseek-v4-flash (entrada 12 veces más barata, salida 12 veces más barata) como caballo de batalla para agentes de utilidad/ligeros; reserve deepseek-v4-pro para razonamiento complejo de varios pasos. El agente installer se ejecuta en Flash con el pensamiento habilitado porque las tareas de configuración del entorno (comandos de shell, ediciones de configuración) rara vez requieren razonamiento de nivel Pro. Realice pruebas A/B en sus propias cargas de trabajo antes de promover más agentes a Pro.
| Rol del Agente | Modelo Predeterminado | Pensamiento | Esfuerzo de Razonamiento | Salida Máx. | Temperatura | Top P |
|---|---|---|---|---|---|---|
| Generator / Refiner | deepseek-v4-pro | Habilitado | Alto | 32768 | (auto) | (auto) |
| Coder | deepseek-v4-pro | Habilitado | Alto | 20480 | (auto) | (auto) |
| Agente Principal / Asistente / Pentester | deepseek-v4-pro | Habilitado | Alto | 16384 | (auto) | (auto) |
| Asesor (mentor/planificador) | deepseek-v4-pro | Habilitado | Alto | 8192 | (auto) | (auto) |
| Instalador | deepseek-v4-flash | Habilitado | Alto | 12288 | (auto) | (auto) |
| Reflector / Buscador / Enrichment | deepseek-v4-flash | Deshabilitado | — | 4096 | 0.5 | 0.9 |
| Simple / Simple JSON | deepseek-v4-flash | Deshabilitado | — | 2048 | 0.3 | 0.9 |
Nota: Cuando el modo de pensamiento está habilitado, DeepSeek ignora silenciosamente
temperature,top_p,presence_penaltyyfrequency_penalty. El cliente langchaingo anula automáticamentetemperature/top_pcuando se establecereasoning_effort, por lo que aparecen como "(auto)" en la tabla anterior. Todos los agentes con pensamiento habilitado también pasan explícitamenteextra_body.thinking.type: enabledcomo codificación defensiva contra cambios futuros en los valores predeterminados del proveedor.
Características Principales:
extra_body.thinking.typeLímites de Concurrencia: deepseek-v4-flash: 2500 solicitudes concurrentes; deepseek-v4-pro: 500 solicitudes concurrentes.
Integración con LiteLLM: Establezca DEEPSEEK_PROVIDER=deepseek para habilitar el prefijo del nombre del modelo al usar configuraciones predeterminadas de PentAGI con el proxy LiteLLM. Déjelo vacío para uso directo de la API.
PentAGI se integra con GLM de Zhipu AI (Z.AI), proporcionando modelos de lenguaje avanzados con arquitectura MoE, razonamiento sólido y capacidades agentivas desarrolladas por la Universidad de Tsinghua.
| Variable | Valor Predeterminado | Descripción |
|---|---|---|
GLM_API_KEY | Clave API de GLM para autenticación | |
GLM_SERVER_URL | https://api.z.ai/api/paas/v4 | URL del endpoint de la API de GLM (internacional) |
GLM_PROVIDER | Prefijo de proveedor para integración con LiteLLM (opcional) |
GLM_API_KEY=your_glm_api_key GLM_SERVER_URL=https://api.z.ai/api/paas/v4
GLM_SERVER_URL=https://open.bigmodel.cn/api/paas/v4 # China GLM_SERVER_URL=https://api.z.ai/api/coding/paas/v4 # Coding-specific
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
#### Modelos Soportados
PentAGI admite 13 modelos GLM con llamada a herramientas, streaming, modos de pensamiento híbrido y almacenamiento en caché de indicaciones. Los modelos marcados con `*` se utilizan en la configuración predeterminada. El pensamiento se controla mediante `extra_body.thinking.type` ("enabled"/"disabled"); a diferencia de Kimi, GLM es permisivo con la temperatura en cualquier modo.
**Serie GLM-5.x - Última Generación (contexto de 200K, salida máxima de 128K)**
| ID del Modelo | Pensamiento | Contexto | Salida Máx. | Precio (Entrada/Salida/Caché) | Caso de Uso |
| -------------- | ----------- | -------- | ----------- | ------------------------------ | ---------------------------------------------------------------------------------------------------- |
| `glm-5.1`* | ✅ Híbrido | 200K | 128K | $1.40/$4.40/$0.26 | Nuevo buque insignia: ejecución autónoma sostenida de 8h, alineado con Claude Opus 4.6 (generador/refinador/asesor/codificador/pentester por defecto) |
| `glm-5` | ✅ Híbrido | 200K | 128K | $1.00/$3.20/$0.20 | Base para Ingeniería Agentica, MoE 744B/40B activos, codificación a nivel de Claude Opus 4.5 |
| `glm-5-turbo`* | ✅ Híbrido | 200K | 128K | $1.20/$4.00/$0.24 | Nativo de OpenClaw: optimizado para invocación de herramientas, tareas persistentes, ejecución de cadena larga (agente_principal/asistente por defecto) |
**Serie GLM-4.7 - Premium con Pensamiento Intercalado**
| ID del Modelo | Pensamiento | Contexto | Salida Máx. | Precio (Entrada/Salida/Caché) | Caso de Uso |
| ----------------- | ----------- | -------- | ----------- | ------------------------------ | --------------------------------------------------------- |
| `glm-4.7` | ✅ Híbrido | 200K | 128K | $0.60/$2.20/$0.11 | Programación mejorada, razonamiento multi-paso estable |
| `glm-4.7-flashx` | ✅ Híbrido | 200K | 128K | $0.07/$0.40/$0.01 | Ultraeconómico con GPU prioritaria, pero límites RPM más bajos (evitar para uso de alta frecuencia) |
| `glm-4.7-flash` | ✅ Híbrido | 200K | 128K | Gratis/Gratis/Gratis | Modelo SOTA ~30B gratuito, 1 solicitud concurrente |
**Serie GLM-4.6 - Equilibrada con Pensamiento Automático**
| ID del Modelo | Pensamiento | Contexto | Salida Máx. | Precio (Entrada/Salida/Caché) | Caso de Uso |
| ------------- | ----------- | -------- | ----------- | ------------------------------ | ----------------------------------------------------- |
| `glm-4.6` | ✅ Automático | 200K | 128K | $0.60/$2.20/$0.11 | Equilibrado, llamadas a herramientas en streaming, eficiente en tokens |
**Serie GLM-4.5 - Razonamiento/Codificación/Agentes Unificados**
| ID del Modelo | Pensamiento | Contexto | Salida Máx. | Precio (Entrada/Salida/Caché) | Caso de Uso |
| -------------------- | ----------- | -------- | ----------- | ------------------------------ | ----------------------------------------------------- |
| `glm-4.5` | ✅ Automático | 128K | 96K | $0.60/$2.20/$0.11 | Unificado, MoE 355B/32B activos |
| `glm-4.5-x` | ✅ Automático | 128K | 96K | $2.20/$8.90/$0.45 | Premium ultrarrápido, latencia más baja |
| `glm-4.5-air`* | ✅ Automático | 128K | 96K | $0.20/$1.10/$0.03 | MoE rentable 106B/12B (simple/simple_json/reflector/buscador/enriquecedor/instalador por defecto) |
| `glm-4.5-airx` | ✅ Automático | 128K | 96K | $1.10/$4.50/$0.22 | Air acelerado con GPU prioritaria |
| `glm-4.5-flash` | ✅ Automático | 128K | 96K | Gratis/Gratis/Gratis | Gratuito con soporte para razonamiento/codificación/agentes |
**GLM-4 Heredado - Arquitectura Densa**
| ID del Modelo | Pensamiento | Contexto | Salida Máx. | Precio (Entrada/Salida) | Caso de Uso |
| ------------------------- | ----------- | -------- | ----------- | ----------------------- | --------------------------------------------------------- |
| `glm-4-32b-0414-128k` | ❌ | 128K | 16K | $0.10/$0.10 | Denso 32B ultraeconómico, análisis sin razonamiento |
**Precios**: Por 1M de tokens. El precio de caché es para acierto de caché de indicaciones; el almacenamiento en caché es actualmente gratuito según la promoción de Z.AI. GLM-4-32B no tiene soporte de caché.
**Configuración del Agente por Defecto**:
Estrategia: `glm-5.1` (nuevo buque insignia, $1.40 entrada) para razonamiento crítico, `glm-5-turbo` (nativo de OpenClaw, optimizado para agentes) para orquestación, `glm-4.5-air` (MoE barato con pensamiento híbrido y RPM confiable) para todos los agentes de utilidad/instalador. Se evita `glm-4.7-flashx` como predeterminado debido a límites RPM más bajos que causan frecuentes errores 429 a alta frecuencia.
| Rol del Agente | Modelo Predeterminado | Pensamiento | Temperatura | Top P | Salida Máx. |
| ----------------------------- | --------------------- | ----------- | ----------- | ----- | ----------- |
| Generador / Refinador | `glm-5.1` | Habilitado | 1.0 | 0.95 | 32768 |
| Codificador | `glm-5.1` | Habilitado | 1.0 | 0.95 | 20480 |
| Asesor / Pentester | `glm-5.1` | Habilitado | 1.0 | 0.95 | 16384 |
| Agente Principal / Asistente | `glm-5-turbo` | Habilitado | 1.0 | 0.95 | 16384 |
| Instalador | `glm-4.5-air` | Habilitado | 1.0 | 0.95 | 16384 |
| Simple / Reflector | `glm-4.5-air` | Deshabilitado | 0.6 | 0.9 | 8192 |
| Buscador / Enriquecedor / JSON Simple | `glm-4.5-air` | Deshabilitado | 0.6 | 0.9 | 4096 |
> **Nota sobre la temperatura**: GLM acepta tanto `1.0` como `0.6` en modo de pensamiento o sin pensamiento (según la documentación de Z.AI). La función `IsReasoningModel` de langchaingo coincide con los prefijos `glm-4.5*`/`glm-4.6*`/`glm-4.7*` y fuerza la temperatura a 1.0 en `createChatRequest` — esto es inofensivo para GLM (a diferencia de Kimi) pero significa que los valores de temperatura para esos modelos en YAML son solo indicativos. `glm-5`/`glm-5.1`/`glm-5-turbo` no coinciden, por lo que los valores explícitos pasan sin cambios.
**Modos de Pensamiento**:
- **Híbrido** (GLM-5.x, GLM-4.7): Alternancia explícita mediante `extra_body.thinking.type`
- **Automático** (serie GLM-4.6, GLM-4.5): El modelo determina automáticamente cuándo se necesita razonamiento
- **Pensamiento Preservado** (Capacidad de Codificación Z.AI): todos los agentes con pensamiento habilitado en PentAGI también pasan `extra_body.thinking.clear_thinking: false` para que `reasoning_content` de turnos anteriores del asistente se conserve a lo largo de la conversación. Esto es necesario en el endpoint estándar de la API (`/api/paas/v4`) — en el endpoint del Plan de Codificación estaría habilitado por defecto. Mejora la continuidad del razonamiento y las tasas de acierto de caché en cadenas de llamadas a herramientas de múltiples turnos.
- Todos los agentes con pensamiento habilitado también pasan `extra_body.tool_choice: auto` de forma defensiva
**Características Clave**:
- **Tareas de Largo Plazo**: GLM-5.1 admite ejecución autónoma sostenida de 8 horas, ideal para flujos de trabajo agenticos complejos de múltiples etapas
- **Orquestación Nativa de OpenClaw**: GLM-5-Turbo está específicamente optimizado para invocación de herramientas, seguimiento de instrucciones y ejecución de cadena larga
- **Almacenamiento en Caché de Indicaciones**: Reducción significativa de costos en contexto repetido (se muestra el precio de entrada en caché)
- **Contexto Ultra Largo**: 200K tokens para las series GLM-5.x/4.7/4.6
- **Arquitectura MoE**: Eficiente 744B/40B activos (GLM-5/5.1), 355B/32B (GLM-4.5), 106B/12B (GLM-4.5-Air)
- **Llamada a Herramientas**: Integración perfecta con más de 20 herramientas de pentesting mediante llamadas a funciones
- **Streaming**: Streaming en tiempo real con soporte de llamadas a herramientas en streaming (GLM-4.6+)
- **Multilingüe**: Capacidades excepcionales de PNL en chino e inglés
- **Opciones Gratuitas**: GLM-4.7-Flash y GLM-4.5-Flash para prototipado y experimentación
**Integración LiteLLM**: Establezca `GLM_PROVIDER=zai` para habilitar el prefijo de nombre del modelo al usar configuraciones predeterminadas de PentAGI con el proxy LiteLLM. Déjelo vacío para uso directo de la API.
### Configuración del Proveedor Kimi
PentAGI se integra con Kimi de Moonshot AI, proporcionando modelos de contexto ultra largo con capacidades multimodales perfectos para analizar bases de código y documentación extensas.
#### Variables de Configuración
---
[Read more](https://github.com/vxcontrol/pentagi)