dsh-peak-valley-reminder: Peak and valley periods and balance reminders in DSH

前言

DeepSeek Harness(DSH)把智能体开发收进一个可扩展的桌面/Web 客户端。调用 DeepSeek API 时,官方按峰谷分档计价:峰时标准价,谷时约为 5 折;工作日在北京时间 09:00、12:00、14:00、18:00 还会切换,周末和法定节假日全天谷时。若只靠记忆或偶尔查文档,很容易在峰时跑大批推理、或在切换点前后误判当前档位。

社区插件 dsh-peak-valley-reminder(维护者 Anmoku-Yomogi,SkillHub 目录页)在 DSH 窗口里加两块常驻 UI:顶部居中的「灵动岛」显示当前峰/谷与距下次切换的倒计时,右下角一张可拖动的余额卡显示账户余额。插件通过 Cordis 以 insert 方式挂载,非 DeepSeek 官方出品;分类为客户端,当前 GitHub 星标为 1,许可证 MIT,版本 1.0.0。

下面介绍它解决什么问题、界面如何工作,以及如何在 profile 里用本地 link 启用。

这是什么

dsh-peak-valley-reminder 是面向 DSH Web 客户端的 bundle 插件。它不替代官方定价页,而是把「现在是什么时段、还有多久切换、登录账户还剩多少钱」压进两小块界面:默认只露出顶部一个 32×32 圆点,需要时再展开;余额单独放在右下角,避免挡主工作区。

宿主需能提供 @deepseek-ai/dsh-api-remotes(读余额)、@deepseek-ai/dsh-client-locale(中英文)、@deepseek-ai/dsh-client-ui-layout(shell.overlay 槽位)。余额来自当前登录账号的实时接口,资料写明不会写入本地文件,仅在内存中缓存约 10–30 秒(随空闲/消耗状态变化)。

峰谷规则(插件如何实现)

插件按 DeepSeek API 官方定价时段(北京时间 UTC+8)硬编码逻辑:

  • 峰时:周一至周五 09:00–12:00、14:00–18:00。
  • 谷时:其余时间(含 12:00–14:00、18:00 之后)、周末及法定节假日全天。
  • 法定节假日使用内置假日表(资料已覆盖 2026、2027 年);节假日与周末不会出现峰时,界面也不会进入峰时红色主题。

工作日四个切换点与「最后一小时」提醒对应关系如下(摘自仓库说明):

时刻 变化 切换前 1 小时(08:00–09:00 等)
09:00 谷 → 峰 黄色主题 + 呼吸动效
12:00 峰 → 谷 保持红色主题 + 呼吸
14:00 谷 → 峰 黄色主题 + 呼吸
18:00 峰 → 谷 保持红色主题 + 呼吸

官方若调整时段或假日安排,需自行更新源码中的 HOLIDAYS 与四个时间常量。

核心功能

顶部灵动岛

收起时,窗口顶部水平居中(距上边缘约 4px,可能与原生标题栏重叠)显示圆点:中间实心圆表示峰/谷,外圈 2px 进度环,中心粗体等宽数字表示距下次切换的剩余时间。

中心数字(收起)

剩余时间 显示
> 24 小时 天数向下取整 +「天」,如 2天
1 小时 ~ 24 小时 小时向下取整(最小 1)
< 1 小时 分钟向上取整(1–59)

外圈进度环:剩余不足 24 小时时表示当前整点小时内剩余比例,整点回满后线性递减;≥ 24 小时时底环恒满,并叠加约 22% 弧长的流光(2.4 秒/圈),颜色随谷/峰为薄荷绿或浅红。

悬停、键盘聚焦或单击(单击可固定展开)后,圆点展开为约 500×116、圆角 30px 的卡片:左侧 16px 状态点,中间为时段标题与 HH:MM:SS 或「N天M小时」大号倒计时,右侧为账户余额及充值/赠送明细。展开后余额列每 60 秒刷新。Esc 可取消固定;整块区域声明 app-region: no-drag,避免被窗口拖拽区吞掉点击。

颜色由「当前峰/谷」与「是否处于切换前最后一小时」决定:谷时常绿、峰时常红;仅 谷 → 峰 的最后一小时改为琥珀黄主题;峰 → 谷 的最后一小时仍保持红色。收起状态下最后一小时对圆点与中心数字有 10 秒周期的呼吸动效;prefers-reduced-motion: reduce 时会关闭呼吸、流光与展开动画。

右下角余额卡

默认停在右下角(right/bottom: 12px),一行如 余额:¥10.29,可拖动,双击复位。刷新策略:空闲每 30 秒;任一 Pane 会话 running 时每 10 秒,且状态切换时会立即补拉。

状态文案包括:已加载金额、加载中、未登录(登录后查看)、失败(暂不可用)。人民币余额成功加载后,边框色相按 1–100 元映射红→绿;金额越低越红。有会话消耗时,边框呈现两段橙色光斑逆时针流转(1.8 秒/圈);空闲时为 4 秒/轮的扫光。

安装与启用

资料说明:当前以 profile 内本地 link 安装,而非 dsh plugin add 一类远程命令。安装前请自行阅读 GitHub 仓库 源码与 MIT 许可证;插件以当前 DSH 进程权限运行,并可访问登录态相关的余额接口。

  1. 将仓库放到本机目录(README 示例为 D:\plugins\dsh-peak-valley-reminder)。
  2. 打开 profile 目录(桌面端默认为 %USERPROFILE%\.dsh\profiles\desktop),编辑 package.json,增加依赖与 bundle:
{
  "dependencies": {
    "@local/dsh-peak-valley-reminder": "link:D:/plugins/dsh-peak-valley-reminder"
  },
  "dsh": {
    "profile": {
      "bundles": [
        "@local/dsh-peak-valley-reminder"
      ]
    }
  }
}

(bundles 中需保留你已有的其它条目;link: 路径改成你本机实际路径。)

  1. 在 profile 目录执行:
pnpm install
  1. 重启 DSH。启动后应同时看到顶部居中圆点与右下角余额卡。

插件通过 cordis.patch.yml 挂载,id 为 dsh-peak-valley-reminder,采用 insert 方式,不覆盖内置界面。仓库已提交构建产物 client.js,安装时无需执行 node build.mjs。

典型用法

日常开发中无需额外配置项:登录 DSH 后,看顶部圆点颜色与数字即可判断峰谷与倒计时;点开灵动岛可看完整时段说明与余额列。需要余额始终可见又不想挡内容时,可把右下角余额卡拖到靠边位置,双击恢复默认位置。

若你修改 src/client.js 或 src/BalanceCard.js,在仓库根目录执行 node build.mjs 重新生成 client.js,勿直接改根目录产物文件。

适用场景与注意

适合谁:长期在 DSH 里调 API、关心峰谷价差、又希望余额与时段信息常驻视野的开发者。

平台:README 写明目前主要在 Windows 桌面端验证;package.json 中 client platform 为 web,Web 端理论上可用但未完整回归。

生态:DSH 的理念是「一切皆插件」;SkillHub 为社区目录,与 DeepSeek / 幻方无官方从属关系。本插件与 DeepSeek 官方无关,峰谷时间与假日表为硬编码,定价政策变更时需关注上游并自行更新插件。


经过上面的步骤,你可以在不大改工作流的前提下,把峰谷切换与账户余额收进 DSH 窗口顶部的灵动岛和右下角余额卡。源码、截图与开发说明见 GitHub:Anmoku-Yomogi/dsh-peak-valley-reminder;分类与简介亦可在 SkillHub 插件页 核对。

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

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

Xiaoye