DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

XG221B /

XG221B/dsh-deepseek-status

Verified

DeepSeek Harness plugin: a peak/off-peak billing indicator and a live account balance beside the composer. Both self-updating, both credential-free.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@687b01c1

dsh-deepseek-status

一个 DeepSeek Harness(DSH)插件,把两件跟"花钱"有关的事常驻在输入框旁:

功能 显示 数据来源
计费时段 ● 谷价 · 距峰价 5天15小时 自动抓取 DeepSeek 官方价格页 + 法定节假日数据集,双源交叉校验
账户余额 ● 余额 ¥110.00 Harness 自带的账号服务(ctx.remote.account),插件不接触你的密钥

两者都是只读展示:不注册工具、不写会话日志、不改别的插件。零依赖、零构建(纯 JavaScript + Node 内置模块 + 宿主已提供的服务),无安装脚本、无依赖树。


界面

输入框下方那一行(三个徽标并排):

● 谷价 · 距峰价 5天15小时        ● 余额 ¥110.00

点计费徽标展开计费详情:

┌────────────────────────────────────────────────────────────────┐
│ ● DeepSeek API 计费时段                    谷价 · 半价      ✕  │
│ 国庆节假期(10月1日–10月7日)全天谷价                          │
│ 北京时间 10月2日 18:07(周五)                                 │
│ 下次切换:10月8日 09:00 转峰价(约 5天15小时)                 │
│ 当前价格(谷价)· 元 / 百万 tokens                             │
│   模型              缓存命中   缓存未命中   输出               │
│   deepseek-flash    0.02       1            4                  │
│   deepseek-v4-pro   0.15       4.5          13.5               │
│ 峰价时段为规则公布的工作日高峰窗口(…)                        │
│ 规则与价格:DeepSeek 官方文档(10月2日 18:07 自动核对)        │
│ 节假日:holiday-cn@jsdelivr(覆盖 2026)                       │
│ 已与独立数据源交叉校验一致                                     │
└────────────────────────────────────────────────────────────────┘

点余额徽标展开账户详情:

┌──────────────────────────────────────────────────────────────────┐
│ ● DeepSeek 账户余额                        ¥110.00  刷新    ✕    │
│ 充值余额 (CNY)                              ¥100.00              │
│ 赠送余额 (CNY)                              ¥10.00               │
│ 合计                                        ¥110.00              │
│ 账户:已登录(DeepSeek 账号)                                     │
│ 最后更新:刚刚 · 页面可见时每 60 秒自动刷新                       │
│ 去充值   查看用量                                                 │
│ 余额由 Harness 账号服务读取;本插件不接触你的密钥,不写入磁盘,也不外发。│
└──────────────────────────────────────────────────────────────────┘

(以上是文字示意,不是截图。颜色用宿主主题 token:谷价/正常余额用成功色,峰价/零余额或读取失败用警告色,明暗主题自动跟随,中英双语。)

余额徽标上的数字是可花费总额(充值余额 + 赠送余额)。平台把这两部分分开返回,只统计充值会让「有赠金但未充值」的账号显示成 ¥0.00。


安装

# GitHub
dsh plugin --profile <你的 profile> add github:XG221B/dsh-deepseek-status

# tarball
pnpm pack
dsh plugin --profile <你的 profile> add ./dsh-deepseek-status-2.0.0.tgz

# 卸载
dsh plugin --profile <你的 profile> remove dsh-deepseek-status

桌面版等价操作:侧边栏 Plugins → Add plugin。本包没有 install/prepare 脚本,因此不涉及 pnpm 的构建授权。首次安装通常即时生效;替换已装版本需要重启 Harness 一次(Host 模块代缓存机制,见「开发注意」)。


计费时段是怎么判断的

官方口径(DeepSeek API 文档 · 模型 & 价格):

空闲时段价格为高峰时段价格的一半。北京时间周一至周五(不含中国法定节假日)9:00 - 12:00、14:00 - 18:00 为高峰时段;其余时段,包括周末及中国法定节假日全天均为空闲时段。

