前言¶
在 DSH 或 Cursor 里接大模型 API 时,计费通常按 token 数结算。同一句意思,用英文、简体、繁体或粤语写出来,token 数往往差一截;普通计数器只告诉你「这一串是多少」,不会并排比较书体,也不会说明多出来的 token 来自哪里。若你在做面向粤语或繁体用户的智能体、RAG 或长上下文流水线,这类差异会直接变成成本与上下文窗口占用。
下面介绍社区插件 yue-token-cost(维护者 Pugto-AI,分类:模型推理)。它以 MCP 服务形式提供可复现的文本度量:不跑 GPU、不训练模型,只做确定性的分词与对比。
这是什么¶
yue-token-cost 同时是 npm 包与 DSH 配置型插件 bundle,核心是一句定位:Measure what Chinese/Cantonese actually costs in tokens — and why.(量清中文/粤语实际要花多少 token,以及原因。)
与「单字符串 + 单一 tokenizer」的计数工具不同,它强调:
- 跨书体(简体、繁体、粤语等)并排对比;
- 按 token 归因(例如半字符、数字拆分、前导空格变体);
- 可复现的 benchmark(README 中的数字来自生成的
BENCHMARK.md)。
当前发布状态:v0.1.0,已发布到 npm;npx -y yue-token-cost 可直接启动 MCP 服务。
核心功能¶
插件通过 MCP 暴露三个工具(名称在 DSH 中通常带 mcp__yue-token-cost__ 前缀,例如 mcp__yue-token-cost__count_tokens):
| 工具 | 输入要点 | 输出要点 |
|---|---|---|
count_tokens |
text,可选 tokenizer、usd_per_million |
token / 字符 / 字节数;若提供单价则估算费用 |
compare_scripts |
texts[](同义不同书体),可选 tokenizers[] |
并排计数、差值与 attribution |
explain_split |
text,可选 tokenizer |
逐 token 拆解,标记半字符、数字拆分等 |
默认覆盖的 tokenizer 包括 o200k_base(GPT-4o+ 一代)与 cl100k_base(GPT-4 时代)。README 用 6 条香港劳工/法律向测试集说明:在 o200k_base 上,繁体、粤语仍可能比简体多约 18–24% token;在 cl100k_base 上,中文整体相对英文可高出约 52%(简)至 79%(粤)。同一简体文本从 cl100k 换到 o200k 可从 128 降到 83 token(约 −35%)——换 tokenizer 代际有时比改写法更省。
v1 明确不做:粤拼(README 指向 tinci-mcp)、词典、ASR、模型训练、Web UI、自动改写省 token。DeepSeek 系 tokenizer 的单独说明见仓库 docs/deepseek-tokenizer.md。
安装与启用¶
通用 MCP 客户端(Cursor / Claude Code / VS Code 等 stdio 宿主)¶
在 MCP 配置中加入:
{ "mcpServers": { "yue-token-cost": { "command": "npx", "args": ["-y", "yue-token-cost"] } } }
若环境没有 npx(离线或固定目录),可改为用 Node 指向入口文件:
{ "command": "node", "args": ["/abs/path/to/yue-token-cost/server.mjs"] }
在首个 npm 发布之前或需直接从 GitHub 拉取时(资料原文命令):
npx -y --allow-git=all github:Pugto-AI/yue-token-cost
部分 npm 配置默认阻止 git 依赖,--allow-git=all 用于放开限制。
DSH¶
DSH 侧为配置型 bundle,底层仍是同一 npm 包:
dsh plugin add yue-token-cost
安装后可通过 MCP 调用上述工具,例如 README 提到的 mcp__yue-token-cost__count_tokens。
运行要求:发布包声明 Node ≥ 20;仓库开发文档写明用 pnpm 11 安装时需 Node ≥ 22。
典型用法¶
单段计数与可选费用¶
向 count_tokens 传入文本,必要时指定 tokenizer 与 usd_per_million,得到 token、字符、字节及可选美元估算。
同义多书体对比¶
向 compare_scripts 传入表达同一意思的多段 texts[],可选 tokenizers[],得到并排结果、差值与归因字段,用于评估「同一提示词换繁体/粤语」对账单的影响。
理解为何多 token¶
explain_split 对单段 text 做逐 token 分解。README 示例:对单字「饿」在 o200k_base 下为 2 个 token,且两个 piece 均标记为 partial: true,对应 UTF-8 字节被拆开的片段。
工具 JSON Schema 见仓库 docs/tool-schemas.json。
适用场景与注意¶
适合谁
- 需要在智能体或流水线里预估中文、繁体、粤语内容的 API 成本或上下文长度;
- 要在选型或迁移时对比
cl100k_base与o200k_base(或其它已支持 tokenizer)下的差异; - 希望用可复现 benchmark(
npm run bench与 Pythontiktoken基线 48 行对齐)核对 Node 实现,而非手算。
使用注意
- 插件以 当前 DSH 进程权限 启动 MCP 子进程(通常经
npx拉取或运行yue-token-cost)。安装前请自行查看 GitHub 仓库 源码与 MIT 许可证,确认符合你的合规与安全要求。 - 度量结果是确定性文本分析,不调用大模型推理;数字随 tokenizer 与测试集变化,README 与
BENCHMARK.md底部说明了适用范围与诚实性说明,不宜把某一组比例当成普适常数。 - DSH 社区目录站点 SkillHub 插件页 与 DeepSeek / 幻方无官方从属关系,属于「一切皆插件」生态下的独立收录。
结尾¶
yue-token-cost 把「中文与粤语在 token 上多花了什么、为什么」从黑盒计数推进到可对比、可解释、可复现的 MCP 工具集;对按 token 计费的多书体产品,这是模型推理类插件里较直接的一环。
- 目录页:https://www.skillhub.cn/plugins/Pugto-AI/yue-token-cost
- 源码与文档:https://github.com/Pugto-AI/yue-token-cost