docs: update token command documentation

This commit is contained in:
2026-07-29 10:08:19 +08:00
parent be29808e51
commit 2ed39e9fe8
+28 -112
View File
@@ -55,12 +55,7 @@ AI 可以自动调用多种工具来完成复杂任务:
- `/jgpt clearFavor` - 重置所有用户的好感度 - `/jgpt clearFavor` - 重置所有用户的好感度
### Token统计 ### Token统计
- `/jgpt tokens [days]` - 查看Token使用简报(默认7天) - `/jgpt tokens [days]` - 查看最近指定天数的Token使用简报(默认7天)
- `/jgpt tokensDaily [days]` - 查看指定天数的每日Token消耗统计(默认7天)
- `/jgpt tokensUsers [limit]` - 查看Token消耗最多的用户排名(默认Top 10)
- `/jgpt tokensGroups [limit]` - 查看Token消耗最多的群组排名(默认Top 10)
- `/jgpt tokensQuery [userId] [days]` - 查询日聚合记录(每行一天一人,可按用户和时间过滤)
- `/jgpt tokensUserDaily <userId> [days]` - 查询指定用户每天的消费统计(默认7天)
## 配置文件 ## 配置文件
@@ -437,139 +432,59 @@ description: KubeJS 基础语法、常见报错与排查方法
## Token消耗统计 ## Token消耗统计
JChatGPT 按 (日期, userId, groupId) 三元组聚合每次对话的 Token 消耗,提供多维度统计查询 JChatGPT 按 (日期, userId, groupId) 三元组聚合每次对话的 Token 消耗,并通过一条命令提供汇总、趋势和排名信息
> 历史版本曾按每次请求逐条记录,但增长不受控(数千条后会触发 mamoe-yamlkt 的编/解码 bug 导致整个 data.yml 无法加载)。现已改为按天聚合并搬到独立的 `token_usage.json`data.yml 只保留小规模的 memory / favorability 数据。 > 历史版本曾按每次请求逐条记录,但增长不受控(数千条后会触发 mamoe-yamlkt 的编/解码 bug 导致整个 data.yml 无法加载)。现已改为按天聚合并搬到独立的 `token_usage.json`data.yml 只保留小规模的 memory / favorability 数据。
### 功能特性 ### 功能特性
- **自动记录**:每次对话累加到当日聚合行 - **自动记录**:每次对话累加到当日聚合行
- **聚合维度**:日期 × 用户 × 群(同一人同一天在同一群只占一行) - **聚合维度**:日期 × 用户 × 群(同一人同一天在同一群只占一行)
- **多维统计**:支持按日期、用户群组进行统计 - **一屏简报**:同时展示用量汇总、缓存命中率、每日趋势及用户/群组排名
- **灵活查询**:支持详细记录查询和过滤 - **隐私保护**:群组排名仅显示群名,不显示群号
### 记录内容 ### 记录内容
每条聚合记录包含: 每条聚合记录包含:
- 日期(yyyy-MM-dd,本地时区) - 日期(yyyy-MM-dd,本地时区)
- 用户QQ号和最近一次记录到的昵称 - 用户QQ号和最近一次记录到的昵称
- 群组ID(群聊)或null(私聊) - 群组ID和群名(群聊),私聊时为null
- 当日累计输入Token数(promptTokens - 当日累计输入Token数(promptTokens
- 当日累计输出Token数(completionTokens - 当日累计输出Token数(completionTokens
- 当日累计总Token数(totalTokens - 当日累计总Token数(totalTokens
- 当日累计缓存命中Token数(cachedTokens
- 当日调用次数(callCount - 当日调用次数(callCount
### 统计命令 ### 统计命令
#### 使用简报
``` ```
/jgpt tokens [days] /jgpt tokens [days]
``` ```
- 快速查看指定时间范围内的Token使用概况 - `days` 必须为正整数,默认为7,时间范围包含当天
- 默认显示最近7天 - 汇总输入、输出、总Token数、调用次数、活跃用户数和当日Token数
- 包含总计、今日、最活跃用户/群组 - 输入统计包含缓存命中率及命中Token数
- 有多个日期的数据时显示每日趋势
- 显示时间范围内Token消耗最高的5名用户和5个群组;群组仅显示名称,不显示群号
- 大于等于1,000的Token数会使用 `K` 或 `M` 缩写
- 输出示例: - 输出示例:
``` ```
📊 Token 使用简报(最近 7 天 📊 Token 简报 · 最近 7 天
总计: 1,452,279 tokens 输入 923.4K(缓存命中 38.2%,省 352.8K
今日: 215,432 tokens 输出 528.9K
活跃用户: 15 人 总计 1.45M 调用 186 次 活跃 15 人
今日 215.4K
👤 最活跃用户: 📈 每日趋势
张三 - 523,456 tokens 03-16 391.2K
03-17 526.7K
03-18 534.4K
👥 最活跃群组: 👤 Top 用户
987654321 - 876,543 tokens 1. 张三 523.5K
2. 李四 318.2K
📋 详细查询: 👥 Top 群组
/jgpt tokensDaily [days] - 每日统计 1. 技术交流群 876.5K
/jgpt tokensUsers [limit] - 用户排名 2. 闲聊群 295.3K
/jgpt tokensGroups [limit] - 群组排名
/jgpt tokensQuery [userId] [days] - 详细记录
/jgpt tokensUserDaily <userId> [days] - 用户日统计
```
#### 每日统计
```
/jgpt tokensDaily [days]
```
- 显示指定天数内的每日Token消耗统计
- 默认显示最近7天
- 输出示例:
```
最近 7 天 Token 使用统计:
2026-03-18: 15,342 tokens
2026-03-17: 12,890 tokens
2026-03-16: 9,567 tokens
```
#### 用户排名
```
/jgpt tokensUsers [limit]
```
- 显示Token消耗最多的用户排名
- 默认显示Top 10
- 输出示例:
```
Token 使用排名 Top 10
张三(QQ:123456): 25,430 tokens
李四(QQ:234567): 18,920 tokens
王五(QQ:345678): 12,450 tokens
```
#### 群组排名
```
/jgpt tokensGroups [limit]
```
- 显示Token消耗最多的群组排名
- 默认显示Top 10
- 仅统计群聊对话,不包括私聊
- 输出示例:
```
群组 Token 使用排名 Top 10
群 987654321: 45,670 tokens
群 876543210: 32,100 tokens
群 765432109: 28,930 tokens
```
#### 详细查询
```
/jgpt tokensQuery [userId] [days]
```
- 查询日聚合记录(每行 = 某天某人某群的当日合计)
- 可按用户ID过滤(可选)
- 可指定时间范围(默认7天)
- 最多显示20条记录,按日期倒序
- 输出示例:
```
最近 7 天使用记录(最多显示20条,按日聚合):
[2026-03-18] 群987654321 - 张三
调用 12 次, Tokens: 23,450 (输入: 12,340, 输出: 11,110)
[2026-03-18] 私聊 - 李四
调用 5 次, Tokens: 8,760 (输入: 4,800, 输出: 3,960)
```
#### 用户日统计
```
/jgpt tokensUserDaily <userId> [days]
```
- 查询指定用户每天的消费统计
- 按天汇总显示,不会刷屏
- 必须提供用户IDQQ号)
- 可指定时间范围(默认7天)
- 输出示例:
```
用户 张三 最近 7 天 Token 使用统计:
2026-03-18: 12,450 tokens
2026-03-17: 8,320 tokens
2026-03-16: 15,670 tokens
总计: 36,440 tokens
``` ```
### 数据存储 ### 数据存储
@@ -591,6 +506,7 @@ JChatGPT 按 (日期, userId, groupId) 三元组聚合每次对话的 Token 消
- 推理模型和视觉模型的消耗不在统计范围内 - 推理模型和视觉模型的消耗不在统计范围内
- 同一用户同一天在同一群的多次调用合并为一行(callCount 自增) - 同一用户同一天在同一群的多次调用合并为一行(callCount 自增)
- 统计数据基于实际API返回的Token数 - 统计数据基于实际API返回的Token数
- 缓存命中统计取自兼容接口返回的 `prompt_cache_hit_tokens`;接口未返回时按0计算
## 部署要求 ## 部署要求