OpenPR-Webhook
OpenPR-Webhook — это сервис диспетчеризации webhook-событий для OpenPR. Он получает webhook-события от платформы OpenPR, фильтрует их на основе bot-контекста и маршрутизирует к одному или нескольким настроенным агентам для обработки.
Что это делает
Когда в OpenPR происходит событие (например, создаётся или обновляется задача), платформа отправляет POST-запрос webhook к этому сервису. OpenPR-Webhook затем:
- Верифицирует запрос с помощью HMAC-SHA256 валидации подписи
- Фильтрует события — обрабатываются только события с
bot_context.is_bot_task = true - Маршрутизирует к агентам — сопоставляет событие с настроенным агентом по имени или типу
- Диспетчеризует — выполняет действие агента (отправить сообщение, вызвать CLI-инструмент, переслать на другой webhook и т.д.)
Обзор архитектуры
Платформа OpenPR
|
| POST /webhook (HMAC-SHA256 signed)
v
+-------------------+
| openpr-webhook |
| |
| Verify signature |
| Event filter |
| Agent matching |
+-------------------+
| | |
v v v
openclaw webhook cli agent
(Signal/ (HTTP (codex /
Telegram) forward) claude-code)Ключевые возможности
- HMAC-SHA256 верификация подписи входящих webhook-запросов с поддержкой ротации нескольких секретов
- Фильтрация bot-задач — молча игнорирует события, не предназначенные для ботов
- 5 типов агентов/исполнителей — openclaw, openprx, webhook, custom, cli
- Шаблоны сообщений с переменными-заполнителями для гибкого форматирования уведомлений
- Переходы состояний — автоматически обновляет состояние задачи при запуске, успехе или ошибке
- WSS Туннель (Phase B) — активное WebSocket-соединение с управляющим сервером для диспетчеризации задач по push-модели
- MCP closed-loop автоматизация — AI-агенты читают полный контекст задачи и записывают результаты обратно через инструменты OpenPR MCP
- Переменные окружения для каждого агента — внедрение
OPENPR_BOT_TOKEN,OPENPR_API_URLи т.д. для каждого агента отдельно - Безопасные настройки по умолчанию — опасные функции (туннель, cli, callback) выключены по умолчанию и защищены флагами функций и безопасным режимом
Поддерживаемые типы агентов
| Тип | Назначение | Протокол |
|---|---|---|
openclaw | Отправка уведомлений через Signal/Telegram с помощью OpenClaw CLI | Shell-команда |
openprx | Отправка сообщений через Signal API или CLI OpenPRX | HTTP API / Shell |
webhook | Пересылка полного payload события на HTTP-эндпоинт | HTTP POST |
custom | Выполнение произвольной shell-команды с сообщением в качестве аргумента | Shell-команда |
cli | Запуск AI-кодирующего агента (codex, claude-code, opencode) по задаче | Subprocess |
Быстрые ссылки
- Установка
- Быстрый старт
- Типы агентов
- Справочник исполнителей
- WSS-туннель
- Справочник конфигурации
- Устранение неполадок
Репозиторий
Исходный код: github.com/openprx/openpr-webhook
Лицензия: MIT OR Apache-2.0