Skip to content

原文(日本語に翻訳)

プラグインのバックグラウンドモニターサポートを追加しました。トップレベルのmonitorsマニフェストキーにより、セッション開始時またはスキル呼び出し時に自動的にアームされます。

原文(英語)

Added background monitor support for plugins via a top-level monitors manifest key that auto-arms at session start or on skill invoke

概要

プラグインのマニフェストファイル(plugin.json)にトップレベルのmonitorsキーを追加することで、バックグラウンドモニターを宣言できるようになりました。モニターはセッション開始時またはスキル呼び出し時に自動的に起動し、イベントをリアルタイムでストリーミングし続けます。従来のバックグラウンドタスク(run_in_background)が完了時に一度だけ通知を送るのに対し、モニターは継続的にイベントを配信します。

基本的な使い方

plugin.jsonのトップレベルにmonitors配列を追加します。

json
{
  "name": "my-plugin",
  "version": "1.0.0",
  "description": "プラグインの説明",
  "monitors": [
    {
      "name": "file-watcher",
      "command": "scripts/watch-files.sh",
      "autoArm": true
    }
  ]
}

モニタースクリプトの例

bash
#!/bin/bash
# watch-files.sh
# ファイルの変更を監視してイベントを出力
while inotifywait -r -e modify,create,delete ./src 2>/dev/null; do
  echo "ソースファイルに変更が検出されました"
done

実践例

ビルドエラーをリアルタイム監視

json
{
  "monitors": [
    {
      "name": "build-monitor",
      "command": "scripts/monitor-build.sh",
      "autoArm": true,
      "description": "ビルドエラーをリアルタイムで監視"
    }
  ]
}
bash
#!/bin/bash
# monitor-build.sh: ビルドログを監視してエラーを通知
tail -f build.log | grep -E "(ERROR|WARN|FAILED)" | while read line; do
  echo "ビルドアラート: $line"
done

テスト実行状況のモニタリング

json
{
  "monitors": [
    {
      "name": "test-watcher",
      "command": "scripts/watch-tests.sh",
      "autoArm": false
    }
  ]
}

autoArm: falseの場合、スキル呼び出し時のみ起動します。

バックグラウンドタスクとの違い

機能run_in_backgroundmonitors
通知タイミング完了時に1回リアルタイムで継続
起動タイミング明示的に呼び出しセッション開始/スキル呼び出し時
用途単発の処理継続的な監視

注意点

  • monitors配列はプラグインのplugin.jsonのトップレベルに配置します
  • autoArm: trueに設定するとセッション開始時に自動的に起動します
  • モニターはセッション終了時に停止します
  • 大量のイベントを出力するモニタースクリプトはコンテキストを消費する可能性があります

関連情報