Перейти к содержимому
PentAGI
Развёртывание

Обновление

Обновление установки до нового релиза и изменения при переходе с версии 2.1.0 на 2.2.0.

Обновление заменяет образы PentAGI и, если релиз их изменил, файлы compose. Ваши .env и тома данных сохраняются, а миграции базы данных выполняются при запуске PentAGI.

Перед началом

  • Прочитайте примечания к выпуску всех версий новее вашей; с 2.1.0 в них есть инструкции по обновлению.

  • Создайте резервную копию базы данных. Ни установщик, ни PentAGI не делают этого, а откат миграций невозможен без потери данных. При использовании значений по умолчанию для PENTAGI_POSTGRES_USER и PENTAGI_POSTGRES_DB:

    docker exec pgvector pg_dump -U postgres -Fc pentagidb > pentagi-backup.dump

    Также сохраните копии .env и файлов compose: установщик заменяет файлы compose без создания резервной копии.

  • Завершите flow, которые вам больше не нужны. Работающий sandbox повторно используется в том виде, в котором он был создан, с настройками релиза, создавшего его.

  • При переходе с версии 2.1.0 внесите изменения из раздела С версии 2.1.0 до 2.2.0 в .env и файлы рядом с ним перед запуском нового релиза. Если включён вход через Google или GitHub, сейчас очистите OAUTH_GOOGLE_CLIENT_ID и OAUTH_GITHUB_CLIENT_ID; в разделе объясняется, почему.

Docker Compose

  1. Скачайте файлы compose нового релиза рядом с вашим .env: docker-compose.yml и файл каждого дополнительного стека, который вы запускаете. Контейнер PentAGI получает только те переменные, которые перечислены в его файле compose, поэтому новые настройки в .env не будут действовать при использовании старого файла.

    cd ~/pentagi
    curl -O https://raw.githubusercontent.com/vxcontrol/pentagi/main/docker-compose.yml
    # and the file of each optional stack you run, for example:
    curl -O https://raw.githubusercontent.com/vxcontrol/pentagi/main/docker-compose-langfuse.yml
  2. Загрузите образы и перезапустите сервисы, используя те же файлы -f, с которыми вы запускаете стек. Без pull команда up -d сохраняет образы, уже находящиеся на хосте.

    docker compose pull && docker compose up -d
  3. Обновите образ sandbox на Docker-хосте, который запускает flow, так как docker compose pull этого не делает. Flow, созданные впоследствии, будут использовать его.

    docker pull vxcontrol/kali-linux

Тег образа latest следует за основной веткой. Чтобы оставаться на одном релизе, установите PENTAGI_IMAGE=vxcontrol/pentagi:<version> в .env.

Установщик

  1. Скачайте установщик нового релиза из раздела Быстрый старт и запустите его с вашим .env. Установщик версии 2.1.0 не может обновить сам себя.
  2. Чтобы заменить файлы compose, измените настройку так, чтобы в меню появился пункт Apply Changes, выберите его и ответьте y, когда установщик перечислит устаревшие файлы.
  3. В меню обслуживания выполните Update PentAGI для загрузки новых образов и Update Worker Image, когда это будет предложено. Сам по себе Update PentAGI сохраняет старые файлы compose.

С версии 2.1.0 до 2.2.0

Файлы

  • Файл compose монтирует example.bedrock.provider.yml рядом с собой. Установщик создаёт его; при ручной установке создайте его самостоятельно, пустого файла достаточно: touch example.bedrock.provider.yml.
  • Замените docker-compose-langfuse.yml, если вы используете Langfuse: файл версии 2.1.0 указывает на образ minio/minio, который больше не публикуется, поэтому docker compose pull завершится ошибкой с ним. Если ваш .env устанавливает MINIO_IMAGE=minio/minio:…, удалите эту строку.
  • Для knowledge graph поместите examples/neo4j из репозитория в ./neo4j — Graphiti требуется его плагин APOC — и ознакомьтесь с разделом Память и знания для настроек моделей. GRAPHITI_MODEL_NAME больше не читается.
  • При первом запуске выполняются восемь миграций базы данных. docker compose logs pentagi показывает «Database schema updated successfully», когда они завершены.

