360 Secure SkillHub
360 安全技能中心

Token Usage Display

通过 Python 脚本对 OpenClaw Control UI 的前端 dist bundle 打补丁,在 WebChat 消息底部显示请求模型名与 In/Out/Cache token 及缓存命中率;运行前强制询问是否保留日期显示,支持幂等校验、pristine 重建和 node 语法检查。

分类:开发
woohahahaaa
woohahahaaa
热度 1.47
最近更新 2026-07-12 21:03:18

安装

发给 Agent
帮我安装这个技能:npx secure-skills-cli add woohahahaaa/token-usage-display
兼容性
OpenClaw 专属
联网要求
不联网
数据出网
数据不出本机
Metadata
name
token-usage-display
slug
token-usage-display
displayName
Token Usage Display
description
在 WebChat 底部显示请求模型和输入/输出/缓存 token,缓存命中率按缓存/(缓存+输入)计算。
metadata
{"openclaw":{"emoji":"🧮"}}

token-usage-display

目的

修改 OpenClaw Control UI 消息底部信息,不改消息正文:

  • 用户消息显示该次请求对应的模型名。
  • Assistant 消息显示:In<输入>|Out<输出>|Cache<缓存读取>(<命中率>)。
  • 上游明确返回 0 时显示 0;字段不存在时显示 null。
  • 不在分隔符两侧插入空格。

强制交互

每次用户要求执行本 skill 时,先问:

这次要保留日期显示吗?

用户明确回答后再运行:

cd ~/Desktop/openclaw_workspace_wooh/skills/token-usage-display
python3 scripts/patch.py --show-date yes
python3 scripts/patch.py --show-date no

格式与计算

In2430|Out856|Cache1024(29.6%)
In2430|Out856|Cachenull(null)
In100|Out0|Cache0(0.0%)
  • In:usage.input 或 usage.inputTokens。
  • Out:usage.output 或 usage.outputTokens。
  • Cache:usage.cacheRead 或 usage.cache_read_input_tokens。
  • 命中率:缓存读取 ÷ (缓存读取 + 输入 token) × 100,保留 1 位小数。
  • In、Cache 缺失,或两者之和不大于 0 时,命中率为 null。
  • 缓存写入不显示,但不能删除或破坏原始 usage 数据。

补丁与升级

脚本使用 OTUD-v3 show-date=yes|no 标记。当前系统若为 OTUD-v1、v2 或不同日期设置的 v3,必须从 .otud-pristine 重新构建,不能叠加修改。当前 v3 且日期设置相同才可返回幂等成功。

脚本必须自动从 dist/control-ui/index.html 发现 hash bundle,首次创建 pristine 和时间戳备份,精确校验锚点,用临时 .js 执行 node --check 后原子替换。异常时输出 PATCH FAIL,不得写入。

不改正文、原始 transcript 或 provider transport;只作用于 Control UI/WebChat。