对话底部的会话费用状态栏:按模型逐条计价估算 Token 费用(CNY),并实时显示 DeepSeek 账户余额(官方余额接口)。
安装
# npm 包(预构建)
dsh plugin --profile web add @kidli1412/dsh-session-cost
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:KIDLi1412/dsh-session-cost
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
DSH(DeepSeek Harness)Web 插件:在对话底部状态栏(输入框下方、自带统计行之下)显示本次会话的 Token 费用估算与 DeepSeek API 余额。
- 费用估算:服务端按模型逐条计价——从会话事件日志折叠出每个模型的输入/输出/缓存命中 token(语义与
dsh-token-meter的tokenUsage投影一致),再按 CNY 单价表(lib/cost.js)计算费用,混合多模型的会话也精确。 - 余额查询:复用官方余额接口
GET {baseURL}/user/balance(参考插件 dsh-usage-stats 的余额方案),凭据经 DSH 的 credentials 缝解析,2 分钟内存缓存 + 单飞防抖;?refresh=1可强制绕过缓存(状态栏的 ⟳ 手动刷新即用此参数)。 - 状态栏每 30 秒刷新费用、每 5 分钟刷新余额;token 用量变化后自动触发费用刷新;悬停显示分模型明细与余额构成(充值/赠送),⟳ 按钮手动刷新(强制查询上游,成功后短暂显示"已更新 HH:MM")。
界面
两种显示方式可在 设置 → 插件 → 插件配置 → 会话费用显示 中切换(localStorage 持久化,即时生效):
- 显示方式:独立状态栏(默认)/ 并入统计栏。
- 低余额阈值(默认 10 元):余额低于该值时显示为红色,达到或高于时显示为黑色。
独立状态栏(默认)——统计栏下方单独一行:

并入统计栏——追加到自带统计行同一行(会话尚无统计内容时暂不显示):

两种方式下悬停均显示分模型明细与余额构成;⟳ 手动刷新(强制查询上游,成功后短暂显示"已更新 HH:MM")。
悬停气泡(示例):
本会话费用估算: ¥0.1234
deepseek-v4-flash · 输入 12,345 tokens · 输出 1,234 tokens · ¥0.0152
余额: ¥36.44
充值余额: ¥30.00
赠送余额: ¥6.44
更新于 10:32
费用为估算值:token 用量来自会话日志,单价见官方定价页(…)。
安装
从 npm 安装:
dsh plugin --profile web add @kidli1412/dsh-session-cost
从 GitHub 安装:
dsh plugin --profile web add github:KIDLi1412/dsh-session-cost
本地开发(链接安装,改动即时生效):
dsh plugin --profile web add link:path/to/dsh-session-cost
安装后重启 dsh web,浏览器硬刷新(Ctrl+Shift+R)。打开任意会话即可在输入框下方看到状态栏。
移除:
dsh plugin --profile web remove @kidli1412/dsh-session-cost
架构
| 文件 | 角色 |
|---|---|
lib/index.js |
服务端:GET /api/session-cost/summary?session=<id>(增量折叠会话事件并按模型计价)、GET /api/session-cost/balance(DeepSeek 余额,loopback-only 精确路由,?refresh=1 强制绕过缓存) |
lib/cost.js |
纯函数:按模型 token 折叠(replace-last-sample 语义)+ CNY 单价表 + 费用计算 |
lib/balance.js |
纯函数:DeepSeek 余额接口查询与状态归一化 |
lib/client.js |
浏览器端:conversation.composer.dock 槽位(id session-cost, order 100)+ settings.plugin.item 设置卡片;显示方式存 localStorage(dsh-session-cost:config),"并入统计栏"模式把费用/余额段追加进自带统计行 DOM(MutationObserver 在 React 重渲染后重新挂载) |
费用为估算值:token 用量来自会话日志中 provider 上报的 usage 样本,单价表为写死的默认值,价格变动后请更新 lib/cost.js 的 DEFAULT_PRICING(或通过插件配置 pricing 覆盖)。
定价表(默认,CNY / 百万 tokens)
取自官方定价页(模型 & 价格 中文版,2026-08 现行价;2026-08-17 起改为峰谷定价,见官方页面):
| 模型 | 输入(缓存未命中) | 输入(缓存命中) | 输出 |
|---|---|---|---|
| deepseek-v4-flash | ¥1 | ¥0.02 | ¥2 |
| deepseek-v4-pro | ¥3 | ¥0.025 | ¥6 |
| deepseek-chat(V3 遗留,默认) | ¥2 | ¥0.5 | ¥3 |
| deepseek-reasoner(V3 遗留,默认) | ¥4 | ¥1 | ¥16 |
cacheWrite 无 DeepSeek 等价项(上下文缓存自动命中计费),默认按缓存未命中输入价计,避免低估。
插件配置(可选)可覆盖定价:
# ~/.dsh/settings.yaml 或 profile 插件配置
session-cost:
pricing:
deepseek-v4-flash:
input: 1
cacheRead: 0.02
cacheWrite: 1
output: 2
安全
- 两个端点均为 loopback-only 精确路由(peer socket 地址 + Host 双重校验),浏览器同源调用。
- API Key 不落盘:请求时经 credentials 缝解析
llm-deepseek命名空间的apiKeyEnv(默认DEEPSEEK_API_KEY)。 - 余额缓存仅存于内存,2 分钟 TTL。
License
MIT
链接
同类插件
Ychris12138/dsh-usage-stats★ 43
多供应商用量看板:按供应商/模型统计 Token 与日期下钻,统一展示账户余额,并追踪 OpenCode Go / Z.ai 订阅额度。
Han-1413141/dsh-cost-meter★ 42
会话与当日 API 费用统计、预算图框(已用%)、官方余额、历史看板,支持峰谷计价与官方价格一键同步。
feibi-mochi/deepseek-harness-wallet★ 19
多供应商钱包标签:官方 DeepSeek 余额、本会话花费与 token、第三方合计 token、一键充值、低余额提醒。
zh667/TokenLedger★ 16
侧边栏用量面板:把 Token 归属到实际服务该请求的中转站,站点从已有的 provider 配置中读出,无需额外配置;含今日/本月/累计三窗口、按站点与模型下钻、一年活跃度热力图,以及 New API / Sub2API / DeepSeek 余额。
Ghost011118/dsh-balance-meter★ 15
输入框 dock 显示 DeepSeek 账户余额与会话花费,自动拉取官方定价,支持高峰/低谷计价。
Make0209/dsh-usage-stats★ 14
GitHub 风格用量热力图看板:按工作区统计使用次数与 Token 花费(含缓存命中率)、DeepSeek 账户余额查询、工作区别名管理。