Reference·PentAGIIndexClose
PentAGI with an abliterated LLM
Pointing PentAGI's custom LLM provider at Cyber v1, Nodecode's abliterated model: four lines of .env, and the model field that makes them work.
PentAGI is a self-hosted multi-agent pentest system: a team of agents plans the work, runs nmap, Metasploit, sqlmap and 20 more tools inside a Docker sandbox, and keeps what it learned in PostgreSQL. It takes any OpenAI-compatible endpoint through one block of .env.
Install it
Its installer sets up the whole stack with Docker Compose: download the archive for your architecture from pentagi.com, unzip it, and run the installer (it needs the Docker socket, so sudo ./installer).
wget -O installer.zip https://pentagi.com/downloads/linux/amd64/installer-latest.zip
unzip installer.zip
sudo ./installer
Point it at Cyber v1
The installer writes a .env. Its custom provider is the block that takes an arbitrary base URL, a key and a model name:
LLM_SERVER_URL=https://api.nodecode.ai/v1
LLM_SERVER_KEY=sk-nc-...
LLM_SERVER_MODEL=nodecode-cyber-v1
LLM_SERVER_API_TYPE=
Four variables, and the empty fourth matters: LLM_SERVER_API_TYPE is azure or azure_ad for an Azure deployment, and empty for a plain OpenAI-compatible endpoint, which is what this is. Leave LLM_SERVER_PROVIDER empty too: it prefixes model names for a LiteLLM proxy (moonshot/kimi-2.5), and LLM_SERVER_MODEL is already the name the API answers to.
A reasoning model keeps its thinking across turns when the request asks it to. If PentAGI's chains come back with the reasoning stripped, set LLM_SERVER_PRESERVE_REASONING=true, which is the switch its README names for providers that require it.
Then bring the stack up again so the new .env is read:
docker compose up -d --force-recreate
The other route
PentAGI's OpenAI provider takes a base URL of its own, so OPEN_AI_KEY=sk-nc-... with OPEN_AI_SERVER_URL=https://api.nodecode.ai/v1 also lands on Cyber v1. The custom provider above is the one to prefer: it names the model directly and leaves the OpenAI defaults alone.
Choosing the model per agent
LLM_SERVER_CONFIG_PATH takes a YAML file that gives each of PentAGI's agents its own model. One model for every agent is the default, and the model to start with; a second, smaller model for the parser and the summariser is the usual first cut.
What was checked
The settings above are PentAGI's own, as its README and .env.example give them, and the endpoint they point at answers as the quickstart shows. PentAGI's whole stack has not been run against it here yet.