API ВЕГА
English

Pushary: участие человека в работе AI-агентов

Push-уведомления и участие человека в работе AI-агентов. Подтверждайте запросы с телефона.

Начать работу · Каталог Skills · Сообщить об ошибке

Начните здесь

Попробовать подтверждение без регистрации

→ подключите открытую страницу на телефоне → подтвердите запрос или отклоните его → посмотрите, продолжит агент работу или остановится.

В этой демонстрации в браузере используются опрос сервера и временное состояние, а не настоящая доставка push-уведомлений и производственный журнал.

Что вы хотите создатьС чего начать
Уведомления и вопросы для агента, который пишет кодИнструкции по настройке ниже
Обязательное подтверждение выполнения инструмента в Vercel AI SDKРабочий пример AI SDK
Рабочий процесс LangGraph с ветвлением по решению человекаРабочий пример LangGraph
Другой фреймворк для агентовВсе интеграции Pushary
Когда агенту следует остановиться и обратиться к человеку, а также как добавить такой шаг в любой фреймворкSkill pushary-human-in-the-loop

Skill и адаптеры распространяются по лицензии MIT. Для доставки уведомлений на телефон через хостинг требуется аккаунт Pushary; чтобы встраивать подтверждения в собственное приложение для пользователей, нужен доступ Partner.

Оба примера для фреймворков также запускаются локально с имитацией ответов и без учётных данных.

Если Pushary оказался полезен, поставьте звезду этому репозиторию.

Хотите помочь? Мы будем рады вашим сообщениям о проблемах и исправлениям.


С помощью Pushary ваш агент для написания кода может отправлять обновления о задачах и спрашивать вас о решении на телефоне. Поддерживаемые хуки среды также позволяют требовать подтверждение до выполнения действия.

Для доставки через хостинг требуется платный тариф Pushary. Вопросы и уведомления MCP работают с любым совместимым клиентом; обязательность подтверждений зависит от интеграции со средой.

Как это работает

AI Agent  ->  MCP Protocol  ->  Pushary API  ->  Push Notification  ->  Your Phone

Pushary — это MCP-сервер, который подключает вашего AI-агента для написания кода к push-уведомлениям. Агент вызывает инструменты Pushary через Model Context Protocol, а вы мгновенно получаете уведомления на любом устройстве.

Три типа вопросов — подтверждение «да/нет», выбор из нескольких вариантов и свободный текстовый ответ. Агент выбирает подходящий тип в зависимости от ситуации.

Уведомления с подробным контекстом — агент может добавить сведения об изменённых файлах, ошибках и рекомендуемых дальнейших шагах. Эти детали отображаются на отдельной странице, которую можно открыть нажатием на уведомление.

Идентификация агента — если вы запускаете несколько агентов, в каждом уведомлении указано, какой именно агент обращается к вам. Так вы всегда знаете, на какой запрос отвечаете.

Хуки разрешений — перенаправляйте запросы Claude Code на подтверждение использования инструмента в push-уведомления, чтобы разрешать или запрещать действия с телефона.


Настройка для личного использования: начните с телефона

Запустите настройку сопряжения в терминале агента:

npx pushary@latest setup

Установите Pushary на телефон, отсканируйте QR-код или откройте указанную ссылку, сравните отпечатки и подтвердите подключение. После этого настройка сконфигурирует инструменты, поддерживаемые хуки и skill для выбранного агента. Сначала копировать API-ключ не нужно. Для личных аккаунтов требуется платный тариф. Если учётные данные уже есть, они будут использованы повторно.

Проверьте настройку:

npx pushary@latest doctor

Попросите агента задать один безопасный тестовый вопрос. Убедитесь, что он приходит на нужное устройство, а ответ возвращается в ту же задачу.

Для Hermes используйте:

npx pushary@latest setup --agents hermes

Команда устанавливает нативный плагин в ~/.hermes/plugins/pushary и включает его с помощью hermes plugins enable pushary и hermes config set. После этого перезапустите Hermes командой hermes gateway restart. Плагин предоставляет инструменты для уведомлений, вопросов, ожидания, отмены, напоминаний и настройки области действия, а также инструменты для регистрации Partner и вопросов клиентов. Параметры используют snake_case; используйте skill для Hermes, а не имена параметров MCP. Нативный механизм подтверждений сохраняет сессию Hermes и постоянные разрешения.

Вырез Mac и другие способы ответить

Установите Pushary для Mac, войдите в тот же личный аккаунт и подключите агентов через приложение. Вырез поддерживает подтверждение, выбор варианта, текстовый ответ и набор вопросов, в том числе с помощью клавиатуры. Оставьте приложение запущенным, чтобы сохранялись доступность и доставка. Сначала проверьте на нём один безопасный вопрос, а затем настройте доставку на телефон на случай, если вас не будет рядом с Mac.

