Tokei AI Usage
在 VS Code 内查看 GitHub Copilot 额度、Token、模型和项目用量
Tokei AI Usage 是一款本地优先的 VS Code 用量面板。它读取 GitHub Copilot 与 VS Code 已经保存在本机的额度快照、会话索引和 OpenTelemetry 指标,整理出账户额度、模型调用、Token 构成、缓存命中和项目报表。
当前版本面向 GitHub Copilot 用户。Copilot CLI 与 Agent Host 的会话元数据会用于发现项目,其 Token 指标暂未纳入统计。Codex 等其他订阅来源尚未接入。
主要功能
| 功能 |
说明 |
| 账户额度 |
显示 Copilot 当前计划、已用额度、剩余额度和重置时间 |
| 用量轨迹 |
保存本机获取的官方额度快照,提供 1 小时、6 小时、24 小时、1 周和 1 月视图 |
| 三段工作台 |
在概览、调用流水和项目三个视图间切换,并共享今日、本周、本月和全部时间范围 |
| Token 明细 |
按调用展示输入、输出、缓存读取、缓存写入和 Reasoning Token |
| 模型分析 |
汇总模型请求数、Token、缓存命中率、耗时与首 Token 耗时 |
| 项目报表 |
在全部项目、指定工作区和未归属调用之间切换 |
| 本地账本 |
持续保留已观测的安全数值字段,避免 Copilot 清理源数据后历史随之消失 |
| 局部诊断 |
单个数据库、视图或字段不可用时保留其余数据,并说明缺失范围 |
模型调用还会显示估算 Credits。估算依据 GitHub Copilot 官方模型价格表,用于比较本机已观测调用,不代表 GitHub 最终账单。
安装要求
- VS Code 1.135 或更高版本
- 已安装并登录 GitHub Copilot Chat
- macOS、Windows 或 Linux 上可用的本地 VS Code 配置目录
开发版可以通过 VS Code 的 Extensions: Install from VSIX... 命令安装 .vsix 文件。安装后重新加载窗口,活动栏会出现 Tokei 图标。
首次使用
- 打开活动栏中的 Tokei。
- 点击刷新,读取当前 Copilot 额度和本地会话信息。
- 如需精确 Token 指标,打开右上角的“设置与诊断”,选择“启用详细指标”。
- 确认后重新加载 VS Code,再完成一次 Copilot 模型调用。
- 使用概览、流水和项目切换器查看不同维度;右上角文件夹按钮可以限定工作区范围。
启用详细指标后,Tokei 会打开 Copilot 自带的 SQLite OpenTelemetry exporter,并保持 captureContent=false。指标从下一次完成的模型调用开始产生,启用前的 Token 无法追溯。
项目发现
项目列表来自本机仍然存在的明确 Copilot 使用证据。
- VS Code 项目通过
GitHub.copilot-chat/transcripts 中的 transcript 文件名和修改时间识别。Tokei 不打开这些 transcript。
- Copilot CLI 与 Agent Host 项目通过
workspace.yaml 识别。只有会话 ID、工作目录、创建时间和更新时间可以进入 Tokei 的数据模型。
- OTel 调用通过会话 ID 与项目目录关联。暂时没有 Token 指标的项目仍会显示,并标记为“暂未观测到 Token”。
- 无法关联工作区的模型调用会进入“未归属调用”,不会从总量中消失。
已经被 VS Code 或 Copilot 清理的会话文件无法恢复。多根工作区文件失效、元数据缺失或字段改名时,Tokei 会显示局部诊断并继续刷新其他数据。
数据来源与精度
| 数据 |
来源 |
口径 |
| 账户额度 |
Copilot user-info |
当前官方快照 |
| 额度历史 |
Tokei 本地快照 |
从安装并成功刷新后开始积累 |
| 会话元数据 |
session-store.db |
会话 ID、工作区和时间等白名单字段 |
| 模型调用 |
agent-traces.db 的 OTel spans |
启用详细指标后已完成调用的精确观测值 |
| 会话汇总 |
agent-traces.db 的 sessions 视图 |
可用字段范围内的官方本地汇总 |
| Credits |
官方公开模型价格与本地 Token |
估算值 |
Copilot user-info 是 VS Code Copilot 当前使用的内部接口,并非承诺稳定的公开 REST API。Tokei 优先复用 VS Code 的 GitHub 登录,必要时回退到已登录的 gh CLI。接口或 SQLite schema 变化会进入诊断,不会用猜测值填补缺口。
隐私
Tokei 不读取、保存或展示以下内容。
- 提示词与回答正文
- transcript 和事件日志正文
- 工具参数与工具结果
- span attributes 与任意内容字段
- GitHub 认证凭据
本地 usage-ledger.db 只保存调用标识、会话与工作区关联、Agent、模型、时间、耗时、状态和 Token 数值。工具记录只保留名称、类型、时间、状态及可获得的会话关联。数据库没有消息正文、任意 JSON、工具 arguments 或 result 字段。
GitHub 访问令牌只在额度请求期间存在于内存,不写入账本或日志。所有 Tokei 历史数据均保存在当前 VS Code 用户目录下。
已知限制
- 精确 Token 只覆盖启用 OTel 之后已经完成的调用。
- Copilot 的官方源数据库会清理旧数据,Tokei 只能长期保留安装后成功观测到的调用。
- 账户额度属于订阅级数据,选择单个项目不会改变额度卡片。
- 项目归属依赖会话 ID 和本机元数据。缺少关联信息的辅助调用只能列入未归属用量。
- 当前版本不根据会话正文推断代码生成、测试生成等任务类型。
配置
| 设置 |
默认值 |
说明 |
tokeiCopilot.refreshIntervalMinutes |
5 |
自动刷新间隔,可设置为 1 至 60 分钟 |
tokeiCopilot.statusBarMode |
quota-and-credits |
状态栏显示“已用 / 总额度 + 估算 Credits”,也可改为仅额度或仅图标 |
tokeiCopilot.defaultView |
overview |
打开侧边栏时默认显示概览、流水或项目 |
开发
npm install
npm test
npm run package
在 VS Code 中打开 vscode-extension 目录,按 F5 启动 Extension Development Host。测试会覆盖额度解析、SQLite schema 漂移、项目发现、隐私白名单、本地账本、时间范围和项目筛选。界面实现以 DESIGN_SPEC.md 为设计基线。
许可证
MIT