前言¶
在 DeepSeek Harness(DSH)里用官方 API 路由跑会话时,token 会按峰谷规则计费,账户里还有多少余额、当前算高峰还是低谷,往往要切到控制台或另开页面查。会话进行中若还想估算本段对话花了多少钱,缺少和 Composer 绑在一起的入口会更不方便。
下面介绍社区插件 dsh-simple-usage-info(维护者 MarJose123),它把 DeepSeek API 余额、当前计费窗口(Peak / Off-peak) 以及 本会话估算费用 嵌进 Web 界面的 Composer dock——即消息输入框下方、上下文计量条之后的那一行 ambient 区域。点击该条可展开明细。插件在 SkillHub 目录中归类为「联网工具」;生态上 DSH 奉行「一切皆插件」,SkillHub 插件目录 为独立社区站点,与 DeepSeek / 幻方无官方从属关系。
这是什么¶
dsh-simple-usage-info 是一个 DeepSeek Harness 插件(npm 包名同插件 id,当前 README 对应版本 0.2.4,许可证 MIT)。它不替代模型路由,而是在已有 DEEPSEEK_API_KEY 凭证的前提下,在浏览器侧展示余额与计费状态,并在有 token 消耗时给出会话级费用估算。
余额查询与 deepseek-official 模型路由解析的是同一套 DEEPSEEK_API_KEY 环境变量(默认配置项 apiKeyEnv 即为 DEEPSEEK_API_KEY),无需为插件单独再配一把 Key。
核心功能¶
界面位置与交互¶
插件在 Composer 输入区下方增加一条信息栏;截图见仓库 showcase。条上的 pill 显示 Off-peak(绿色)或 Peak(红色)。点击后可查看完整 breakdown(余额、窗口、定价等分项)。
峰谷窗口与节假日¶
计费窗口按 DeepSeek 已公布的规则在浏览器本地时区下计算:低谷(Off-peak)半价;高峰(Peak) 为 UTC 周一到周五的 01:00–04:00 与 06:00–10:00,并排除中国法定节假日。节假日列表从 NateScarlet/holiday-cn 拉取(每日同步国务院公告),以保持日期表更新。配置里可改 peakWindows、peakDays、holidayURL,也可用 bundled 表作离线回退。
会话估算费用¶
当本会话存在非零 token 用量时,会出现 Estimated cost 区块,按 cached input、uncached input、output 与当前峰谷单价,折算为 USD 与 CNY。支持的模型为 deepseek-flash(DeepSeek-V41-Flash)与 deepseek-v4-pro(DeepSeek-V4-Pro-0813),费率与会话所选模型一致。
服务端接口¶
插件提供余额等数据的 HTTP 路由;服务启动后可请求:
curl -s -H 'Host: 127.0.0.1:3080' http://127.0.0.1:3080/usage/balance
响应中的 pricing.holidayData 可区分节假日来源:remote(远程拉取)、bundled(离线回退)或 none。
环境与依赖¶
安装前请确认:
- DeepSeek Harness 0.2.0-rc.2 或更高版本
- Node 20+
- 已配置
DEEPSEEK_API_KEY(可在 DSH Models 页写入,或在启动前 export)
安装与启用¶
DSH 插件管理器会转发到 pnpm,若本机没有 pnpm,先安装:
bun add -g pnpm # 或: corepack enable pnpm / npm i -g pnpm
推荐通过 profile web 安装:
dsh plugin --profile web add dsh-simple-usage-info
上述命令会安装 npm 包、写入 profile 的 dependencies,并把包名追加到 dsh.profile.bundles。因包声明了 dsh.bundle.patch,其自带的 cordis.patch.yml 会注入 loader 行,一般无需手改 bundle 列表。安装完成后重启 Web 服务(dsh web)。
手动启用(cordis.patch.yml)¶
若包已在 profile 可解析的路径(本地 link、私有源等),可在 $DSH_HOME/profiles/web/cordis.patch.yml 追加:
- insert:
- id: usage-info
name: dsh-simple-usage-info
然后重启 dsh web。不要同时使用推荐安装产生的 bundles 条目与上述 insert 行,否则插件会加载两次。
无 pnpm 时的拆分步骤¶
dsh plugin 仅通过 pnpm 安装依赖。可先在 profile 目录用任意包管理器安装,或 symlink 本地 checkout 并在 package.json 的 dependencies 中声明,再通过 cordis.patch.yml 的 insert 行或向 dsh.profile.bundles 追加 "dsh-simple-usage-info" 激活。细节见 GitHub README。
配置¶
在 profile 的 cordis.patch.yml 里,于 usage-info 对应行下设置 config。常用项如下(完整表格以 README 为准):
| Key | 默认值 | 含义 |
|---|---|---|
refreshMs |
60000 |
单次余额结果缓存时长 |
timeoutMs |
15000 |
上游请求超时 |
baseURL |
https://api.deepseek.com |
API 根地址 |
apiKeyEnv |
DEEPSEEK_API_KEY |
存放 API Key 的环境变量名 |
peakWindows |
['01:00-04:00', '06:00-10:00'] |
高峰时段(UTC,HH:MM-HH:MM) |
peakDays |
[1, 2, 3, 4, 5] |
高峰星期(0=周日) |
offPeakDiscountPercent |
50 |
低谷折扣百分比 |
示例:自定义高峰窗口并追加节假日:
- id: usage-info
config:
peakWindows:
- '01:00-04:00'
- '06:00-10:00'
holidays:
- 2027-01-01
若 peakWindows、星期或时钟格式不合法,插件在加载阶段会报错并跳过该行,避免用错误窗口响应请求。
典型用法与验证¶
- 按上一节安装并重启
dsh web,确保DEEPSEEK_API_KEY可用。 - 打开 Web Composer,在输入框下方查看余额与 Peak/Off-peak pill;有 token 消耗时可见估算费用。
- 需要脚本侧确认时,对运行中的服务执行:
curl -s -H 'Host: 127.0.0.1:3080' http://127.0.0.1:3080/usage/balance
- 在不改动你现有
$DSH_HOME的前提下,可在插件仓库内执行bun run verify:compose,检查 profile 是否正确 compose 出usage-info行。
开发者在仓库内还可运行 bun run preflight(离线断言)、bun run preflight:live(真实余额与节假日拉取)、bun run preview:panel(预览 popover markup)。插件无单独 build 步骤,lib/index.js 与 lib/client.js 为可直接加载的 ESM。
适用场景与注意¶
适合谁: 长期在 DSH Web 里用 DeepSeek 官方 API、希望在一屏内看到余额、当前是否高峰、以及本会话大致花费的开发者。
运行权限: 插件随当前 DSH 进程加载,会使用进程环境中的 API Key 并访问配置的 API 与节假日 URL。安装前建议阅读 源码与 LICENSE,确认符合你的安全与合规要求。
联网: 余额与(默认)节假日数据需要出站访问;将 holidayURL 设为空字符串可改为离线策略,并依赖 useBundledHolidays 等选项。
结尾¶
dsh-simple-usage-info 把 DeepSeek 账户余额、峰谷计费窗口和会话估算费用收进 Composer 输入区下方,与现有 DEEPSEEK_API_KEY 共用凭证,适合日常在 DSH 里控成本、避高峰的用户。