这段话没有写死在代码里。运行时:

  1. 分别解析官方中文页和英文页——英文页写 UTC 窗口、中文页写北京时间窗口,换算后必须一致,峰价星期逐个比对;
  2. 解析价格表,校验每个模型每一项满足 谷价 = 峰价 ÷ 2;价格表与它的币种必须来自同一页(中文表读不出来而借用英文表时,币种一起换成美元,绝不出现「美元数字配人民币标题」);
  3. 读取两套互相独立的节假日数据集,两者对「哪天放假」必须一致;
  4. 任一环节不合规就保留上一次成功的数据并在卡片上标明,绝不猜、也绝不静默降级。

节假日按整个放假区间计(国庆 10/1–10/7 全算谷价),调休上班的周末仍按谷价。

刷新与降级:激活时读一次 → 每 6 小时一次 → 有请求且数据超 1 小时则补一次(单飞 + 5 分钟下限)。规则与节假日各自独立降级:

规则/价格:官方中文页 + 官方英文页 ─┬─ 双失败 → 上次成功的磁盘缓存 ─┬─ 也失败 → 内置快照
节假日:   holiday-cn + chinese-days ─┘                                  ┘

浏览器端每 15 分钟轮询;失败按 15s→30s→60s→120s 退避;切回前台且超 5 分钟则立即刷新。


余额是怎么读到的

插件不调用 api.deepseek.com/user/balance,也不读你的 API key。它调用 Harness 已经内置的账号 Remote——就是设置里「账号」页同一套通路:

ctx.remote.account.getBalance({ version, locale, timezoneOffsetSeconds })
// → { ok: true, value: null }                                     // 账号没有钱包(例如只用 API key)
// → { ok: true, value: { status: 'ready',
//        value: [ { currency: 'CNY', balance: '100.00' } ],       // 充值余额
//        bonusWallets: [ { currency: 'CNY', balance: '10.00' } ] } }  // 赠送余额
// → { ok: true, value: { status: 'failed' } }                     // 平台读取失败

好处:账户令牌始终留在 Host(渲染进程只拿到投影后的金额),插件自身没有网络代码,换账号/重新登录后自动跟着变(订阅 credentials/reference-updated)。

刷新时机:激活时/页面可见期间每 60 秒/切回前台/打开卡片/点「刷新」/登录状态变化;5 秒硬下限防连点。页面切到后台就暂停请求。

余额功能只在组合里存在账号命名空间时挂载;没有它时插件照常提供计费徽标,并在控制台说明一句。


隐私与安全

它不做什么

  • 不接触凭据:不读取、不存储、不转发你的 API key 或账号令牌;余额由 Harness 账号服务在 Host 侧解析。
  • 余额不落盘:余额是你的财务信息,插件不缓存、不打印、不外发,只存在于当前页面内存,关页面即消失。
  • 不修改宿主与其他插件:不写会话日志、不注册工具、不改配置或 profile 文件。
  • 无遥测。

它做什么

  1. 计费功能的出站请求(全部由 Host 半边发起,20 秒超时,公开数据、无凭据):

    用途 域名
    计费规则与价格(中文 / 英文,交叉校验) api-docs.deepseek.com
    法定节假日(主源 + 两个 CDN 边缘 + 最后兜底) cdn.jsdelivr.net、fastly.jsdelivr.net、cdn.statically.io、raw.githubusercontent.com
    法定节假日(独立数据集,交叉校验) cdn.jsdelivr.net(npm 包 chinese-days)
  2. 一条本地 HTTP 路由:GET /dsh-deepseek-status/data.json,把上面那份公开数据提供给浏览器半边(无需鉴权——只含公开定价与节假日)。Harness 的 Web 服务默认只绑 127.0.0.1,只有本机能访问;若你把 Harness 显式绑到 0.0.0.0,同网段其他人也能读到它(内容仍只是公开数据)。

  3. 本地磁盘:只在插件目录下写 cache/dataset.json(公开数据缓存,可随时删除)。余额不写任何文件。

  4. 余额的读取走已有 Host 连接,不产生第三方请求。

