Skip to content

About

A skill to use Pingvito bot for notifications from your AI assistant

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

Repository files navigation

Аватар Pingvito

Pingvito

Навык для AI-ассистента, который отправляет уведомления о завершении долгой работы и задаёт вопросы с кнопками в MAX. Сообщения приходят в ваш чат с ботом Pingvito.

Навык называется pingvito. Он использует сервис pingvito.ru и требует Python 3.9+; дополнительных Python-пакетов нет. APM нужен только для установки. После установки помощники работают самостоятельно.

Установка через APM

В каталоге проекта выполните:

apm install 40ants/pingvito-skill --target codex

Для Claude Code замените --target codex на --target claude. Навык устанавливается в .agents/skills/pingvito/. Для установки на уровне пользователя:

apm install 40ants/pingvito-skill --target codex --global

Если репозиторий приватный, используйте учётную запись GitHub с доступом к нему. При настроенном SSH-доступе добавьте --ssh к команде установки. Формат пакета описан в документации APM.

Установка без APM

AI-ассистент может выполнить эти шаги сам. Сначала склонируйте репозиторий:

git clone https://github.com/40ants/pingvito-skill.git "$HOME/projects/lisp/pingvito-skill"

Для приватного репозитория с SSH-доступом:

git clone git@github.com:40ants/pingvito-skill.git "$HOME/projects/lisp/pingvito-skill"

Если клон уже существует, используйте его и обновите через git pull --ff-only. Для установки в Codex на уровне пользователя скопируйте папку навыка:

repo_dir="$HOME/projects/lisp/pingvito-skill"
skill_dir="${CODEX_HOME:-$HOME/.codex}/skills/pingvito"
mkdir -p "$(dirname "$skill_dir")"
cp -R "$repo_dir/.apm/skills/pingvito" "$skill_dir"

Этот пример предполагает, что skill_dir ещё не существует. При повторной установке обновите содержимое существующей папки, сохранив пользовательские изменения; не копируйте новую папку внутрь старой. Вместо копирования можно создать символическую ссылку на .apm/skills/pingvito, чтобы обновлять навык через Git.

Для Claude Code пользовательская папка — ~/.claude/skills/pingvito. Для установки только в текущем проекте используйте .agents/skills/pingvito. После установки перезапустите сессию ассистента, чтобы он обнаружил новый навык. Если ваша среда не обнаруживает навыки автоматически, укажите ассистенту путь к установленному SKILL.md и попросите прочитать его.

Подключение к боту

  1. Откройте бота в MAX и нажмите «Начать».

  2. Отправьте /token и сохраните выданный персональный токен.

  3. Запустите кодовый ассистент, и попросите его: "Покажи как настроить pingvito?"

  4. Он покажет команду для сохранени токена, что-то вроде такой (зависит от агента и места установки скилла)

    skill_dir="$PWD/.agents/skills/pingvito"
    python3 "$skill_dir/scripts/configure.py" --host https://pingvito.ru/api

    ВАЖНО: не вставляйте токен в чат с агентом, команду надо выполнять в отдельном терминале.

  5. Введите токен в скрытом приглашении Pingvito token:. При настройке через AI-ассистента он должен передать токен через ввод терминала после появления приглашения; токен не должен попадать в команду или её аргументы.

Конфиг хранится отдельно в ~/.config/pingvito/config.json с правами 0600.

Чтобы сменить токен, запросите новый через бота и повторите вызов configure.py. Новый токен, выданный ботом, отзывает предыдущий.

Инструкция для AI-ассистента

Когда пользователь просит установить Pingvito:

  1. Проверьте наличие Python 3.9+ и выберите APM либо ручную установку выше.
  2. Определите папку, из которой ваша среда загружает навыки, и установите туда содержимое .apm/skills/pingvito. Прочитайте установленный SKILL.md.
  3. Попросите пользователя открыть бота, отправить /token и предоставить токен через скрытый терминальный ввод. Если пользователь уже дал токен в чате, используйте ввод терминала, не аргументы команды.
  4. Запустите configure.py --host https://pingvito.ru/api. Не читайте и не печатайте содержимое рабочего конфига; помощник обрабатывает его самостоятельно.
  5. Сообщите о завершении настройки. Отправляйте проверочное сообщение, только если пользователь попросил его. Если навыки кэшируются, предложите новую сессию.

Использование

В примерах skill_dir — папка установленного навыка, содержащая SKILL.md.

# Уведомление
python3 "$skill_dir/scripts/notify.py" 'Готово: изменения проверены и опубликованы.'

# Вопрос с кнопками
python3 "$skill_dir/scripts/notify.py" ask 'Развернуть изменения?' 'Развернуть' 'Отложить'

# Прочитать ответ на последний вопрос
python3 "$skill_dir/scripts/notify.py" get-response

Навык отправляет одно уведомление после операции длительностью от пяти минут и умеет спрашивать пользователя о необходимом решении. get-response печатает выбранный вариант и завершается с кодом 0; код 2 означает, что ответ ещё не получен; код 1 — ошибка. Ожидание ответа не означает согласия. На один токен хранится последний вопрос, поэтому вопросы с одним токеном следует задавать последовательно.

При 404 проверьте, что токен выдан этим ботом и не отозван. Для управляемого вами другого сервера укажите его базовый URL через configure.py --host URL.

Проверка разработки

python3 -m unittest discover -s tests -v

Тесты используют временные конфиги и локальный HTTP-сервер. Они не отправляют сообщения в MAX. Требования и результаты проверки находятся в specs/.

About

A skill to use Pingvito bot for notifications from your AI assistant

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages