pi-dispatch: запуск кодирующего агента с изоляцией и контролем расходов

pi-dispatch: запуск кодирующего агента с изоляцией и контролем расходов

pi-dispatch — это инструмент для запуска кодирующего агента pi как самостоятеьного сервиса с полной изолированностью и контролем расходов. Он позволяет автоматизировать выполнение задач из cron, CLI или событий GitHub, GitLab, Forgejo и Azure DevOps, при этом каждый процесс выполняется в защищённом контейнере Docker или Podman.

Основная задача pi-dispatch — устранить недостаток в pi, который использует лишь базовые возможности без очередей, контроля расходов и системы разрешений. Этот проект добавляет необходимые слои управления, обеспечивая безопасность и предсказуемость работы агента. Он пригодится разработчикам, которые хотят запустить автоматизацию задач, не рискуя ресурсами системы и не тратя лишние деньги.

Проект написан на Go и запускается в среде Docker или Podman. Учти, что pi-dispatch фокусируется на улучшении защиты и контроля, но требует предварительной настройки и понимания особенностей работы с pi. Ссылка на сам pi доступна в README.

Проект pi-dispatch предоставляет возможность автоматизировать работу с репозиториями, используя интеллектуального агента программирования pi. Он позволяет запускать агента как фоновый сервис на своем компьютере или сервере, обеспечивая безопасность, так как вам не нужно предоставлять доступ к своей системе.

Агент pi выполняет задачи на основе заданного расписания или по триггерам, таким как создание новых запросов на слияние, комментарии или метки в системе контроля версий (GitHub, GitLab и др.). Каждая задача выполняется в изолированном контейнере, который после завершения работы удаляется. Pi-dispatch добавляет функциональность для управления очередями задач, лимитами расходов и системой разрешений.

Когда стоит использовать pi-dispatch

Этот проект будет полезен, если ты хочешь автоматизировать периодические или триггерные задачи без непосредственного контроля, например:

  • Ежедневная проверка новых задач, обновление отчетов или очистка списка задач;
  • Автоматическое создание исправлений по метке `ai`;
  • Ответы на комментарии в PR, которые были инициированы агентом;
  • Организация работы с несколькими репозиториями с общим бюджетом и панелью управления.

Установка и запуск

Для работы pi-dispatch необходимы следующие компоненты:

  • Docker или Podman;
  • Node.js версии 22.19 или новее;
  • API-ключ для провайдера модели, который будет использоваться агентом в каждой задаче;
  • Система, которая может постоянно запускать контейнеры.

Установить pi-dispatch можно, если у тебя уже настроен pi:

pi install npm:@edgehero/pi-dispatch-admin   # затем внутри pi:  /dispatch

Это запустит мастер настройки, который создаст папку развертывания, установит pi-dispatch, запустит его и предложит настройки.

Если ты хочешь запустить его без использования pi, можно использовать следующие команды:

mkdir my-dispatch && cd my-dispatch
npx @edgehero/pi-dispatch up
npx @edgehero/pi-dispatch worker
npx @edgehero/pi-dispatch run ./my-project --task "add type hints" --flow tidy

Что умеет pi-dispatch

Основные возможности проекта включают:

  • Задачи выполняются в изолированных контейнерах, что обеспечивает безопасность;
  • Установка лимитов на расходы на каждую задачу;
  • Гибкая конфигурация изображений задач, включая возможность добавления своей цепочки инструментов;
  • Поддержка нескольких типов триггеров для запуска задач.

Ограничения

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

  • Работающая версия должна находиться на машине с доступом к Docker или Podman;
  • Обработка не поддерживается на серверных или приложенческих платформах без контейнерной среды;
  • Например, серверы без постоянного хранилища (как Vercel или Netlify) не подойдут.

Важно также помнить о безопасности: каждую работу запускает только авторизованный пользователь, и pi-dispatch не производит автоматического слияния PR.

Открыть на GitHub: edgehero/pi-dispatch →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте