Skip to main content
Glama

pi-delegate

Делегируйте реализацию и тесты локальному агенту pi с хуками, которые обеспечивают дисциплину диспетчеризации.

Claude выступает в роли технического лидера: он создаёт пробу, книгу задач, сценарий приёмки и вердикт. pi пишет исходный код.

Архитектура: Claude вызывает инструменты MCP, MCP-сервер держит stdio каждого дочернего процесса pi открытым, дочерние процессы pi обращаются к собственному провайдеру пользователя

Claude никогда не говорит напрямую по протоколу RPC — MCP-сервер держит канал, что делает возможными pi_steer и pi_abort во время выполнения.

Установка

/plugin marketplace add LarryStanley/pi-delegate
/plugin install pi-delegate@pi-delegate

Запустите обе команды внутри Claude Code. Первая команда регистрирует этот репозиторий как маркетплейс плагинов; вторая устанавливает плагин из него. Если в сводке установки сказано Run /reload-plugins to activate., выполните и её.

Требуется Node ≥ 22 и уже настроенная установка pi. Зависимости устанавливаются автоматически из зафиксированного lockfile — вам не нужно ничего npm install самостоятельно.

Чтобы обновить позже:

/plugin marketplace update pi-delegate

Чтобы запустить рабочую копию вместо опубликованной версии:

claude --plugin-dir /path/to/pi-delegate

Копия --plugin-dir имеет приоритет над установленной для этой сессии, так что вы можете тестировать изменения без удаления.

Затем запустите /pi-delegate:setup для пошагового прохождения при первом запуске: он проверяет pi и его провайдера, объясняет режимы дисциплины и спрашивает, какой вы хотите, предлагает исправить всё, что можно исправить, и предлагает проверочную диспетчеризацию перед тем, как вы начнёте использовать инструменты по-настоящему.

Related MCP server: deleg8

Конфигурация: по умолчанию ничего не требуется

pi_dispatch не указывает ни провайдера, ни модель, поэтому pi использует ваши собственные настройки по умолчанию (defaultProvider / defaultModel в ~/.pi/agent/settings.json). Другими словами: какая бы модель ни была у pi по умолчанию, диспетчеризация идёт туда же — anthropic, openai, litellm, ollama, LM Studio или локальный сервер, совместимый с OpenAI (например, omlx), работают одинаково, и для этого плагина ничего настраивать не нужно.

Если вы хотите закрепить другую модель на длительный срок (например, дешёвую локальную модель для диспетчеризации, пока интерактивный pi использует что-то другое), напишите ~/.claude/pi-delegate/config.json:

{
  "provider": "ollama",
  "model": "qwen3:8b",
  "timeout_s": 1500,
  "thinking": "off",
  "tools": "read,write,edit",
  "no_context_files": true,
  "drafter_patterns": ["-draft", "_assistant", "-assistant"]
}

Каждое поле необязательно. Порядок разрешения: аргументы вызова pi_dispatch → этот файл → собственные настройки pi по умолчанию.

/pi-delegate:doctor сообщает, до какой модели на самом деле дойдёт диспетчеризация, и поднимает проблему только при условиях, которые действительно выполняются.

Приведённые ниже значения по умолчанию были измерены, а не угаданы

Параметр

По умолчанию

Почему

thinking

off

Небольшие локальные модели тратят весь свой бюджет на размышления и никогда не совершают ни одного вызова инструмента. Мощные размещённые модели выигрывают от размышлений над сложными задачами, поэтому это можно переопределить.

tools

read,write,edit

Предоставление bash заставляло модель бесконечно бродить с ls / cat вместо того, чтобы что-то писать.

no_context_files

true

Измерено: без него 43 чтения / 0 записей / тайм-аут; с ним завершилось за 93 секунды.

Чтобы переопределить, укажите это напрямую в вызове pi_dispatch (thinking, tools, no_context_files, append_system_prompt, provider, model, timeout_s).

