Skip to content
このページは AI の支援により作成・翻訳されました。誤りがあれば、改善にご協力ください。 GitHub で編集

OpenPR-Webhook

OpenPR-WebhookはOpenPR向けのWebhookイベントディスパッチャーサービスです。OpenPRプラットフォームからWebhookイベントを受信し、ボットコンテキストに基づいてフィルタリングし、処理のために1つ以上の設定可能なエージェントにルーティングします。

機能概要

OpenPRでイベントが発生すると(例:イシューが作成または更新された)、プラットフォームはこのサービスにWebhookのPOSTリクエストを送信します。OpenPR-Webhookは以下を実行します:

  1. リクエストを検証 -- HMAC-SHA256署名検証を使用
  2. イベントをフィルタリング -- bot_context.is_bot_task = trueのイベントのみが処理される
  3. エージェントにルーティング -- 名前またはタイプで設定済みエージェントにイベントをマッチング
  4. ディスパッチ -- エージェントのアクションを実行(メッセージ送信、CLIツール呼び出し、別のWebhookへの転送など)

アーキテクチャ概要

OpenPRプラットフォーム
    |
    | POST /webhook (HMAC-SHA256 署名済み)
    v
+-------------------+
| openpr-webhook    |
|                   |
| 署名検証           |
| イベントフィルタ    |
| エージェントマッチ  |
+-------------------+
    |           |           |
    v           v           v
 openclaw    webhook     cli agent
 (Signal/    (HTTP       (codex /
  Telegram)  forward)    claude-code)

主要機能

  • HMAC-SHA256署名検証 -- マルチシークレットローテーションサポート付き
  • ボットタスクフィルタリング -- ボット向けでないイベントをサイレントに無視
  • 5種類のエージェント/エグゼキュータタイプ -- openclaw、openprx、webhook、custom、cli
  • メッセージテンプレート -- 柔軟な通知フォーマットのプレースホルダー変数
  • 状態遷移 -- タスク開始、成功、失敗時にイシュー状態を自動更新
  • WSSトンネル(フェーズB) -- プッシュベースのタスクディスパッチのためのコントロールプレーンへのアクティブなWebSocket接続
  • MCP クローズドループ自動化 -- AIエージェントがイシューのフルコンテキストを読み取り、OpenPR MCPツールを通じて結果を書き戻す
  • エージェントごとの環境変数 -- エージェントごとにOPENPR_BOT_TOKENOPENPR_API_URLなどを注入
  • 安全ファースト設計 -- 危険な機能(トンネル、cli、コールバック)はデフォルトでオフ、フィーチャーフラグとセーフモードで制御

サポートされるエージェントタイプ

タイプ目的プロトコル
openclawOpenClaw CLIを通じてSignal/Telegramで通知を送信シェルコマンド
openprxOpenPRX Signal APIまたはCLIでメッセージを送信HTTP API / Shell
webhook完全なイベントペイロードをHTTPエンドポイントに転送HTTP POST
customメッセージを引数として任意のシェルコマンドを実行シェルコマンド
cliイシューに対してAIコーディングエージェント(codex、claude-code、opencode)を実行サブプロセス

クイックリンク

リポジトリ

ソースコード:github.com/openprx/openpr-webhook

ライセンス:MIT OR Apache-2.0

Released under the Apache-2.0 License.