Appends the current turn's estimated token cost in CNY to the assistant action row, right after the usage/time indicator. Prices come from a built-in DeepSeek peak/off-peak CNY table (Beijing time, Monday-Friday 9:00-12:00 and 14:00-18:00) and can be overridden from the profile's cordis.patch.yml; a model without a configured price shows a dash instead of a made-up amount. Follows the shipped Performance & usage - Compact setting and hides together with the usage pill. Token cost only, per turn only.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-token-rmb
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:liuyun2025/dsh-token-rmb
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
This plugin publishes its README in Chinese only.
Inline per-turn token cost in CNY for DeepSeek Harness (dsh).
A small web plugin that appends one number to the assistant action row — the estimated cost of that turn in yuan, right after the usage/time indicator. Peak and off-peak rates are applied automatically, and nothing new is added to the layout.
[copy] [feedback] [branch] … [usage 12.3K tok] [18:42] [≈¥0.0349]
- One turn, one number. No session total, no extra row, no layout shift.
- Follows the shipped Performance & usage → Compact setting: when the official usage pill is hidden, this disappears too.
- Prices come from a built-in snapshot and can be overridden from the profile's
cordis.patch.yml; the override is avolatilefield, so saving it re-prices without restarting the app (refresh the page if the number does not move). - Estimates only. Usage is provider-reported; prices are a local table.
中文说明
在每轮对话结束时的操作行里,紧贴「用量 / 时间」右侧显示这一轮的 token 费用估算(人民币),支持高峰 / 空闲两档单价。
- 只显示本轮,不占新行、不改行高;官方切到「性能与用量 = 简洁」时一起隐藏。
- 数据用该轮
tokenUsage的模型上报用量(与官方用量面板同源),不是按字符数估的。 - 金额内部用皮元(1e-12 元)整数运算,展示三档:
≈¥0.86/≈¥0.0032/<¥0.0001。
界面
插件安装后(多出≈¥0.68)
鼠标放在上面
与 dsh-turn-cost 的区别
dsh-turn-cost 功能更全(每轮 + 会话累计、按步取价、内置法定节假日)。本插件是极简版,取舍如下:
| dsh-turn-cost | dsh-token-rmb | |
|---|---|---|
| 显示 | 每轮 + 会话累计,操作行里多一行 | 只有本轮,同一行内、时间右侧 |
| 峰谷 | 按每一步的实际时点取价 | 按该轮结束时间整轮取一档(近似) |
| 法定节假日 | 内置当年安排 | 不处理,见下文「已知误差」 |
| 价目覆盖 | 本机 ratesPath JSON |
宿主 Config.pricing,保存即生效 |
| 精度 | 到分 | 皮元整数,三档展示 |
如果你需要会话累计或节假日精确计价,请用 dsh-turn-cost;如果你只想要一个不占版面的小数,用这个。
安装
| 形式 | 命令 |
|---|---|
| npm | dsh plugin --profile <profile> add dsh-token-rmb |
| Git 仓库 | dsh plugin --profile <profile> add github:liuyun2025/dsh-token-rmb |
| 本地目录 | dsh plugin --profile <profile> add <绝对路径> |
| tarball | dsh plugin --profile <profile> add <绝对路径>.tgz |
装完重启该 profile 生效(插件成员在启动时确定)。卸载:dsh plugin --profile <profile> remove dsh-token-rmb。
计价
费用 = 输入·未命中 × 未命中价
+ 缓存写 × 缓存写价(DeepSeek 与未命中同价)
+ 缓存命中 × 命中价
+ 输出 × 输出价(reasoning 已含在输出里)
内置价目(2026-10-30,元 / 百万 tokens)
| deepseek-flash | 空闲 | 高峰 |
|---|---|---|
| 输入·缓存命中 | 0.02 | 0.04 |
| 输入·缓存未命中 | 1 | 2 |
| 缓存写 | 1 | 2 |
| 输出 | 4 | 8 |
deepseek-v4-pro 也内置了一份(0.15 / 4.5 / 13.5 与 0.3 / 9 / 27);未列出且没有 * 的模型显示 ¥—,不套用别人的价格。
峰谷
固定北京时间,高峰为周一至周五 9:00–12:00、14:00–18:00,其余(含周末)空闲、价格减半。
配置
写在当前 profile 的 cordis.patch.yml,整表替换内置快照;未列出的模型回退 *。pricing 是 .volatile() 字段,保存后重新计价,不用重启应用(若数字没立即更新,刷新页面即可)。
- id: dsh-token-rmb
name: dsh-token-rmb
config:
pricing:
deepseek-flash:
idle: { inputPerM: 1, cacheReadPerM: 0.02, cacheWritePerM: 1, outputPerM: 4 }
peak: { inputPerM: 2, cacheReadPerM: 0.04, cacheWritePerM: 2, outputPerM: 8 }
my-gateway-model:
idle: { inputPerM: 3, cacheReadPerM: 0.3, cacheWritePerM: 3, outputPerM: 12 }
peak: { inputPerM: 6, cacheReadPerM: 0.6, cacheWritePerM: 6, outputPerM: 24 }
'*':
idle: { inputPerM: 1, cacheReadPerM: 0.02, cacheWritePerM: 1, outputPerM: 4 }
peak: { inputPerM: 2, cacheReadPerM: 0.04, cacheWritePerM: 2, outputPerM: 8 }
inputPerM、outputPerM必填;cacheReadPerM、cacheWritePerM缺省按inputPerM。- 只写
peak或只写idle,另一档复用同一份。 - 没有 DSH 设置页表单:官方目前没有客户端会根据 schema 自动生成页面,改价就是改这段 YAML。
降级
- 该轮没有可用用量 → 不显示,不留占位符。
- 有用量但算不出价 → 显示
¥—,悬停写明原因。 - 计算或渲染出任何异常 → 捕获后不显示,不影响这一行和会话本身。
- 读不到「性能与用量」偏好(例如
ui-chat不存在)→ 按「详细」处理,照常显示。
已知误差与限制
- 节假日不处理:官方规则里中国法定节假日算空闲价,本插件按工作日算,因此节假日当天会高估一倍。国庆、春节这类连续假期最明显。
- 跨时段的一轮按整轮计价:一轮里多次请求跨越 12:00 或 18:00 时,整轮按轮次结束时间取一档,只影响跨界的少数轮次。
- 一轮混用多个模型时按
routes[0]计价,悬停里会标注。 - 只算 token:搜索/抓取、套餐订阅等不计入,文案写的是「token 费用估算」。
- 价目表是快照,官方保留调价权;实际扣费以平台为准。价目表改了,历史轮次金额会按新价重算。
兼容性
在 0.2.1-rc.3 上实测。客户端读取聊天节点的 turn-tail 数据(与官方用量面板同源),属于 dsh-client-ui-chat 的内部形状,因此 engines.dsh 限定在 >=0.2.1-rc.3 <0.2.2;升级宿主前请先确认这一行还在。
开发
pnpm install
pnpm test # 纯逻辑自检(峰谷、格式化、降级)
pnpm run check # 语法检查
改 lib/client.js 后刷新页面;改配置不用。宿主半侧依赖 @deepseek-ai/schemastery:用 link: 安装时 Node 不会去 profile 里找它,所以本地 pnpm install 会把 cosmokit / @standard-schema/spec 装到包根目录(见 devDependencies)。
License
Links
More in this category
bowenliang123/dsh-context★ 3973
DSH context insight panel: Context dashboard + /context command + Context browser — one-stop context lifecycle management with categorized composition, content details, evolution trends, compaction/injection events, and stats.
Han-1413141/dsh-cost-meter★ 597
Per-session and daily API cost, budget with usage %, official balance, history dashboard, and one-click official price sync with peak/off-peak pricing.
wssfk12138/dsh-damage-pulse★ 282
Tracks DeepSeek token usage, per-call and session costs, and account balance with cache-aware charge animations in the DSH Web UI.
zh667/TokenLedger★ 202
Sidebar usage panel that attributes tokens to the relay site that served each request, read from your existing provider config: today/month/all-time totals, per-site and per-model breakdowns, a year activity heatmap, and New API / Sub2API / DeepSeek balances.
Ychris12138/dsh-usage-stats★ 187
Multi-provider usage dashboard with provider/model token breakdowns, calendar drill-downs, account balances, and OpenCode Go / Z.ai subscription quota tracking.
PolinniZhong/dsh-personal-center★ 115
Personal center for DeepSeek Harness: cross-session usage statistics with per-provider and per-model breakdown (auto-discovers configured models), per-model cost estimation, global custom instructions, a data-driven desktop pet with bitmap & vector skins, and a conversation status overview, all local and offline.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.