核心用法
Revenium 技能为 AI 代理提供强制性预算管控机制,通过本地状态文件与 Revenium 云服务联动,实现 token 消耗的实时监控与熔断保护。
工作流程:
1. 前置检查:每次响应、工具调用或任何操作前,强制读取 ~/.openclaw/skills/revenium/budget-status.json
2. 熔断判定:若 halted: true,立即终止全部操作并输出固定停机消息;若 exceeded: true 且处于交互模式,征询用户确认
3. 静默通行:预算正常时无感执行,不打扰用户
4. 后台同步:每分钟 cron 任务更新本地状态,避免直接 API 调用
配置管理:
- 支持 DAILY/WEEKLY/MONTHLY/QUARTERLY 四种预算周期
- 可选 自主模式(autonomousMode):超限即停机并推送 Slack/Discord/Telegram/WhatsApp/Signal/Teams 等渠道告警
- 预算重置功能:零化累计消耗,保留原有阈值设置
显著优点
| 特性 | 说明 |
|------|------|
| **零容忍熔断** | `halted` 状态为最高优先级,任何情况下不得绕过,防止意外超支 |
| **多通道告警** | 覆盖 9 种主流 IM 平台,支持用户/频道/群组定向通知 |
| **无感体验** | 预算正常时完全静默,不增加交互负担 |
| **沙箱安全** | 通过只读 bind mount 读取宿主机凭证,CLI 写操作外置,避免敏感信息泄露 |
| **原子化配置** | 只有全部步骤成功后才写入 `alertId`,失败即回滚,杜绝半配置状态 |
潜在缺点与局限性
1. 单点依赖:budget-status.json 由外部 cron 维护,若 cron 未安装或崩溃,技能进入"谨慎继续"的降级模式,失去硬性保护
2. 网络依赖:Revenium API 不可达时无法验证真实预算状态,仅能做本地缓存判断
3. 宿主机耦合:必须在宿主机预先配置 API Key/Team ID/Tenant ID/Owner ID,沙箱内无法直接持久化凭证
4. 交互摩擦:非自主模式下每次超预算都需用户确认,可能打断自动化工作流
5. 时延窗口:分钟级 cron 同步意味着存在 60 秒内的预算透支盲区
适合人群
- 企业 AI 运维团队:需要对多代理集群进行统一成本管控
- 成本敏感型开发者:按项目/客户设置硬预算上限,防止测试环境意外超支
- 自主代理运营者:无人值守场景下依赖自动熔断与多渠道告警兜底
常规风险
| 风险场景 | 后果 | 缓解措施 |
|----------|------|----------|
| 误删 `budget-status.json` | 预算监控失效 | cron 自动重建,但存在检测真空期 |
| 手动修改 `config.json` 中的 `alertId` | 关联错误预算规则 | 技能强制校验 alert 存在性,异常时进入重新配置流程 |
| 自主模式下网络抖动 | 可能误判为预算充足继续执行 | 网络错误时明确告警并建议暂停操作 |
| 多代理共享同一 `alertId` | 预算消耗统计混乱 | 按代理实例隔离 alert 配置 |
技术实现亮点
- 防御性编程:路径解析区分文件操作(
~/)与 shell 执行($HOME/),避免 tilde 扩展不一致导致的竞态 - 配置继承:
config.json采用 merge 策略,保留 post-install 注入的_comment等元数据 - 幂等设计:重复运行 setup 或 install-cron 无副作用,适合 CI/CD 场景 |
安装要求
# 依赖组件 brew install revenium/tap/revenium jq # 宿主机凭证配置(沙箱外执行) revenium config set key <API_KEY> revenium config set team-id <TEAM_ID> revenium config set tenant-id <TENANT_ID> revenium config set owner-id <USER_ID>