DSH Budget View:在 DSH 中查看额度与费用

前言

在 DeepSeek Harness(DSH)中开发或使用时,会同时依赖 Codex、OpenCode Go 和 DeepSeek 官方 API。多个服务的额度、余额、波峰/波谷计价规则各不相同,需要在不同页面切换查看。DSH Budget View 插件把这些信息集中展示在输入栏下方和新会话页,并按 DeepSeek 官方人民币峰谷价估算本次会话费用。

功能概览

DSH Budget View 在输入框下方和新会话页显示以下信息:

  • DeepSeek 余额:账户剩余金额
  • DeepSeek 波峰 / 波谷状态:当前计价时段
  • 本次会话费用:按 DeepSeek 官方峰谷价估算
  • Codex 剩余额度:5 小时 / 7 天剩余时间
  • OpenCode Go 剩余额度:5 小时 / 7 天剩余时间

这些数据会自动刷新,波峰 / 波谷状态每 30 秒更新一次。

输入框下方显示

输入框下方最左侧显示 DeepSeek 波峰 / 波谷徽标,随后是余额与本次费用:

● 波峰   余额 ¥6.45 · 本次 ≈¥6.10
  • 波峰为琥珀色,波谷为绿色
  • 仅 DeepSeek 官方模型显示波峰 / 波谷徽标
  • Codex 模型显示 5h / 7d 剩余额度
  • opencode-go 提供商的模型显示 OpenCode Go · 5h 69% · 7d 95%,悬停可查看重置时间
  • 悬停可查看北京时间峰谷规则

新会话页显示

在工作区、预设模式同一行的右侧显示紧凑胶囊:

  • Codex:星标 + 5h 69% + 7d 95%
  • OpenCode Go:OpenCode Go + 5h 69% + 7d 95%
  • DeepSeek:钱包 + 余额 ¥6.45 + 波峰 / 波谷 徽标

支持两种显示样式:胶囊 / 纯文本,以及两种密度:紧凑 / 标准。窄窗口会自动换行。

插件详情设置

打开 DSH Desktop 的「设置 → 插件 → dsh-budget-view」,在插件详情页调整并自动保存。主要设置项包括:

设置 可选值 默认
费用货币 自动 / USD / CNY 自动
汇率模式 自动(ECB)/ 手动 自动
备用 USD → CNY 汇率 0.01–100 7.1
显示本次费用 开 / 关 开
显示 DeepSeek 余额 开 / 关 开
区分波峰 / 波谷计价 开 / 关 开
刷新间隔 15 / 30 / 60 / 120 / 300 秒 60 秒
新会话页显示 全部 / 跟随当前模型 / 仅 Codex / 仅 DeepSeek / 仅 OpenCode Go 全部
新会话页样式 胶囊 / 徽标、纯文本 胶囊
胶囊密度 紧凑 / 标准 紧凑
显示图标 开 / 关 开
新会话页波峰 / 波谷 开 / 关 开
输入栏左侧波峰 / 波谷 开 / 关 开
Codex auth.json 路径 路径文本 ~/.codex/auth.json
DeepSeek 凭据引用 凭据键名 DEEPSEEK_API_KEY
DeepSeek API 基址 URL https://api.deepseek.com

设置保存在 $DSH_HOME/storages/dsh-budget-view.json。

OpenCode Go 凭据

在运行 DSH 的环境中设置 OPENCODE_API_KEY 环境变量,然后完全退出并重新启动 DSH,让 Host 进程读取新的环境变量。Windows PowerShell 可持久化为用户环境变量:

[Environment]::SetEnvironmentVariable('OPENCODE_API_KEY', '你的 OpenCode API Key', 'User')

额度由 Host 使用 Bearer 认证查询 https://opencode.ai/zen/go/v1/usage。接口来源见 OpenCode 官方用量接口 PR。当前响应的 usage.rolling / usage.weekly 对应 5 小时 / 7 天窗口,percent 是已用百分比;插件显示 100 - percent,并兼容旧版 rollingUsage / weeklyUsage 响应。

  • Key 只从 Host 的进程环境读取,不写入插件设置,也不会返回浏览器
  • 使用既有刷新间隔,Host 对成功结果缓存最多 30 秒;更换 Key 会使用独立缓存
  • rate-limited 窗口显示 0% 剩余;缺少 Key、认证失败或查询失败时显示 —,悬停查看原因
  • opencode-go 下的 DeepSeek 模型显示 Go 订阅额度,不展示 DeepSeek 官方账户余额或会话费用

计价规则

费用按 DeepSeek 官方价格页的人民币价计算(元 / 百万 tokens):

