SuperAPI AI 工具集

user-stats

数据与分析

查看项目

更新于 10-16 01:17

技能介绍

用途:扫描当前用户的全部会话 JSONL 文件,输出按模型和工具聚合的统计,包括各模型调用次数、成功率、输入/输出与缓存读写 Token 量,以及各工具调用次数、错误数与成功率。

数据来源:会话文件位于 ~/.claude/projects/<project-hash>/<sessionId>.jsonl,Claude Code 与 Trae 共用该目录;脚本默认扫描 ~/.claude/projects/,也可用 node user-stats.js --dir <custom-path> 指定目录。

统计口径:assistant 条目取 message.model 作为模型名原样分组,累计 input_tokens、output_tokens、cache_creation_input_tokens、cache_read_input_tokens,stop_reason 为 "error" 记失败;message.content 中 type 为 tool_use 的块记录工具名与调用次数,并用 id 建立映射。user 条目中 type 为 tool_result 的块按 tool_use_id 匹配,is_error 为 true 记工具失败。模型成功率=(总调用-失败)/总调用*100,工具同理。

工作流:先用 find ~/.claude/projects -name '*.jsonl' -type f 找出文件,将聚合脚本写到 /tmp/user-stats.js 运行,逐行解析并累计,再按格式打印并清理临时文件;也可直接运行 node /Users/bytedance/code/ai-code/.agents/skills/user-stats/scripts/user-stats.js。

输出格式:模型行形如 <ModelName>: <calls> calls, <success_rate> success, <input> input, <output> output, <cache_read> cache read, <cache_write> cache write;工具行形如 <ToolName>: <calls> calls, <errors> errors, <success_rate> success。Token 用 k/M 表示(如 11.8M、45.8k、0),成功率保留 1 位小数(如 99.2%、100.0%),模型和工具均按总调用次数降序。

边界情况:无 JSONL 文件时输出 No session data found. 并停止;空或损坏行静默跳过;未知模型名原样使用;含换行或超过 30 字符的工具名(如 Agent 内联提示词)归一为 Agent;有调用无对应结果的只计数不记错;孤立 tool_result 跳过。

限制:安装、收费、平台兼容与价格等信息暂未提供。