mcpField
S
stay-within-limits

stay-within-limits

github.com/builderioAgent 工作流4.6k325 次安装1 天前更新
代码仓库

关于 stay-within-limits

stay-within-limits 是用于控制 Agent 长时间工作的技能,帮助任务保持在 5 小时和每周用量窗口内。它规定暂停阈值、并行工作节奏及安全恢复流程。

主要功能

  1. 01检查 5 小时与每周用量
  2. 02达到 95% 阈值时暂停
  3. 03限制并行工作波次
  4. 04恢复前重新检查用量
  5. 05提供完整的恢复指引

适用场景

  1. 01管理持续时间较长的 Agent 任务
  2. 02接近用量上限时暂停工作
  3. 03用量窗口清空后恢复工作

安装

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

$npx skills add https://github.com/builderio/skills --skill stay-within-limits

安装后在 Claude Code 中输入/stay-within-limits确认已加载。

附带文件README.md

详细介绍

保持在限额内

让长时间运行的 Agent 工作保持在当前 5 小时和每周用量窗口内。 启动大量工作前以及并行子 Agent 的每一轮工作之间,都要检查用量。如果当前 5 小时或每周限额达到或超过 95%,请暂停新工作,直到窗口清空到足以安全继续。

核心循环

  1. 执行一轮有界工作。默认最多并行运行 3 个子 Agent,除非用户或宿主设置了不同的并发上限。
  2. 等待这一轮完成。不要仅仅为了节省预算而中断正在运行的子 Agent;那通常会导致工作白费。
  3. 使用宿主的用量/预算工具检查当前 5 小时和每周用量。
  4. 如果任一窗口达到或超过 95%,请停止启动新工作,并安排在相关窗口预计清空后继续一项独立完整的任务。
  5. 恢复时,继续前重新检查实际窗口或限额状态。不要仅凭经过的实际时间作判断。

用量信号

如有可用的第一方宿主用量工具,请优先使用。在 Claude Code 中,使用:

npx -y ccusage@latest blocks --active --json

使用 JSON 确定当前区块的开始时间、当前费用或百分比,以及剩余时间。唤醒时,将当前区块的开始时间戳与上一个进行比较;出现新时间戳比“已经过了足够长时间”更能说明问题。

如果工具报告的是费用而非直接百分比,请在已知当前账户限额时换算。对于 Claude Max 风格的 5 小时区块,有些用户倾向于在 $500-550 左右提前谨慎处理;这应视为用户配置的防护线,而非通用规则。默认停止规则仍是达到当前 5 小时或每周限额的 95%。

暂停与恢复

如果有唤醒/恢复工具,请安排在以下时间唤醒:

min(3600, secondsUntilWindowClears)

如果运行时将唤醒延迟限制在 60-3600 秒,请通过连续安排多次唤醒来覆盖更长的等待时间。每次唤醒都应重新检查用量;如果仍超出预算,则重新安排;只有当窗口安全低于阈值时才继续。

唤醒提示词应自成一体。请包含:

  • 剩余计划。
  • 先检查、再重新安排的规则。
  • 95% 阈值和每轮并发上限。
  • 要运行的确切用量命令或宿主用量工具。
  • 可用时,记录上一个区块/窗口标识符。
  • 接下来的验证步骤。
  • 如需恢复委派工作,则包含下一轮的交接信息,包括范围、验证命令和停止条件。

选择等待机制

  • 当 Agent 需要将指令附加到未来的恢复任务时,使用唤醒/恢复工具。
  • 对于固定计时器以及进程可直接监测的事项,使用后台休眠或监视程序。
  • 仅对需要启动新会话的定期工作使用 cron 或周期性计划。

避免对宿主会主动通知的事项进行短间隔轮询,例如后台任务或子 Agent 完成。预算暂停期间,长时间休眠后未命中提示词缓存可以接受;保护限额更重要。

汇报

如果暂停,请告知用户哪个窗口已超过阈值、观察到的用量、安排或预计的下次检查时间,以及剩余工作。唤醒提示词中应保留足够的状态信息,以便下一轮无需依赖对话上下文即可继续。

评论

支持 Markdown