模型 时段 输入未命中 输入命中 输出
deepseek-flash 波峰 2.00 0.04 8.00
deepseek-flash 波谷 1.00 0.02 4.00
deepseek-v4-pro 波峰 9.00 0.30 27.00
deepseek-v4-pro 波谷 4.50 0.15 13.50
  • 波峰:北京时间周一至周五 9:00–12:00、14:00–18:00
  • 波谷:其余时间、周末、中国法定节假日全天
  • 调休上班的周六 / 周日仍按官方“周末全天”规则计为波谷
  • 内置国务院 2025 年放假通知与 2026 年放假通知的完整放假日期
  • 可通过设置 JSON 的 cnHolidays 追加日期

Token 来源

优先读取 dsh-context 的按日 contextActivity 账本,并把节假日工作日的 peak token 重新按波谷价计价;普通工作日继续使用 contextTimeline 的 peak / off 分桶。

如果 dsh-context 不可用,则回退到 contextTimeline.cost(不能重新归类历史节假日),再回退到 DSH tokenUsage,按当前模型和当前时段估算。

费用是估算值,不等同于 DeepSeek 账单。

汇率

仅支持 USD → CNY。fxMode: "auto" 时 Host 从 ECB 参考汇率获取,缓存 6 小时;失败时回退到手动备用汇率。设置页显示当前汇率、日期和刷新按钮。

DeepSeek 价格本身为人民币;美元显示按 CNY 成本 ÷ USD→CNY 汇率 计算。

安装

通过插件页面

  1. 打开 DSH Desktop 的「插件」页面,添加插件。
  2. 输入 npm 包名:
   dsh-budget-view@0.4.0
  1. 安装后完全退出并重新打开 DSH。
  2. 在输入框下方和新会话页查看预算信息。

安装源可选择 npm 官方源或镜像源。镜像同步可能延迟,固定版本可使用 dsh-budget-view@0.4.0。

使用 dsh 命令

先启动一次 DSH Desktop 完成初始化,再完全退出,在终端运行:

dsh plugin --profile desktop add dsh-budget-view@0.4.0

安装后重新打开 DSH。

从 Release 或本地包安装

从 v0.4.0 Release 下载 dsh-budget-view-0.4.0.tgz,在插件页面选择本地安装。也可以使用版本标签:

github:SuShuheng/dsh-budget-view#v0.4.0

本地开发目录可直接添加;安装后同样需要重启 DSH。

从 0.3.1 升级

更新到 dsh-budget-view@0.4.0,设置 OPENCODE_API_KEY 后完全重启 DSH。既有设置会保留;新会话页原来的「Codex 与 DeepSeek」(heroMode: "both")现在显示全部三项,也可在插件设置中选择「跟随当前模型」或「仅 OpenCode Go」。

兼容性与依赖

  • DSH Desktop:0.2.1-rc.2(使用公开 Slot、Projection、主题 token 与 Host RPC)
  • dsh-context:可选,建议启用,用于精确 token 与按日峰谷重算
  • dsh-codex-auth:可选,用于读取 Codex 凭据;未安装时回退 ~/.codex/auth.json
  • 不需要额外 npm 依赖

网络接口:

  • Codex:https://chatgpt.com/backend-api/wham/usage
  • OpenCode Go:https://opencode.ai/zen/go/v1/usage
  • DeepSeek:https://api.deepseek.com/user/balance
  • 汇率:https://api.frankfurter.app/latest?from=USD&to=CNY

DeepSeek API Key 通过 DSH credentials 服务读取,Codex 凭据通过 codexAuth 服务或本地 auth.json 读取,OpenCode Go Key 从 OPENCODE_API_KEY 环境变量读取,不会返回给浏览器。

开发与验证

npm run check
npm test

npm test 覆盖节假日与调休上班日、波峰 / 波谷边界、节假日按波谷重算、普通工作日按波峰计算、cnHolidays 追加日期、contextActivity / contextTimeline / tokenUsage 三级回退、CNY / USD 显示、OpenCode Go 的 Host RPC、Bearer 认证、剩余额度换算、新旧响应、缓存与换 Key、OpenCode Go 的缺失凭据、认证失败、超时、无效响应及汇总查询隔离、OpenCode Go 的输入栏、新会话页显示模式、胶囊 / 纯文本及中英文文案。

发布前会执行 prepublishOnly 的语法检查与测试。

版本记录

版本 内容
0.4.0 新增 OpenCode Go 5 小时 / 7 天剩余额度;读取 OPENCODE_API_KEY;支持输入栏与新会话页显示。
0.3.1 按国务院 2025–2026 节假日将法定节假日计为波谷;使用 contextActivity 按日重算;新增 cnHolidays。
0.3.0 输入栏新增波峰 / 波谷徽标;新会话页改为可配置胶囊;新增样式、密度、图标与徽标设置。
0.2.0 插件详情设置;新会话页 Codex / DeepSeek 信息;ECB 实时汇率;DeepSeek 人民币峰谷价。
0.1.0 初版输入栏预算胶囊与 DeepSeek 余额。

License

MIT © 2026 SuShuheng

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