安装
npx -y @deepseek-ai/dsh plugin --profile web add github:gdy01/dsh-token-cost此安装命令根据 GitHub 仓库地址生成,是未经验证的安装起点。
README
维护者编写的文档快照。
dsh-token-cost
A DSH plugin that shows per-project LLM token usage and converts tokens to RMB cost, split into:
- 输入(未命中) — uncached input tokens
- 命中 — cache-hit input tokens (
cacheReadTokens) - 输出 — output tokens
Costs are calculated from the model's standard price table (CNY per 1M tokens). Unknown models are listed with their token counts but no cost, so you can add/override prices without touching code.
Features
- Reads local DSH session logs (
~/.dsh/sessionsor$DSH_HOME/sessions). - Aggregates by project (the session
cwd) and by model. - Adds a 💰 button to the DSH web sidebar footer; the panel shows project totals and expandable model-level breakdown.
- Zero runtime npm dependencies: uses Node's built-in
node:zlibZstandard decoder. - Loopback-only HTTP API (
/dsh-token-cost/*).
Install
Install the subdirectory dsh-token-cost, not the parent dsh plugin folder. The parent folder has no package.json, so installing it produces no sidebar button.
Use the absolute path (the path contains a space, so quote it):
dsh plugin --profile web add "file:/Users/dg/Documents/dsh plugin/dsh-token-cost"
Or, from inside this directory:
cd /Users/dg/Documents/dsh plugin/dsh-token-cost
dsh plugin --profile web add "file:$PWD"
If you previously installed the wrong folder, remove it first:
dsh plugin --profile web remove "dsh plugin"
dsh plugin --profile web add "file:/Users/dg/Documents/dsh plugin/dsh-token-cost"
Then restart dsh web and refresh the browser. A 💰 button appears at the bottom of the sidebar.
You can also use the included installer script:
./scripts/install.sh
How it works
The host plugin scans every session.jsonl.zstd / session.jsonl under the DSH sessions directory. It replays:
session.cwd→ projectrequest/header→ current modelassistant/chunk { type: 'usage' }andassistant/message.usage→ input / cache-hit / output tokens
The same (turn, step) usage sample is de-duplicated (a later assistant/message replaces the earlier usage chunk), matching DSH's own token-meter accounting.
Price table
Built-in DeepSeek official RMB prices (元 / 1M tokens):
| Model | Input (miss) | Cache hit | Output |
|---|---|---|---|
deepseek-chat / deepseek-v4-flash | 2 | 0.5 | 8 |
deepseek-reasoner / deepseek-v4-pro | 4 | 1 | 16 |
You can override prices in the profile's cordis.patch.yml (a patch row replaces the whole config, so include every price you want to keep):
- id: token-cost
config:
prices:
deepseek-chat:
input: 2
hit: 0.5
output: 8
deepseek-reasoner:
input: 4
hit: 1
output: 16
deepseek-v4-flash:
input: 2
hit: 0.5
output: 8
deepseek-v4-pro:
input: 4
hit: 1
output: 16
API
GET /dsh-token-cost/api/stats— full per-project/per-model JSONGET /dsh-token-cost/api/prices— active price tableGET /dsh-token-cost/healthz— liveness
License
MIT
项目文件与信号
以下项目是目录快照中检测到的公开仓库信号。
仓库信息
- 开发语言
- JavaScript
- 许可证
- MIT
- 最后更新
- 2026年8月17日 08:37
谨慎安装
请检查源代码、权限、生命周期脚本、依赖与网络访问;不受信任的插件应先在隔离环境中测试。