mcpField
H
heartbeat-governor

heartbeat-governor

github.com/archieindianAgent 工作流7358 次安装26 周前更新
代码仓库

关于 heartbeat-governor

Heartbeat Governor 用于监控定时运行技能的累计费用、运行时长和每日运行次数,适合管理自动执行任务的预算。超出限制时,它会暂停或中止任务、记录事件并发出提醒。

主要功能

  1. 01跟踪滚动 30 天运行费用
  2. 02监控单次运行时长与每日次数
  3. 03按技能配置预算上限
  4. 04超限时暂停或中止运行
  5. 05查看状态并生成费用报告

适用场景

  1. 01限制定时技能的月度支出
  2. 02排查异常费用或长时间运行
  3. 03检查暂停原因后恢复技能

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/archieindian/openclaw-superpowers --skill heartbeat-governor

安装后在 Claude Code 中输入/heartbeat-governor确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

example-state.yaml
governor.py
STATE_SCHEMA.yaml

详细介绍

心跳预算守护器

功能

Cron 技能会自主运行。存在缺陷的技能——例如无限重试、上下文意外过大,或在循环中调用模型——可能会悄无声息地消耗数百美元,等你发现时为时已晚。

心跳预算守护器会按滚动 30 天周期跟踪每个定时技能的累计执行费用和运行时长。当技能超出预算时,守护器会暂停该技能并发送警报。在你明确审核并恢复之前,该技能不会再次触发。

守护器每小时运行一次,以便在一个 Cron 周期内发现预算超支。

何时调用

  • 每小时自动调用(cron)
  • 发现 API 账单意外飙升后手动调用
  • Cron 技能运行时间异常过长时调用

预算类型

预算类型默认值可配置
max_usd_monthly$5.00是,按技能配置
max_usd_per_run$0.50是,按技能配置
max_wall_minutes30是,按技能配置
max_runs_daily48是,按技能配置

超出预算时的操作

超支类型操作
超出 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:

  1. 从状态中加载所有技能账本
  2. 对每个 paused: false 的技能:
    • 如果 30 天滚动支出超出 max_usd_monthly → 设置 paused: true,并记录
    • 如果当天运行次数超出 max_runs_daily → 跳过并记录
  3. 输出已暂停技能和预算使用情况的摘要
  4. 保存更新后的状态

操作步骤

步骤 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。

评论

支持 Markdown