前言¶
在 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 汇率 计算。
安装¶
通过插件页面¶
- 打开 DSH Desktop 的「插件」页面,添加插件。
- 输入 npm 包名:
dsh-budget-view@0.4.0
- 安装后完全退出并重新打开 DSH。
- 在输入框下方和新会话页查看预算信息。
安装源可选择 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