dsh-account-stats
DeepSeek account stats plugin for dsh web: live balance + per-session cost with official time-window pricing
- Stars
- 1
- Language
- JavaScript
- Created
- Aug 17, 2026
- Updated
- Aug 17, 2026
Introduction
dsh-account-stats
DeepSeek 账户统计插件(dsh web 用):在输入栏右侧显示实时余额与本次会话消费,并支持悬停查看明细(估算 / 本轮余额变化 / 账户累计变化)。
- 宿主端:注册
account会话投影——实时调用 DeepSeek/user/balance(每 60 秒轮询 + 每轮结束即时结算),按官方定价页(https://api-docs.deepseek.com/zh-cn/quick_start/pricing/)**分时计价**(高峰 = 北京 9:00–12:00 / 14:00–18:00,空闲半价),按模型(deepseek-v4-flash / v4-pro)分别计费;非 DeepSeek 计费模型(如 opencode 免费模型)自动跳过。 - 客户端端:
AccountChip注册到输入栏右侧(conversation.input.rightslot),无需修改任何第三方 bundle。
安装
方式一(dsh plugin,npm 发布后):
# 从 npm 仓库安装(发布到 npm 后)
dsh plugin --profile web add dsh-account-stats
# 或本地打包安装
npm pack
dsh plugin --profile web add ./dsh-account-stats-0.1.0.tgz
方式二(一键脚本):
# 在插件目录下执行
.\install.ps1
脚本会把插件复制到 $DSH_HOME/profiles/node_modules/dsh-account-stats/,并在
$DSH_HOME/profiles/web/cordis.patch.yml 追加插件行(幂等,重复执行不会重复添加)。
方式二(手动):
- 把
dsh-account-stats目录复制到$DSH_HOME\profiles\node_modules\($DSH_HOME默认C:\Users\<you>\.dsh) - 在
$DSH_HOME\profiles\web\cordis.patch.yml追加:
- insert:
- id: account-stats
name: dsh-account-stats
config:
baseUrl: https://api.deepseek.com
apiKeyEnv: DEEPSEEK_API_KEY
refreshMs: 60000
timeoutMs: 10000
pricing:
defaultModel: deepseek-v4-flash
models:
deepseek-v4-flash:
peak:
inputCacheMiss: 3.0
inputCacheHit: 0.1
output: 9.0
offpeak:
inputCacheMiss: 1.5
inputCacheHit: 0.05
output: 4.5
deepseek-v4-pro:
peak:
inputCacheMiss: 9.0
inputCacheHit: 0.3
output: 27.0
offpeak:
inputCacheMiss: 4.5
inputCacheHit: 0.15
output: 13.5
- 重启
dsh web(插件化加载需要重启一次),刷新页面即可看到输入栏右侧的余额 chip。
需要 API Key:通过
dsh的凭据服务保存DEEPSEEK_API_KEY(Web 的模型设置页可写入),或设置环境变量。
配置说明
| 配置项 | 默认值 | 说明 |
|---|---|---|
baseUrl | https://api.deepseek.com | 余额接口地址 |
apiKeyEnv | DEEPSEEK_API_KEY | 凭据引用名 |
refreshMs | 60000 | 余额轮询间隔(毫秒) |
timeoutMs | 10000 | 余额请求超时 |
pricing.defaultModel | deepseek-v4-flash | 未识别模型时的兜底(当前不计费,见下) |
pricing.models | 官方两档价格 | 分时价格表(元/百万 tokens) |
价格按官方定价页配置;官方改价后请同步更新
cordis.patch.yml中的pricing.models。 不在价格表中的模型(如 opencode 的免费模型)不计入“本次消费”,避免虚增。
行为说明
- 本次消费(估算):会话日志中每次用量样本 × 对应时段单价,精确归属当前会话,多会话互不影响。
- 本轮余额变化 / 账户累计变化:余额差观测值——账户级数据,多会话并发或同一 Key 其他消费者时可能偏大(悬停提示已标注)。
- 余额每 60 秒刷新,并在每轮结束即时查询,保证“问答完看差价”接近实时。
- 插件热重载(如改代码后重启)后需完成一轮问答,余额差基线才会重新校准。
开发
- 宿主代码(
lib/index.js)改动后需重启 dsh 生效(Node ESM 缓存)。 - 客户端代码(
lib/client.js)改动后刷新页面即可生效(服务端实时读取)。