СпособВарианты ответа
Мобильное устройствоПодтверждение, выбор варианта и текстовый ответ в приложении. В поддерживаемых уведомлениях с запросом подтверждения можно разрешить или запретить действие с экрана блокировки; для выбора произвольного варианта и текстового ответа нужно открыть приложение.
Вырез MacВопросы для вошедшего в аккаунт пользователя, на которые можно отвечать с клавиатуры, а также вопросы клиентов Partner, если они подключили Mac через телефон.
SlackКнопки, меню выбора и текстовые диалоги — если интеграция и получатель настроены.
БраузерРезервная страница для принятия решения и уведомления браузера, если они разрешены.

Доставка зависит от ваших настроек и статуса доступности. push_first учитывает доступность, push_only каждый раз запрашивает push-уведомление, notify_only оставляет запросы на подтверждение в текущем клиенте, а terminal_only отключает push-уведомления. Сам по себе успешный вызов API не гарантирует, что запрос отобразился на устройстве.

Настройка Partner: собственные клиенты

Личное сопряжение подключает вас — оператора. Интеграции Partner регистрируют клиентов вашего приложения по отдельности через ссылку подключения с заданной областью действия и адресуют запросы на принятие решений по постоянному ID клиента. Клиенты проходят регистрацию через мобильное приложение. Не направляйте их запросы на подтверждение в личный почтовый ящик Mac и не передавайте им API-ключ оператора.

Начните с руководства по интеграции Partner, затем изучите пример агента Mastra, пример AI SDK или пример LangGraph. Инструменты позволяют выбрать подтверждение, вариант ответа или свободный текст. Подтверждение действия и предоставление ответа — разные операции: текстовый ответ «да» не даёт разрешения на выполнение другого инструмента.

Резервный вариант настройки вручную

Если клиент требует вручную настроить MCP, получите ключ в панели управления Pushary и укажите его в конфигурации:

