Skip to content

Token 用量追踪 (tokens)

Headless 命令 — 不依赖桌面 GUI,直接使用核心包运行。适用于服务器、CI/CD、容器化等无桌面环境。

核心特性

  • 💰 成本追踪: 自动计算每次 API 调用的费用
  • 📊 分类统计: 按 Provider、模型分组展示用量
  • 💾 响应缓存: 缓存重复请求,节省 Token 消耗
  • 📈 趋势分析: 查看最近的 API 调用记录
  • 🌐 多提供商: 支持 7 个 LLM 提供商的费率计算

系统架构

tokens 命令 → tokens.js (Commander) → token-tracker.js

                      ┌────────────────────┼────────────────────┐
                      ▼                    ▼                    ▼
                 tokens show          tokens breakdown     tokens cache
                      │                    │                    │
                      ▼                    ▼                    ▼
               汇总 token_usage      按 provider/model     response_cache
               计算总费用            分组统计               命中率统计

概述

追踪和分析 LLM API 的 Token 用量和成本。支持多个 Provider 的费用统计、用量趋势分析和成本优化建议。

命令参考

bash
chainlesschain tokens show                # 显示总用量统计
chainlesschain tokens breakdown            # 按 Provider/模型分组统计
chainlesschain tokens recent               # 最近的 API 调用记录
chainlesschain tokens cache                # 响应缓存统计

子命令

show — 用量概览

显示总 Token 用量和成本摘要:

bash
chainlesschain tokens show

输出示例:

Token Usage Summary
─────────────────────
Total tokens:    125,430
  Input:          98,200
  Output:         27,230
Est. cost:       $1.85
Sessions:        42

breakdown — 分类统计

按 Provider 和模型分组显示用量:

bash
chainlesschain tokens breakdown

输出示例:

Cost Breakdown by Provider
──────────────────────────
ollama (qwen2:7b)        45,200 tokens   $0.00
openai (gpt-4o)          62,130 tokens   $1.55
deepseek (deepseek-chat) 18,100 tokens   $0.30

recent — 最近调用

显示最近的 LLM API 调用记录:

bash
chainlesschain tokens recent           # 默认最近 10 条
chainlesschain tokens recent --limit 5 # 最近 5 条

cache — 缓存统计

显示响应缓存的命中率和节省的 Token:

bash
chainlesschain tokens cache

费率说明

Provider模型输入费率输出费率
Ollama所有本地模型免费免费
OpenAIgpt-4o$2.50/1M$10.00/1M
OpenAIgpt-4o-mini$0.15/1M$0.60/1M
Anthropicclaude-3.5$3.00/1M$15.00/1M
DeepSeekdeepseek-chat$0.14/1M$0.28/1M
DashScopeqwen-max$0.02/1M$0.06/1M

关键文件

  • packages/cli/src/commands/tokens.js — 命令实现
  • packages/cli/src/lib/token-tracker.js — Token 追踪库
  • packages/cli/src/lib/response-cache.js — 响应缓存

安全考虑

  • Token 用量数据仅存储在本地数据库
  • 费用为估算值,实际费用以提供商账单为准
  • 缓存命中的请求不消耗 Token

故障排查

问题解决方案
show 全部为 0需先通过 chat/ask/agent 进行对话
费用估算不准费率可能已更新,以提供商官方价格为准
cache 命中率低缓存仅匹配完全相同的请求

相关文档

依赖

  • 需要先初始化数据库:chainlesschain db init
  • Token 记录在 chataskagent 命令调用时自动保存

基于 MIT 许可发布