heartbeat-governor について
Heartbeat Governor は、スケジュール実行されるスキルの累積コスト、実行時間、日次実行回数を監視します。設定した上限を超えると、スキルの一時停止や実行中止、記録、通知を行います。
主な機能
- 01直近 30 日間の実行コストを追跡
- 02実行時間と日次実行回数を監視
- 03スキルごとに予算上限を設定
- 04上限超過時に一時停止または中止
- 05状態と月次支出レポートを表示
活用シーン
- 01定期実行スキルの月間支出を制限
- 02予期しない請求や長時間実行を調査
- 03一時停止の理由を確認してスキルを再開
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ archieindian/ openclaw-superpowers --skill heartbeat-governorインストール後、Claude Code で/heartbeat-governorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
example-state.yamlgovernor.pySTATE_SCHEMA.yaml詳細
ハートビートガバナー
機能
Cron スキルは自律的に実行されます。無限リトライ、予想外に大きなコンテキスト、ループ内のモデル呼び出しなどのバグがあるスキルは、気付かないうちに数百ドルを消費する可能性があります。
ハートビートガバナーは、スケジュールされたスキルごとに、累積実行コストと実行時間をローリング30日間で追跡します。スキルが予算を超えると、ガバナーはそのスキルを一時停止し、アラートを送信します。明示的に確認して再開するまで、そのスキルは再度実行されません。
予算超過を1回の cron サイクル内に検出できるよう、毎時実行されます。
呼び出すタイミング
- 毎時、自動的に(cron)
- API の請求額が予想外に急増したことに気付いたときに、手動で
- cron スキルの実行時間が異常に長いとき
予算の種類
| 予算の種類 | デフォルト | 設定可能 |
|---|---|---|
max_usd_monthly | $5.00 | はい、スキルごと |
max_usd_per_run | $0.50 | はい、スキルごと |
max_wall_minutes | 30 | はい、スキルごと |
max_runs_daily | 48 | はい、スキルごと |
予算超過時のアクション
| 超過の種類 | アクション |
|---|---|
monthly_usd 超過 | スキルを一時停止し、超過を記録してアラートを送信 |
per_run_usd 超過 | 現在の実行を中止し、超過を記録 |
wall_clock 超過 | 現在の実行を中止し、超過を記録 |
daily_runs 超過 | 本日の残りの実行をスキップして記録 |
使用方法
python3 governor.py --status # Show all skills and budget utilisation
python3 governor.py --record <skill> --usd 0.12 --minutes 4 # Record a run
python3 governor.py --pause <skill> # Manually pause a skill
python3 governor.py --resume <skill> # Resume a paused skill after review
python3 governor.py --set-budget <skill> --monthly 10.00 # Override budget
python3 governor.py --check # Run hourly check (called by cron)
python3 governor.py --report # Full monthly spend report
python3 governor.py --format json
Cron のウェイクアップ動作
毎時、ガバナーが --check を実行します。
- state からすべてのスキルの台帳を読み込む
paused: falseの各スキルについて、以下を確認します。- ローリング30日間の支出が
max_usd_monthlyを超えている場合 →paused: trueにして記録 - 本日の実行回数が
max_runs_dailyを超えている場合 → スキップして記録
- ローリング30日間の支出が
- 一時停止中のスキルと予算使用率の概要を出力
- 更新した state を保存
手順
ステップ 1 — 適切な予算を設定する
新しい cron スキルをインストールしたら、月間予算を設定します。
python3 governor.py --set-budget daily-review --monthly 2.00
python3 governor.py --set-budget morning-briefing --monthly 3.00
デフォルトは控えめな金額($5/月)ですが、明示的に設定することをおすすめします。
ステップ 2 — 使用率を監視する
python3 governor.py --status
使用率の列を確認します。月間予算の80%を超えているスキルは、調査する必要があります。
ステップ 3 — 一時停止アラートに対応する
ガバナーがスキルを一時停止したら、予算を超えた原因を調査します。
- 一時的にコストの高い実行(大きなコンテキスト)があったのでしょうか?
- 高コストの呼び出しを繰り返すバグがあるのでしょうか?
- 単に予算を引き上げる必要があるのでしょうか?
調査後に再開します。
python3 governor.py --resume <skill>
状態
スキルごとの台帳と一時停止フラグは ~/.openclaw/skill-state/heartbeat-governor/state.yaml に保存されます。
フィールド:skill_ledgers マップ、paused_skills リスト、breach_log、monthly_summary。