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。
