让 ZCode 的对话窗口底部多一条小状态栏:模型有多快、token 花了多少、上下文还剩多少,一眼看到。
给 ZCode 桌面版用的第三方插件(不是官方功能),市场里的名字叫 ZCode Token Usage Statusbar。顺带送你一个命令行工具和一个 MCP 工具,随时能翻历史用量——不知道 MCP 是什么也没关系,不用它照样好用。
A ZCode plugin for token usage monitoring, generation speed and context window tracking.
简体中文 · English
Windows / macOS · Python 3.8+ · MIT
**三步装上:**把下面这句话发给 ZCode:
安装或者更新 zcode 插件 https://github.com/ByteRax/zcode-token-usage-statusbar#plugin-releases,执行完毕后,运行命令 /install-overlay
确认插件已安装并启用,再确认 /install-overlay 执行成功;如果它没自己跑,就在对话框里手动敲一次。这一步会修改 ZCode 的 app.asar 程序文件。成功后完全退出 ZCode 再重新打开(关窗口不算),并检查底部状态栏是否出现;安装失败或权限不足时需先排查。句尾的 #plugin-releases 表示装的是正式发布的稳定版本,⚙ 里能自动更新,别把它删掉。
国内访问 GitHub 受限?上面那句可能连不上,换成这句再发给 ZCode(结尾的 .git 不能省,本机要装有 Git):
安装或者更新 zcode 插件 https://gitcode.com/tanranran/zcode-token-usage-statusbar.git#plugin-releases-gitcode,执行完毕后,运行命令 /install-overlay
对话窗口底部会多出一条窄窄的横条,大概是这样:
⚡ 86 t/s │ 6.25万 90% 7次 Σ18.4s ⏱1.4s │ 144.85万 86% 23轮 187次 │ 142 🔴2 │ 342.18万 │ 23.64万 🟢 │ ⚙
生成速度 本轮(这次提问) 会话累计(这次对话) 工具调用 今日合计 子智能体 设置
每一格说的是:
| 那一格 | 大白话解释 |
|---|---|
| ⚡ 86 t/s | 每秒生成多少 token。生成中有渲染桥时显示字符增量估算值,完成后显示真实速度;两者均按速度档位上色。无桥时按已完成请求刷新 |
| 6.25万 90% 7次 Σ18.4s ⏱1.4s | 这一次提问:花了 6.25 万 token、缓存命中 90%(缓存读取占输入的比例,费用影响取决于供应商)、发了 7 次请求、本轮请求累计耗时 18.4 秒、首字等了 1.4 秒 |
| 144.85万 86% 23轮 187次 | 这次对话从头到尾:共 144.85 万 token、聊了 23 轮、发了 187 次请求 |
| 142 🔴2 | 工具被调了 142 次,其中 2 次报错(红色小标记) |
| 342.18万 | 今天所有对话加起来花了 342.18 万 token |
| 23.64万 🟢 | 模型自己派的子任务(子智能体)花了 23.64 万 token,🟢 表示有子任务正在跑 |
| ⚙ | 点这里:想看哪几项、界面语言、token 用万/亿显示、检查更新 |
上下文用了多少不在状态条上:看输入框工具栏的上下文按钮(环形图标加百分比)。快满了会变色;内容多到被拒绝时,会弹窗告诉你该怎么办。点开它,里面还有一个一键压缩按钮。
鼠标停在任意一格上,会弹出更细的数字。 更多真实截图见功能截图。
| 你想问的 | 去哪儿找 |
|---|---|
| 模型现在快不快? | 最左边那格 t/s,颜色直接告诉你快慢 |
| 按回车之后等了多久才出字? | 本轮里的 ⏱ 那个数(首字延迟) |
| 这次提问 / 这次对话 / 今天一共用了多少 token? | 本轮 / 会话累计 / 今日合计 三格 |
| 会不会聊着聊着就写不下了? | 上下文按钮,快满了变色,点开有一键压缩 |
| 缓存省了多少?模型先「想一想」花了多少? | 悬停 本轮,看输入、输出、缓存、思考的明细 |
| 模型派的子任务烧了多少?跑多快? | 子智能体格,运行中直接给「运行中 ×N · 估 X t/s」 |
| 套餐额度 / 余额还剩多少? | 上下文按钮左侧的额度 chip |
| 工具是不是报错了? | 工具调用格,出错亮红点 |
| 翻历史用量 | /usage、终端 zusage.py 或 MCP 工具 token_usage |
状态条上的一切都是 token 用量,不是账单;额度 chip 显示的是账号级套餐池/余额,不是单模型独享。
- 桌面状态条 — 跟着你正在看的那个窗口的会话走,每一格都能在 ⚙ 里单独关掉。
- 回答末尾的速率行 — 满足条件时在回答末尾显示一行小统计(速度、首字延迟、输出、耗时),依赖浮层及渲染桥。它和状态条不是同一个数:一轮中间调工具会拆成好几段请求,速率行把这轮已完成的几段合起来算总平均;数据还没记下来时干脆不显示。
- Git 状态 chip — 输入框工具栏的
⎇ 分支 ↑↓ +N -N一眼看清仓库状态;工作目录本身不是仓库时,会自动汇总子目录里的多个仓库(▣ 24仓 · 6改)。只读本机 git,不联网、不改任何东西。 - 套餐额度 chip — 上下文按钮左侧,显示套餐池各时间窗的已用比例与重置时间,或账户余额。除 BigModel / Z.ai 内置套餐外,⚙ 的额度面板可配置其他支持的厂商或自定义中转站;所需信息和支持程度因数据源而异。SCNet 可在配置后无凭据估算。面板保存的凭据写入运行目录的
quota-secrets.json(权限 0600);查询时只发对应官方域,或用户配置的中转站本域。支持程度见额度支持矩阵,团队套餐暂不支持。 - 重置卡徽标 — 额度 chip 左侧的「重置 · N」(多账号张数
+连接):账号有可用的额度重置卡时显示,剩余不足时带倒计时,越临近过期颜色越急(>3 小时绿 / 3 小时–30 分钟黄 / <30 分钟红并呼吸闪烁),悬停看每张卡(5 小时卡/周卡)的张数与到期时间。默认开启,⚙ 额度面板可关闭或调整倒计时阈值;需要 ZCode 登录态,仅 API Key 用户与团队套餐无重置卡。 - 一键压缩上下文 — 上下文按钮点开后有个压缩上下文按钮,确认后向当前会话发送
/compact,不动输入框草稿。压缩通常要 2–4 分钟且没有进度反馈,期间发新消息会打断它,想压缩就等它跑完。 - 查询入口 — 同一份本地数据,三个入口:
/usage today # 对话框:今天
/usage workspace:项目目录关键词 # 对话框:指定工作区
python3 zusage.py now # 终端:最近活跃会话和今天
python3 zusage.py days 7 # 终端:近 7 天每天的用量
python3 zusage.py sessions 10 # 终端:最近 10 个会话
python3 zusage.py models 7 # 终端:近 7 天按模型统计
token_usage(scope="today") # MCP:今天
token_usage(scope="session:ID前缀") # MCP:指定会话明细
终端命令在仓库目录运行;Windows 可按实际 Python 命令将 python3 换成 python。也可以直接请 AI 调用 MCP 的 token_usage;current 选的是数据库最近活跃会话,不一定是屏幕当前会话。
- SSH / WSL 远端会话 — ZCode 跑在 SSH 服务器或 WSL 发行版里时,状态栏也能显示远端的用量数据:远端自动发现、各服务器独立统计、断了线会自动重试;远端机器上要自己装好查询脚本。详见远程会话指南。
- ZCode 桌面客户端(Windows / macOS 主力;Linux 部分路径要管理员权限,自行验证)。
- Python 3.8+,自带标准库就够,不用装任何第三方包。
- 不用装 Node.js 或 npm——状态栏跑在 ZCode 自带的 Node 环境里。
推荐插件方式,在 ZCode 对话框依次执行:
/plugin marketplace add ByteRax/zcode-token-usage-statusbar#plugin-releases
/plugin install zcode-token-usage-statusbar@zusage-marketplace
敲完先确认插件真的装上了:看 设置 → 插件 → 已安装 里有没有出现 ZCode Token Usage Statusbar。第一条命令要联网克隆仓库,失败后可能一点痕迹都不留。国内直连 GitHub 超时的机器,把第一条换成 GitCode 渠道(结尾
.git不能省):/plugin marketplace add https://gitcode.com/tanranran/zcode-token-usage-statusbar.git#plugin-releases-gitcode
开头那句自然语言指令,走的就是上面两条命令。其它装法:想自己改代码,用「设置 → 插件 → 添加插件市场 → 选择目录」指向仓库根目录;不想装插件,终端里 git clone 后跑 python install.py 一键安装;自托管 ZCode 服务器另有 Web 版。四种装法选一个就行,别叠着来,逐步说明见安装指南。
- 插件装上并启用了 — 插件页里能看到它。
- 状态条装进客户端 — 新建或恢复会话时可能触发自动安装;请确认安装成功,自动失败就用
/install-overlay手动安装并检查结果。这一步会改动 ZCode 的程序文件(app.asar),你得自己确认信得过这个项目。 - 完全退出 ZCode 再重新打开 — 关掉窗口不算,重开会话也不算;重新打开后确认状态条出现。
以后怎么更新? 插件在 ⚙ 里点「检查更新」即可(自动更新默认开);一键安装器进克隆目录 git pull 再重跑 python install.py。更新与升级细节 →
在 ~/.zcode/zcode-token-usage-statusbar/config.json 里只加这一项(别覆盖已有设置):
{
"plugin_auto_install_overlay": false
}这样可关闭自动注入,仍可使用 /usage 和 MCP 查询;回答末尾的速率行依赖浮层及渲染桥,禁用浮层后不能保证显示。状态条已经装过的,先运行 /uninstall-overlay 并确认移除成功,再完全退出重开;手动安装仍会修改客户端文件。
用量统计从 ZCode 本地的 SQLite 数据库只读获取,不是账单;请求完成并入库后刷新,不会逐字跳动。有渲染桥时,生成中的 t/s 按字符增量估算,完成后切换为来自渲染端的真实值;无桥时回退数据库,按请求完成入库刷新。额度与余额另查供应商接口,SCNet 也有单独的估算方式。每个数的具体算法、容易搞混的口径(状态条速度 ≠ 速率行、上下文占比 ≠ 会话累计)见数据口径。
- 这不是 ZCode 官方功能,是社区插件;状态条靠修改 ZCode 的程序文件(
app.asar)实现,卸载时只删自己加的那部分。 - 本地数据库只读,用量数据不上传;但插件更新要联网下载代码(⚙ 里可关自动更新)。
- 凭据边界:ZCode 里存的 SSH 密码、私钥口令不会被插件解密使用;额度查询时凭据在内存中使用,不写入日志或诊断;⚙ 面板保存的凭据会持久化在运行目录的
quota-secrets.json(权限 0600)。请求只发送到对应厂商官方域或用户配置的中转站本域,⚙ 里可关闭额度查询。 - token 用量 ≠ 账单:额度 chip 可显示支持的数据源提供的套餐已用比例或账户余额,但不提供现金扣费账单或计费明细。
我装了插件,状态条呢?
按装完三步核对:插件在列表里 → 新建或恢复会话触发自动安装并确认成功,失败就用 /install-overlay 手动安装并确认成功 → 完全退出并重开 ZCode → 检查状态条是否出现。光重启救不了一个还没装进去的状态条。
更新 ZCode 之后,状态条怎么没了?
ZCode 更新时会把状态条改过的程序文件覆盖回原样。保持插件启用,新建或恢复会话触发自动修复,确认成功后再完全退出重开一次——哪怕更新时已经自动重启过。详细步骤 →
数字怎么不一直跳?
用量数据在请求完成并入库后刷新,不是逐字滚动;有渲染桥时生成速度可在回复中按字符增量估算,无桥时按请求完成入库刷新。刚开的新会话还没发过请求,显示 0 是正常的。
能显示花了多少钱吗?
现金账单不能,这里没有计费明细。支持的数据源可显示套餐额度或账户余额——见上面的套餐额度 chip。
一键安装的:仓库目录里跑 python install.py --remove(macOS 用 python3),然后完全退出重开 ZCode。
插件装的:① ⚙ 里关掉自动更新 → ② 跑 /uninstall-overlay 确认成功 → ③ 设置 → 插件 → 已安装 → ZCode Token Usage Statusbar → ⋯ → 卸载 → ④ 完全退出重开 ZCode,确认状态条没了。别只删插件把状态条留在那儿。要把设置、缓存、插件市场一起清掉,见彻底清理步骤。
