手动安装
使用 Docker Compose 手动部署 PentAGI — 创建工作目录,填写 .env 文件,添加 LLM provider 并启动堆栈。
当您希望完全控制配置或无法运行交互式安装程序时,请使用手动方式。
1. 创建工作目录
mkdir -p ~/pentagi && cd ~/pentagi2. 下载环境文件
test -f .env || curl -fo .env.new https://raw.githubusercontent.com/vxcontrol/pentagi/main/.env.example
test -f .env.new && openssl rand -hex 32 | xargs -I VALUE sed -E -i.bak 's/^COOKIE_SIGNING_SALT=salt( .*)?$/COOKIE_SIGNING_SALT=VALUE/' .env.new
test -f .env.new && openssl rand -hex 16 | xargs -I VALUE sed -E -i.bak 's/^PENTAGI_POSTGRES_PASSWORD=postgres( .*)?$/PENTAGI_POSTGRES_PASSWORD=VALUE/' .env.new
test -f .env || mv .env.new .envCompose 文件会挂载三个 providerprovider — 提供商为 PentAGI 提供语言模型的服务或服务器,例如 OpenAI、Anthropic 或本地 Ollama。 配置文件,因此请创建它们——空文件即可:
touch example.custom.provider.yml example.ollama.provider.yml example.bedrock.provider.yml如果您计划使用自定义的 OpenAI 兼容端点或 Ollama,请获取示例配置而非空文件,并将 .env 中的 LLM_ 或 OLLAMA_ 指向 / 或 /。该自定义示例命名了 OpenAI 模型,其中包括 o3-mini(OpenAI 将于 2026 年 10 月 23 日停用该模型)——请将每个 agentagent — 智能体PentAGI 的智能体:一种拥有独立提示词、设置和工具的人工智能模型,在流程中执行特定类型的工作,例如测试、编写代码或搜索网络。 的 model 设置为您的端点所支持的模型:
curl -o example.custom.provider.yml https://raw.githubusercontent.com/vxcontrol/pentagi/main/examples/configs/custom-openai.provider.yml
curl -o example.ollama.provider.yml https://raw.githubusercontent.com/vxcontrol/pentagi/main/examples/configs/ollama-llama318b.provider.yml3. 添加至少一个 LLM provider
编辑 .env 并设置至少一个 provider 的密钥:
OPEN_AI_KEY=your_openai_key
ANTHROPIC_API_KEY=your_anthropic_key
GEMINI_API_KEY=your_gemini_key其他 providers——AWS Bedrock、Ollama、DeepSeek、GLM、Kimi、Qwen、MiniMax、Mistral、xAI 以及自定义端点——在 LLM providers 中有详细说明。Search enginessearch engine — 搜索引擎智能体用于收集最新信息的网络搜索服务,例如 DuckDuckGo、Google 或 Tavily。 为可选项;DuckDuckGo 和 Sploitus 无需密钥:
DUCKDUCKGO_ENABLED=true
SPLOITUS_ENABLED=true
TAVILY_API_KEY=your_tavily_key4. 启动服务栈
curl -O https://raw.githubusercontent.com/vxcontrol/pentagi/main/docker-compose.yml
test -f .env && docker compose up -dWeb UI 的访问地址为 https:/。请使用 [email protected] / admin 登录并更改密码。
Web UI 和其他服务均绑定到 localhost,但每个 flowflow — 流程PentAGI 的一次运行:一个目标、根据您的消息创建的任务,以及智能体在此过程中执行的所有操作。 的 sandboxsandbox — 沙箱智能体运行其工具的隔离 Docker 容器。界面中将其显示为 Terminal。 会在 Docker 主机的所有网络接口上发布两个回调端口,默认范围为 28000–29999,且 ufw 不会过滤这些端口。如果其他用户可以访问该主机,请首先限制该端口范围——请参阅网络暴露。如需稍后更新安装,请遵循升级。
可选服务栈
每个可选服务都作为独立的 Compose 文件提供,您可以将其叠加在基础服务之上:
| 服务栈 | Compose 文件 | 新增内容 |
|---|---|---|
| LLM 可观测性 | docker-compose-langfuse.yml | Langfuse 及 ClickHouse、Redis 和 MinIO |
| Knowledge graphknowledge graph — 知识图谱启用此可选功能后,PentAGI 在测试期间构建的主机、服务、漏洞及其之间访问关系的图谱。它展示了发现项之间的关联。 | docker-compose-graphiti.yml | Graphiti 和 Neo4j |
| 系统可观测性 | docker-compose-observability.yml | Grafana、OpenTelemetry、VictoriaMetrics、Jaeger、Loki |
对于生产环境及任何运行不受信任代码的环境,请在专用的 worker node 上隔离 tooltool — 工具智能体执行操作所用的手段:终端、隔离浏览器或网络搜索等内置功能,或沙箱中的程序,例如 nmap、metasploit 或 sqlmap。 容器。
最后更新于