一点需要知情的宿主行为:账号 Remote 会把「请求方 UI 的版本、语言、时区偏移」随读取报给平台(这是 Harness 账号服务自身的设计,用来标识是哪个界面发起的请求);另外 DSH 会把已装插件包名与版本作为诊断元数据附在官方 API 请求上。


数据来源与许可

数据 来源 许可
账户余额 Harness 账号服务(ctx.remote.account) 宿主能力,插件不转载
计费规则、价格表 DeepSeek API 文档 官方公开文档,运行时读取
中国法定节假日(主源,带国务院通知溯源) NateScarlet/holiday-cn MIT
中国法定节假日(独立数据集,交叉校验) vsme/chinese-days MIT

插件不内置上述节假日数据;tools/fixtures/ 只保留解析测试所需的最小样本(价格页样本是从公开页面裁剪出的表格 + 规则段,见 tools/README.md)。

本项目以 MIT 许可发布。


已知边界

  • 余额需要「账号登录」且有钱包:纯 API key 模式(账号无钱包)时账号服务返回 null,余额徽标不显示(而不是显示假的 0)。支持 API key 场景需要 Host 侧读 DSH 凭据并直接调 /user/balance,那会多一层接触密钥的代码,目前刻意不做。
  • 余额不是逐笔实时:最快每分钟一次(外加打开卡片、切回前台、手动刷新、登录变化即刻读),且平台侧结算本身有延迟。
  • 计费需要 Web 界面 + 能出网:没有 web carrier 的部署会退化为只显示内置快照并标注;抓不到官方页时会依次退到磁盘缓存、内置快照,并在卡片上写明。
  • 替换已装版本要重启 Harness 一次:Host 按解析后的 URL 缓存已导入模块。数据刷新不受影响,只有代码更新需要重启。
  • 兼容性:本插件在 DSH 0.2.0-rc.2(技术预览)上验证。它使用 conversation.composer.dock、conversation.input.dock 两个槽位、ctx.webServer 与账号 Remote,均属预发布 API,DSH 升级后可能需要适配。
  • 计费规则有两个字段是单一来源(峰价星期、谷价比例、节假日豁免取自中文页);窗口有中英交叉校验、节假日有双数据集交叉校验。
  • 极端情况仍需改代码:官方价格页结构大改、或节假日数据源换格式时解析会失败——此时插件保留上次成功数据并写明,不会静默出错。

开发

node tools/test-data.mjs      # Host 数据层:解析、校验、降级、双源交叉校验(100 项)
node tools/test-pricing.mjs   # 计费浏览器逻辑:窗口边界、切换计算、快照合并(75 项)
node tools/test-balance.mjs   # 余额浏览器逻辑:金额格式化、多币种合计、Remote 信封映射(54 项)
node tools/test-host.mjs      # Host 端到端:路由 + 真联网抓取 + 缓存落盘(36 项)
node tools/test-bundle.mjs    # 整个 bundle 的无头冒烟:模块 id、四个槽位、可选依赖降级、故障隔离(21 项)

五套合计 286 项。test-host.mjs 需要网络,离线时联网部分报 SKIP 而非失败;它使用独立临时缓存目录,不会动部署态数据。test-bundle.mjs 按页面加载器的方式评估整个 bundle 并驱动 apply——它专门抓「能加载但什么都没挂上」这类只有界面里才看得出的故障。

架构与两条硬约束(包名 = 浏览器模块 id = 一行;Host 代码改动需重启)见 DEVELOPING.md,版本历史见 CHANGELOG.md。

English documentation: README.en.md

—/ 5

No ratings yet

Verified DSH bundle

Commit 687b01c16c88

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout