原文(日本語に翻訳)
プラグインのバックグラウンドモニターサポートを追加しました。トップレベルの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_background | monitors |
|---|---|---|
| 通知タイミング | 完了時に1回 | リアルタイムで継続 |
| 起動タイミング | 明示的に呼び出し | セッション開始/スキル呼び出し時 |
| 用途 | 単発の処理 | 継続的な監視 |
注意点
monitors配列はプラグインのplugin.jsonのトップレベルに配置しますautoArm: trueに設定するとセッション開始時に自動的に起動します- モニターはセッション終了時に停止します
- 大量のイベントを出力するモニタースクリプトはコンテキストを消費する可能性があります