Вход и доступ

  • Всем пользователям необходимо войти снова: сеансы версии 2.1.0 отклоняются. API-токены продолжают работать, а скрипты выходят из системы с помощью POST /api/v1/auth/logout.
  • API-токен получает ошибку 403 на REST-маршрутах /users, /roles и /tokens: управляйте учётными записями, ролями и токенами из сеанса браузера с выполненным входом.
  • Вход через Google и GitHub теперь выполняет вход с проверенной провайдером электронной почтой в существующую учётную запись с этим адресом, включая локальные учётные записи, с ролью этой учётной записи. Версия 2.1.0 не может изменить электронную почту учётной записи, поэтому, если вход включён, выполните обновление с пустыми значениями OAUTH_GOOGLE_CLIENT_ID и OAUTH_GITHUB_CLIENT_ID, переместите [email protected] на адрес, который вы контролируете, в разделе Settings → Account, а затем снова включите вход. Функция Reset Admin Password установщика находит администратора только по [email protected].
  • За обратным прокси-сервером установите TRUSTED_PROXIES, иначе все пользователи будут использовать один и тот же адрес прокси-сервера, и одна серия неудачных попыток входа заблокирует всех на 15 минут — см. Сетевой доступ.

Sandboxes

  • При использовании DOCKER_INSIDE=true — шаблона .env версии 2.1.0 и значения по умолчанию установщика — версия 2.1.0 монтировала сокет Docker хоста в каждый sandbox. Версия 2.2.0 предоставляет агентам доступ к Docker только через отдельный демон, настроенный в DOCKER_INSIDE_HOST; без него доступа нет, а в журнале отображается sandbox DISABLED. При использовании DOCKER_INSIDE_HOST оставьте DOCKER_SOCKET= пустым, иначе шаблонный /var/run/docker.sock все ещё будет монтироваться. См. Worker node.
  • Завершите flow, запущенные на версии 2.1.0: их sandboxes сохраняют старое монтирование сокета и возможности до завершения flow.
  • Оставьте TENANT_ID пустым: на существующей установке это направляет PentAGI на новую, пустую схему.

Модели и промпты

  • Пользовательскому провайдеру требуется LLM_SERVER_KEY: с пустым ключом он отключён, поэтому для сервера без аутентификации установите любое непустое значение.
  • LLM_SERVER_LEGACY_REASONING удалён. Пользовательский провайдер отправляет reasoning_effort и преобразует бюджет reasoning.max_tokens в уровень усилий; на моделях Kimi K2, GLM до версии 5.2 и MiniMax M бюджет теперь вызывает сбой вызова, поэтому удалите его из этих агентов.
  • В файлах конфигурации провайдера запись агента, оставляющая max_tokens, temperature, top_p или n пустыми, теперь получает значения по умолчанию для типа провайдера вместо отправки пустых значений.
  • Встроенные модели по умолчанию изменились для каждого провайдера, кроме Bedrock; провайдеры, сохранённые в Settings → Providers, сохраняют свои модели. Пять конфигураций, поставляемых с образом, изменили модели — openrouter, deepinfra, ollama-cloud, moonshot и deepseek. Если LLM_SERVER_CONFIG_PATH или OLLAMA_SERVER_CONFIG_PATH указывает на одну из них в /opt/pentagi/conf/, сохраните файл версии 2.1.0 на хосте и смонтируйте его как пользовательскую конфигурацию или конфигурацию Ollama.
  • При использовании EMBEDDING_URL на сервере, отличном от OpenAI, установите EMBEDDING_KEY: OPEN_AI_KEY туда больше не отправляется.
  • Агенты выполняют поиск через один инструмент web_search. Пользовательские промпты с {{.GoogleToolName}} и другими переменными для каждого движка игнорируются с предупреждением в журнале, пока они не начнут использовать {{.WebSearchToolName}}; адаптируйте пользовательские промпты searcher и pentester под новые значения по умолчанию.

Другие изменения

  • В течение двух минут после запуска и затем каждые три часа PentAGI сообщает свою версию и краткую информацию об установке в update.pentagi.com; раздел Проверка обновлений перечисляет отправляемые данные, а UPDATE_CHECK_INTERVAL=0 отключает эту функцию.
  • Профилировщик больше не прослушивает порт 7777, если не установлен PPROF_ADDR.
  • Новые необязательные настройки включают резервирование провайдера с LLM_FALLBACK_PROVIDER, DOCKER_PORTS_BASE для нескольких экземпляров, DOCKER_IMAGE_SELECTION_MODE и DOCKER_ALLOWED_IMAGES, внутренний поисковый движок WEB_SEARCH_INTERNAL_ENABLED, а также ключи Mistral, xAI, MiniMax и Firecrawl.

Резервное копирование и откат

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

docker compose stop pentagi pgexporter
docker exec pgvector dropdb -U postgres pentagidb
docker exec pgvector createdb -U postgres pentagidb
docker exec -i pgvector pg_restore -U postgres -d pentagidb < pentagi-backup.dump

Затем верните сохранённые .env и файлы compose, установите PENTAGI_IMAGE=vxcontrol/pentagi:2.1.0 и запустите стек. Сохраните новый docker-compose-langfuse.yml: образ MinIO из файла версии 2.1.0 больше нельзя загрузить.

Последнее обновление: