XMPP Debugger
xmpp-debugger-skill
Скилл с минимальными Python-скриптами для отладки XMPP-ботов: подключиться, отправить сообщение и дождаться ответа
Установка
Используй скрипты из https://github.com/maxeetig/xmpp-debugger-skill: пароль возьми из XMPP_PASSWORD, отправь сообщение через scripts/send_message.py и слушай ответ через scripts/listen_messages.py.Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Скилл дает агенту два скрипта: send_message.py входит в аккаунт и отправляет одно сообщение, listen_messages.py слушает входящие сообщения от нужного контакта до таймаута. Общая логика клиента лежит в xmpp_client.py и использует только стандартную библиотеку Python. Пароль берется из переменной XMPP_PASSWORD, JID отправителя и получателя передаются явно при запуске.
Для кого. Разработчикам и тестировщикам чат-ботов, работающих по протоколу XMPP.
Подходит, если
- Нужно проверить, как XMPP-бот отвечает на конкретное сообщение
- Нужно посмотреть сырой XML обмена с сервером через --debug
- Агент дорабатывает бота и должен сам проверять результат
Не подходит, если
- Нужен полноценный XMPP-клиент с группами, файлами и историей
- Мессенджер работает не на XMPP
Пример запроса к агенту
Отправь боту bot@example.com сообщение ping от user@example.com и покажи, что он ответит за 20 секундОграничения
Поддерживается только отправка одного сообщения и прослушивание входящих. Нужен доступ к XMPP-серверу и действующий аккаунт. Если хост отличается от домена JID, его нужно указать через --host.
Как отключить. Удалите папку скилла из каталога скиллов агента и очистите переменную XMPP_PASSWORD.
Проверка безопасности
- Использует пароль XMPP-аккаунта из окружения
- Выполняет сетевые подключения к серверу
Коротко о README
Репозиторий содержит минимальные Python-скрипты для отладки XMPP: подключение, отправку сообщения и прослушивание ответов. В коде нет реальных JID и адресов серверов, учетные данные читаются только из переменных окружения. Нужны Python 3.10+ и доступ к XMPP-серверу. README перечисляет скрипты и дополнительные флаги.
SKILL.md
--- name: xmpp-debugger description: Send and receive XMPP chat messages for bot debugging and manual protocol checks. Use when Codex needs to talk to an XMPP contact, inspect replies, and verify chatbot behavior over XMPP. --- # Xmpp Debugger ## Overview Use the bundled scripts to authenticate with your configured account, send a chat message, and wait for incoming replies from a bot or another contact. Prefer the scripts over handwritten socket code so the login and stanza flow stay consistent. ## Workflow 1. Export the password without writing it to disk: ```bash export XMPP_PASSWORD='...' ``` 2. Send a message to the bot or another contact: ```bash python3 scripts/send_message.py \ --jid user@example.com \ --to bot@example.com \ --body 'hello from codex' ``` 3. Listen for replies: ```bash python3 scripts/listen_messages.py \ --jid user@example.com \ --filter-from bot@example.com \ --timeout 30 ``` 4. If the server uses a different host than the JID domain, read [xmpp-notes.md](references/xmpp-notes.md) and pass `--host`. ## Defaults - Sender JID: required (`--jid`) - Peer JID: required for send (`--to`) and optional filter for listen (`--filter-from`) - Password source: `XMPP_PASSWORD` - Default port: `5222` - Default resource: `codex` Override these values with flags only when the environment differs from the standard setup. ## Scripts - `scripts/send_message.py`: Log in, bind a resource, send one chat message, and exit. - `scripts/listen_messages.py`: Log in, announce presence, and print matching incoming chat messages until timeout. - `scripts/xmpp_client.py`: Shared minimal XMPP client implementation. ## Operating Rules - Keep credentials in environment variables, not in prompts or files. - Use the send script for deterministic outbound tests instead of composing raw XML by hand. - Use the listen script when you need the bot's exact reply text and sender JID.
Частые вопросы
Какие порт и ресурс используются по умолчанию?
Порт 5222 и ресурс codex. Для прямого TLS вместо STARTTLS есть флаг --direct-tls.
Похожие
Открытый ИИ-агент для ревью pull request: описание, замечания и предложения по улучшению в GitHub, GitLab и других
Скилл, с которым агент пишет и запускает скрипты Playwright: тесты страниц, формы, скриншоты, проверки ссылок