OpenClaw Token Waste Audit — OpenClaw 令牌 Waste 审计
v1.5.0Find recurring OpenClaw jobs that may be wasting 令牌s. Read-only by default. Gives evidence and a copy-paste 代理 prompt for safe manual verification.
运行时依赖
安装命令
点击复制技能文档
OpenClaw 令牌浪费审计 找到可能浪费令牌的重复 OpenClaw cron / 代理作业。 触发 使用此功能,当用户询问: "帮我查 waste" "帮我查 OpenClaw 里面哪些 job 在浪费 token" "which OpenClaw jobs are wasting tokens?" "which cron jobs are burning money?" "any recurring job waste?" 不要使用此功能进行一般 OpenClaw 设置、网关调试、提供者配置或作业管理。 安全 默认为只读。永远不要自动执行变更命令。 不要自动编辑、禁用、删除或变更作业。 不要显示变更命令,除非用户明确要求。 不要暴露秘密、令牌、私有有效载荷、Telegram ID 或原始日志。 审计步骤 运行此组合分析: python3 -c " 导入 json、glob、os、statistics 作为 s 使用 open(os.path.expanduser('~/.openclaw/cron/jobs.json')) 作为 f: 数据 = json.load(f) 作业 = 数据['jobs'] 作业映射 = {j['id']: j for j in 作业} 运行目录 = os.path.join(os.environ.get('OPENCLAW_HOME', os.path.expanduser('~/.openclaw')), 'cron', 'runs') 结果 = [] 对于 f in sorted(glob.glob(f'{运行目录}/.jsonl')): jid = os.path.basename(f).replace('.jsonl','') 总计 = 0; 计数 = 0; 错误 = 0; 交付 = 0; 摘要长度 = [] 使用 open(f) 作为 fh: 对于行 in fh: 尝试: d = json.loads(行) 总计 += d.get('usage',{}).get('total_tokens',0) 计数 += 1 如果 d.get('error'): 错误 += 1 如果 d.get('delivered'): 交付 += 1 摘要长度.append(len(str(d.get('summary','') or ''))) 除非: 传递 如果计数 > 0 且 jid in 作业映射: j = 作业映射[jid] sched = j.get('schedule',{}) 模型 = j.get('payload',{}).get('model','') 频率 = sched.get('everyMs','') 或 f'cron: {sched.get(\"expr\",\"\")}' 中位数 = sorted(摘要长度)[len(摘要长度)//2] 如果 摘要长度 否则 0 错误率 = 错误/计数100 结果.append({'name': j.get('name',''), 'schedule': 频率, 'model': 模型, 'count': 计数, 'tokens': 总计, 'errors': 错误率, 'delivered': 交付, 'summary_median': 中位数}) 结果.sort(key=lambda x: x['tokens'], reverse=True) 对于 r in 结果[:10]: 打印(f\"{r['name']} | {r['schedule']} | model={r['model']} | runs={r['count']} tokens={r['tokens']:,} errors={r['errors']:.0f}% delivered={r['delivered']} summary_med={r['summary_median']}\") " 关键事实: usage.total_tokens = JSONL 运行中的真实令牌字段(顶级 totalTokens 始终为 0) 摘要 = 持久字段在运行日志模式中;响应不在 cron 运行 JSONL 中 作业.json 是 {"version": 1, "jobs": [...]} —— 访问 .jobs 首先 输出格式 始终以此确切格式回答:
- 最大浪费发现
- 要做的第一件事
- 将此提示复制到您的代理
- 这是真实浪费,
- 什么原因导致了它,
- 最安全的手动下一步,
- 在更改任何内容之前应该检查什么证据。