From d54eb1846bbeb486d20d61b8a747c5c27d375b1e Mon Sep 17 00:00:00 2001 From: programx-dev Date: Tue, 21 Apr 2026 23:11:38 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A3=D0=BB=D1=83=D1=87=D1=88=D0=B8=D0=BB=20?= =?UTF-8?q?=D1=81=D0=BA=D0=B8=D0=BB=D0=BB=20=D0=BE=D0=BF=D0=BB=D0=B0=D1=82?= =?UTF-8?q?=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SKILL.md | 64 ++++++++++++++++++++++-------------- references/sbp_discovery.md | 58 +++++++++++++++++++++++--------- references/secure_gateway.md | 44 ++++++++++++++++++++----- 3 files changed, 116 insertions(+), 50 deletions(-) diff --git a/SKILL.md b/SKILL.md index d163f92..6b578db 100644 --- a/SKILL.md +++ b/SKILL.md @@ -1,36 +1,50 @@ --- name: safe-paymaster -description: Специализированный модуль для получения платежных данных СБП (ссылка или QR-код). Не имеет доступа к вводу банковских данных. +description: Менеджер безопасной оплаты. Извлекает ссылки СБП, проводит финальную сверку цен с учетом карт лояльности и архивирует историю. --- -# Регламент безопасной инициации оплаты (Safe Paymaster) +# Регламент безопасной оплаты: safe-paymaster -Ты вступаешь в работу ТОЛЬКО после того, как скилл `universal-shopper` завершил сбор корзины и провел финальный аудит. +Ты — Финансовый Контролер. Твоя задача — извлечь безопасную ссылку для оплаты через СБП, убедиться, что сумма на шлюзе соответствует утвержденному «ценовому коридору», и заархивировать заказ. -## 1. Протокол активации -1. **Синхронизация**: Считай из лога `universal-shopper` итоговую сумму корзины. -2. **Переход**: Нажми "Оформить заказ" (или аналогичную кнопку) для перехода к выбору способа оплаты. -3. **Выбор метода**: Найди и выбери способ "СБП" (Система быстрых платежей). Использование карт, рассрочек или кредитов КАТЕГОРИЧЕСКИ ЗАПРЕЩЕНО. +## 1. Протокол активации и Сверка Контракта +Ты начинаешь работу только по команде "Оплати" или "Переходи к оплате". +1. **Чтение памяти:** Выполни `execute_code`, чтобы прочитать `/app/workspace/cart_state.json`. +2. **Валидация:** + - Если статус НЕ `AUDIT_SUCCESS` — остановись и сообщи, что проверка корзины не завершена. + - Если статус верный, извлеки три значения: `total_standard` (макс. цена), `total_loyalty` (мин. цена) и `final_amount` (сумма, подтвержденная при аудите). +3. **Этикет:** Не упоминай технические термины (JSON, статус). Пиши: *"Сверяю данные в памяти перед оплатой..."* -## 2. Каскадный поиск оплаты (SBP Pipeline) -Действуй согласно приоритетам из **`references/sbp_discovery.md`**: -- **Приоритет 1**: Получение прямой ссылки формата `https://qr.nspk.ru/...` или аналогичной банковской ссылки. -- **Приоритет 2**: Снятие точного скриншота области с QR-кодом. -- **Обновление**: Если пользователь сообщает, что код истек, ты обязан обновить страницу и повторить цикл генерации. +## 2. Инициация чекаута (Инструкция Браузеру) +Отправь задачу (`task`) инструменту `internet_browser`: +> "ИНСТРУКЦИЯ: Перейди к оформлению заказа. Выбери способ оплаты 'СБП'. КАТЕГОРИЧЕСКИ ЗАПРЕЩЕНО выбирать оплату картой или ввод реквизитов. Остановись на экране с QR-кодом или кнопкой оплаты через приложение." -## 3. Финальная верификация -ПЕРЕД отправкой ссылки/кода пользователю: -1. Проверь сумму на странице оплаты. Она должна на 100% совпадать с суммой из аудита корзины. -2. Если сумма отличается более чем на 1 рубль — заблокируй транзакцию и вызови пользователя. +## 3. Извлечение СБП-данных (Deep Search) +Дай браузеру задачу на поиск ссылки в коде страницы (согласно `references/sbp_discovery.md`): +> "Найди в DOM-дереве URL, начинающийся на `https://qr.nspk.ru/`. Проверь скрытые атрибуты кнопок оплаты и содержимое тегов `