--mode rpc, --session-id, --no-skills и --no-extensions являются структурными и не переопределяются; --no-session намеренно никогда не передаётся (его отсутствие позволяет сессии сохраняться на диск, что даёт pi_transcript что-то для чтения).

Режимы

Режим

Поведение

off

Никакого вмешательства

soft

Подталкивает, когда затрагивается существующий код продукта (по умолчанию)

strict

Блокирует правки существующего кода продукта

Переключайте режимы с помощью /pi-delegate:mode <mode>; состояние хранится в ~/.claude/pi-delegate/modes.json и запоминается для каждого проекта. «Существующий код продукта» означает исходный файл, который уже существует в src/ корня проекта; tasks/, scripts/, docs/, markdown, конфигурационные файлы и совершенно новые файлы пропускаются.

strict — это дисциплинарное ограждение, а не принуждение: хук подключён только к Write|Edit, поэтому редактирование того же файла с помощью Bash (sed -i, heredoc, python - <<EOF, …) никогда не перехватывается. Всегда есть способ обойти это — он блокирует редактирование файла по привычке, а не намеренный обход.

Чтобы сделать одну ручную правку (пробу), сначала запустите /pi-delegate:probe для одноразового обхода.

Инструменты MCP

Инструмент

Назначение

pi_dispatch

Отправить книгу задач. mode=sync ожидает результат, mode=async запускает её в фоне

pi_status

Проверить прогресс

pi_steer

Вмешаться во время выполнения, когда оно идёт не туда

pi_abort

Прервать. Повторно отправьте прерванную задачу без изменений; переписывайте книгу задач только после реального сбоя

pi_result

Собрать вердикт асинхронной диспетчеризации

pi_transcript

Углубляться только тогда, когда вердикта недостаточно

pi_stats

Проверить использование токенов

Как работает диспетчеризация

Диаграмма последовательности одного вызова pi_dispatch с последующим pi_steer во время выполнения, показывающая Claude, MCP-сервер, дочерний процесс pi и провайдера

Активация MCP-сервера охватывает всю сессию; именно поэтому он может доставить steer в stdin дочернего процесса pi во время выполнения, и именно он — а не дочерний процесс — решает, когда запуск завершён.

Известные пробелы

pi_stats возвращает только tokens и duration_s, уже присутствующие в вердикте. Проброс get_session_stats из спецификации §5 (включая использование cost / context) ещё не реализован.

Документация

Файл

Содержимое

docs/publish-prep-report.md

Изменения и заметки о проверке из предрелизного прохода

docs/superpowers/specs/2026-08-22-pi-delegate-plugin-design.md

Спецификация дизайна (историческая)

docs/superpowers/plans/2026-08-22-pi-delegate-plugin.md

План реализации (исторический)

skills/delegating-to-pi/

Сама дисциплина диспетчеризации: разделение на четыре части, книги задач, приёмка, выбор модели

Разработка

npm test                    # node --test, no external dependencies
claude plugin validate .

fixtures/fake-pi.mjs заменяет pi --mode rpc. Он намеренно находится вне test/ — node --test обрабатывает любой файл в **/test/**/*.{cjs,mjs,js} как тестовый файл, и размещение его в test/ добавило бы один постоянно проходящий фантомный тест.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables MCP clients to spawn and control Codex CLI and Claude Code sessions on the host machine, with session management and filesystem access.
    4
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables Claude Code to delegate work to persistent oh-my-pi (omp) subagents via an MCP server with 7 tools (spawn, send, output, status, list, stop, prune), wrapping omp RPC mode with enforcement hooks for descriptive agent naming, model configuration, denylists, write-scope ownership, and cooperative locking.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Delegates coding tasks to the local Claude Code CLI via MCP, offering run, review, and status tools for MCP-compatible agents.
    11 npm
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables MCP hosts like Claude Code and Codex to spawn, manage, and interact with persistent, reusable Pi coding-agent sessions, supporting task dispatch, status checks, and session lifecycle control.
    3 npm
    -