← 返回
数据分析

Token Stats

统计 OpenClaw 的 token 用量。扫描所有 session JSONL 文件,输出 prompt/cache/output token 明细。Use when: user asks about token usage, cost, consumption, how many tokens were u...
统计 OpenClaw 的 token 用量。扫描所有 session JSONL 文件,输出 prompt/cache/output token 明细。Use when: user asks about token usage, cost, consumption, how many tokens were u...
asauler
数据分析 clawhub v1.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 499
下载
💾 7
安装
1
版本
#latest

概述

Token Stats

统计 OpenClaw 全部会话的 token 用量,基于 session JSONL 文件的原始数据。

When to Use

USE this skill when:

  • "用了多少 token?"
  • "统计一下 token 消耗"
  • "看看用量" / "token 用量"
  • "每天消耗多少?"
  • "哪个会话最费 token?"
  • "缓存命中率怎么样?"

Quick Start

# 基础统计(仅全局汇总)
python3 {baseDir}/scripts/token_stats.py

# 包含已删除会话(完整历史)
python3 {baseDir}/scripts/token_stats.py --include-deleted

# 每日明细
python3 {baseDir}/scripts/token_stats.py --daily

# 每日明细 + 会话排名
python3 {baseDir}/scripts/token_stats.py --daily --sessions

# 指定日期范围
python3 {baseDir}/scripts/token_stats.py --since 2026-03-01 --until 2026-03-16

# Top 20 会话
python3 {baseDir}/scripts/token_stats.py --sessions --top 20

# JSON 输出(可供其他工具消费)
python3 {baseDir}/scripts/token_stats.py --format json --daily

# 完整报告
python3 {baseDir}/scripts/token_stats.py --include-deleted --daily --sessions --top 20

Token 计算方法

数据来源

唯一可靠的数据源是 session JSONL 文件(~/.openclaw/agents//sessions/*.jsonl)。

sessions.json 只存最后一次 API 调用的快照,不适合做累计统计。

数据位置

Token 数据在 JSONL 条目中的路径:

entry.message.usage  (仅 role=assistant 的条目)

注意:usage 在 message 子对象里面,不在顶层。

字段说明

字段含义可靠性
--------------------
inputAPI prompt_tokens - cacheRead - cacheWrite❌ 经常为负数
output输出 token(含 thinking)✅ 可靠
cacheRead缓存命中的 prompt token✅ 可靠
cacheWrite新写入缓存的 token⚠️ 通过 New-API 永远为 0
totalTokensinput + output + cacheRead + cacheWrite❌ 受 input 负值影响
cost费用⚠️ 通过 New-API 永远为 0

为什么 input 为负数

Provider 返回: prompt_tokens = 3 (仅未缓存部分)
Provider 返回: cached_tokens = 19531
OpenClaw 计算: input = prompt_tokens - cacheRead = 3 - 19531 = -19528

某些 provider (如 Kimi/Moonshot) 的 prompt_tokens 已排除缓存部分,

但 OpenClaw 又减了一次,导致双重扣除。

正确公式

# 每次调用的真实 prompt token 数
fresh_input = max(input, 0)       # 新增未缓存 token
prompt = cacheRead + fresh_input  # 总 prompt (含缓存)

# 总 token = prompt + output
total = prompt + output

不可靠的统计方式

  • ❌ 直接累加 input → 总和会是负数
  • ❌ 用 totalTokens - output 算 prompt → totalTokens 已被负 input 压低
  • ❌ 看 sessions.json → 只是最后一次调用的快照,compaction 后重置

Compaction 的影响

OpenClaw 会在上下文接近窗口上限时触发 compaction(压缩)。

JSONL 中的历史 usage 记录不受 compaction 影响(追加写入),所以统计是完整的。

sessions.json 的值会在 compaction 后被新调用覆盖。

Notes

  • 扫描大量文件可能需要几秒钟
  • --include-deleted 会包含 .deleted.bak 后缀的历史文件
  • 缓存命中率超过 100% 的显示说明用了旧的错误公式,本脚本已修正

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-03-30 06:29 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

data-analysis

A股量化 AkShare

mbpz
A股量化数据分析工具,基于AkShare库获取A股行情、财务数据、板块信息等。用于回答关于A股股票查询、行情数据、财务分析、选股等问题。
★ 165 📥 60,034
data-analysis

Stock Analysis

udiedrichsen
{"answer":"基于雅虎财经数据,分析股票与加密货币。支持投资组合管理、自选股预警、股息分析、8维评分、热门趋势扫描及传闻/早期信号探测。适用于股票分析、持仓追踪、财报异动、加密监控、热门股追踪或提前发掘非主流传闻。"}
★ 270 📥 56,981
data-analysis

Excel / XLSX

ivangdavila
创建、检查和编辑 Microsoft Excel 工作簿及 XLSX 文件,支持可靠的公式、日期、类型、格式、重算及模板保留功能。
★ 368 📥 140,491