{
  "mcpServers": {
    "pushary": {
      "url": "https://pushary.com/api/mcp/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Храните ключ в секрете. Если клиент поддерживает skills.sh, установите skill командой npx skills add Pushary/pushary-skill. При ручной настройке MCP доступны вопросы и уведомления, работающие по согласованному взаимодействию; для обязательных подтверждений нужна интеграция с поддерживаемыми хуками или средой выполнения.

Пользователи Claude Code могут вместо этого установить этот репозиторий как плагин:

/plugin marketplace add Pushary/pushary-skill
/plugin install pushary

В этом случае плагин получает PUSHARY_API_KEY из переменных окружения. Используйте только один способ установки: если установить плагин поверх хуков Claude, уже добавленных через CLI, хуки могут запускаться дважды. Перед сменой способа выполните npx pushary@latest clean.

Плагин запускает каждый хук через npx. Для хука, который передаёт на телефон предварительный просмотр ответа в реальном времени, это слишком медленно, поэтому плагин его не устанавливает. Чтобы получать предварительный просмотр в реальном времени, выполните настройку командой npx pushary@latest setup. Она устанавливает каждый хук как локальную команду.


Настройка: Lovable

Lovable — это конструктор приложений, работающий через хостинг, поэтому устанавливать его локально не нужно (npx skills add здесь не применяется). Подключите MCP-сервер через интерфейс Lovable, а затем добавьте инструкции skill в Knowledge, чтобы агент самостоятельно ими пользовался.

1. Подключите MCP-сервер. В Lovable откройте Settings -> Connectors -> Personal connectors (доступно на платных тарифах Lovable), нажмите New MCP server, укажите URL https://pushary.com/api/mcp/mcp, выберите Bearer token и вставьте API-ключ (pk_xxx.xxx).

2. Добавьте skill в Knowledge. Lovable не поддерживает установку skills через npx, поэтому вставьте инструкции skill в Settings -> Knowledge. В качестве исходного текста используйте сокращённый файл SKILL-LITE.md. Благодаря этому агент Lovable будет уведомлять вас о завершении сборки и запрашивать подтверждение перед рискованными изменениями — без необходимости каждый раз давать ему такую команду.

В Lovable доступны только уведомления и вопросы: обязательное подтверждение настроить нельзя, поскольку в этой среде нет хука разрешений. Полное руководство: инструкция для Lovable.


Настройка: Claude Chat и Cowork

Для Claude Chat или Claude Code используйте Pushary for Claude. В Chat откройте Customize > Plugins > Add > Add marketplace, добавьте https://github.com/Pushary/claude-plugin и установите Pushary for Claude. В Claude Code выполните /plugin marketplace add Pushary/claude-plugin, затем /plugin install pushary@pushary-claude-plugin.

Для Cowork доступен существующий плагин Pushary for Cowork. Добавьте https://github.com/Pushary/cowork-plugin в качестве marketplace и установите Pushary for Cowork. Cowork также поддерживает постоянные инструкции в разделе Settings > Cowork. Идентификаторы существующего плагина, marketplace и навыка pushary-cowork остаются без изменений.

Оба комплекта используют общедоступный OAuth-коннектор и один и тот же общий навык. Подключите Pushary на вкладке Connectors плагина в Chat или Cowork либо через /mcp в Claude Code и войдите в ту же учётную запись Pushary, что используете на телефоне или Mac. Для обоих комплектов не нужны CLI и API-ключ.

Если коннектор не отображается, добавьте https://pushary.com/api/mcp/mcp в разделе Customize > Connectors > Add custom connector, оставив поля OAuth Client ID и Secret пустыми. Включите Pushary в разговоре, задайте простой тестовый вопрос и убедитесь, что ответ возвращается в Claude.

Эти комплекты позволяют задавать вопросы и отправлять уведомления, но не устанавливают нативные хуки разрешений. Чтобы настроить хуки подтверждения в Claude Code, воспользуйтесь инструкциями выше. Для каждого приложения выберите только один способ установки, чтобы избежать дублирования коннекторов Pushary. Полное руководство по Claude.


Инструменты

Навык описывает следующие инструменты MCP:

ИнструментОписание
send_notificationОтправляет push-уведомление с дополнительным контекстом: изменениями файлов, ошибками и дальнейшими шагами
ask_userЗадаёт пользователю вопрос через push-уведомление: с ответом «да» или «нет», выбором из нескольких вариантов или свободным текстом
wait_for_answerОжидает ответа пользователя на вопрос, периодически проверяя его наличие
cancel_questionОтменяет ожидающий ответа вопрос, который больше не актуален
list_sessionsПредоставляет доступ только для чтения к активным сеансам агента и ожидающим ответа вопросам
propose_scopeФиксирует границы выполнения: шаблоны файлов, соблюдение которых обеспечивается на поддерживаемых хостах, или зафиксированное обещание, если в ходе выполнения файлы не изменяются

Полная документация по инструментам, включая параметры, примеры и рекомендации по использованию, доступна в файле skills/pushary/SKILL.md.

Человек в контуре

Агент может запросить у вас решение через push-уведомление и дождаться ответа:

отправляет push-уведомление на телефон

Вы: нажимаете «JWT tokens»

Агент: продолжает работу над реализацией JWT">

Agent: "Which auth strategy should I use?"
  Options: JWT tokens / Session cookies / OAuth2 + PKCE
  -> push to your phone

You: tap "JWT tokens"

Agent: proceeds with JWT implementation

Поддерживаются три типа вопросов:

  • Подтверждение — решение «да» или «нет»

  • Выбор — выбор одного из 2–6 вариантов

  • Ввод — ответ в свободной форме

Учитывайте значения answered, status и handoffAction (или nextAction) в результате работы инструмента. Проверяйте наличие ответа только по указанию инструмента. Прежде чем передать вопрос другому интерфейсу, отмените активный вопрос и учитывайте ответ, который был получен первым. Срок действия вопросов и время ожидания определяются политикой сервера. Отсутствие ответа не означает согласия, а поздний ответ не может возобновить завершённый ход агента.

Пакеты

ПакетРеестрОписание
pusharynpmCLI Pushary: настройка, хуки разрешений и диагностика. Также публикуется под именем @pushary/agent-hooks — это тот же пакет
hermes-plugin-pusharyPyPIНативный плагин Hermes Agent

Совместимые агенты

Работает с любым агентом, поддерживающим skills.sh или Model Context Protocol:

  • Claude Code (MCP + хуки разрешений)

  • Claude Cowork (пользовательский коннектор + загрузка навыка)

  • Hermes Agent (нативный плагин или MCP)

  • Cursor (MCP)

  • Windsurf (MCP)

  • Lovable (коннектор MCP + навык через Knowledge)

  • OpenAI Codex (MCP)

  • Другие клиенты, поддерживающие удалённые MCP-серверы

Публикация записи в реестре MCP

Запись server.json не публикуется при слиянии изменений. Реестр MCP хранит отдельную запись для каждой версии. Поэтому правки в этом репозитории не попадут к пользователям, пока новая версия не будет опубликована в реестре, а агенты продолжат считывать прежний текст.

Обычный порядок действий: увеличьте значение version в server.json, слейте изменения в main, а затем синхронизируйте общедоступное зеркало навыка. Его workflow релиза опубликует новую запись в реестре.

Workflow релиза публикует пакет из общедоступного репозитория Pushary, чтобы GitHub OIDC мог подтвердить право собственности на пространство имён io.github.Pushary/pushary. После релиза проверьте workflow и результат публикации в реестре.

Запасной вариант — выполнить команды вручную из этой директории:

curl -L "https://github.com/modelcontextprotocol/registry/releases/latest/download/mcp-publisher_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher
./mcp-publisher login github
./mcp-publisher publish

Проверьте, какие данные фактически отдаёт реестр: важны только они.

curl -s "https://registry.modelcontextprotocol.io/v0/servers?search=pushary"

Эта конечная точка возвращает все версии в порядке от самой старой к самой новой. Найдите запись, в которой _meta."io.modelcontextprotocol.registry/official".isLatest имеет значение true: первая строка списка соответствует самой старой записи, а не текущей версии.

Участие в разработке

Мы рады вашему участию! Перед отправкой pull request ознакомьтесь с руководством для участников.

Безопасность

Если вы обнаружили уязвимость в системе безопасности, сообщите о ней ответственным образом. Подробности приведены в файле SECURITY.md.

Финансирование

Проект полностью финансирует RalphNex OU — эстонская компания по разработке программного обеспечения.

Лицензия

MIT — Copyright (c) 2025 RalphNex OU