dsh-peak-hours: DeepSeek Peak-Valley Pricing Time Slot Badge and Usage Comparison

前言

用 DeepSeek Harness(DSH)做日常开发时,模型调用按峰谷计价:高峰与空闲单价不同,周末和法定节假日整天空闲。若只靠记忆或外部表格对照北京时间,很难在对话界面里立刻知道「现在是不是高峰、还有多久切换」,也不方便把本机已有会话用量按峰谷拆开算钱。

下面介绍社区插件 dsh-peak-hours(维护者 run666888,分类为客户端)。它在 Web GUI 输入框底栏显示当前峰谷状态与倒计时,并在「设置 → 通用」里基于本机会话日志做高峰/空闲用量与费用对比;数据本地读取,不依赖联网拉节假日表。

这是什么

dsh-peak-hours 是一个 DeepSeek Harness 插件,主要做两件事:

  1. 底栏角标:标明当前是否为高峰计价时段,以及距离下一次切换还有多久。
  2. 设置页卡片:把本机用量按高峰/空闲拆分,并对比「实际花费」与「假设全部落在高峰 / 全部落在空闲」的差异。

插件面向带客户端 UI 的 DSH Web GUI(dsh.client 声明 platform: web)。角标挂在 conversation.input.right,与「完全权限」、模型名、上下文占用同一行;用量统计由 host 半提供只读接口 GET /dsh-peak-hours/api/usage,除解析缓存外不写文件、不需要配置或凭据。

底栏角标显示什么

角标嵌在输入框底栏右侧,一行内用状态灯、当前时间与倒计时概括峰谷状态:

  • 状态灯:橙点表示高峰(Busy),蓝点表示空闲(Free)。
  • 当前时间:北京时间,秒级更新(与浏览器时区无关,一律按 UTC+8 计算)。
  • 倒计时:距下一次切换的剩余时间;超过一天显示如 2 days 07:11,否则为 H:MM:SS。

布局上,空间足够时角标停在「+ 与模型名之间空白带」的中点;窗口变窄或打开右侧边栏导致一行放不下时,优先让尾部(模型名、上下文、档位等)换到第二行,角标本身保持完整显示,避免拖动窗口时角标来回跳。

鼠标悬停或键盘聚焦角标会弹出详情卡,内容包括:状态与倍率(高峰 ×2、空闲 5 折)、当前北京时间、距切换倒计时及切换后状态、当前时段起止、以及「明天」是工作日、周末还是法定节假日。

计费规则(插件内置口径)

插件按 DeepSeek 峰谷定价规则判定时段:

  • 高峰:北京时间 09:00–12:00、14:00–18:00。
  • 空闲:其余时间(含 12:00–14:00、18:00 之后、09:00 之前)。
  • 整天空闲:周六、周日及中国法定节假日。
  • 闲时价为高峰价的一半。

节假日表内置在客户端,不联网;资料中写明目前覆盖 2026 年(例如中秋 9/25–27、国庆 10/1–7),2026-09-20(周日)与 2026-10-10(周六)为调休上班日仍按空闲处理。未收录年份退化为「周末空闲」规则(保守起见少标高峰);新年份安排需更新 client.js 中的 HOLIDAYS。

角标颜色为固定值(高峰 #f59e0b、空闲 #4d6bfe),不跟随主题 brand-primary,以免换皮肤后识别色变化。

设置页:高峰/空闲用量与费用对比

除角标外,插件在「设置 → 通用」增加 高峰/空闲用量与费用对比(settings.general.item,排在「性能与用量」之后)。它读取本机 DeepSeek Harness 会话日志,按每个请求发生的北京时间归入高峰或空闲,再按内置价目表折算费用。

卡片提供:

  • 三个区间:近 7 天 / 近 30 天 / 全部。
  • 三笔钱:实际花费(高峰按 ×2、空闲按 ×1)、假设全部高峰、假设全部空闲。
  • 节省金额与比例(示例格式:¥68.49 · 35.5%)。
  • 用量拆分:高峰 token、空闲 token、合计、高峰占比及橙/蓝比例条。
  • 分模型:前四个模型各自的 token 与费用。

口径与限制(与 README 一致):

  • 仅对能对上 DeepSeek 价目表的模型计费用(如 deepseek-flash 按 flash 价,deepseek-v4-pro / reasoner 按 pro 价);其他供应商模型只计 token、不计入费用并在说明中标注。
  • 价目表内置在 lib/schedule.js(元/百万 tokens,空闲→高峰):flash 命中 0.02→0.04、未命中 1→2、输出 4→8;pro 命中 0.15→0.30、未命中 4.5→9、输出 13.5→27。
  • 同一 turn+step 的多次采样按最后一次计,避免流式输出重复累加。
  • 数据来源:~/.dsh/sessions/<工作区>/<会话>/session.v4.jsonl.zstd,仅本地读取;解析结果缓存到 ~/.dsh/storages/peak-hours/cache.json。用量接口有 60 秒 TTL,卡片「刷新」会跳过缓存重新扫描。

角标部分纯客户端,不依赖 host;host 取数失败时角标仍正常工作。

安装与启用

从 npm 安装(官方 README 命令):

dsh plugin --profile web add dsh-peak-hours

从本地目录安装:

dsh plugin --profile web add /绝对路径/dsh-peak-hours

安装后刷新页面或重启 dsh web 即可生效。

卸载:

dsh plugin --profile web remove dsh-peak-hours

典型用法

  1. 安装并刷新 Web GUI 后,在对话输入框底栏右侧查看橙/蓝状态灯、北京时间与切换倒计时;需要细节时悬停角标查看倍率、本段起止与次日日历类型。
  2. 打开 设置 → 通用,找到「高峰/空闲用量与费用对比」,切换近 7 天 / 30 天 / 全部,对照实际花费与「全高峰 / 全空闲」假设,评估是否值得把重任务挪到空闲时段。
  3. 会话日志更新后,在卡片上点「刷新」强制重新解析(跳过 60 秒缓存)。

插件无额外配置文件;节假日扩展需改源码中的 HOLIDAYS 并自行维护。

适用场景与注意

适合谁:长期使用 DSH Web 界面、关心 DeepSeek 峰谷计价、希望在本机会话数据上估算峰谷费用差异的开发者。

权限与安全:插件以当前 DSH 进程权限运行,会读取 ~/.dsh/sessions 下的会话日志并在 ~/.dsh/storages/peak-hours/ 写入解析缓存。安装前应查看 GitHub 仓库 源码与 MIT 许可证,确认符合你的环境策略。

生态说明:DSH 社区插件目录(如 SkillHub 上的 dsh-peak-hours 页)为独立站点,与 DeepSeek / 幻方无官方从属关系;本文事实以仓库 README 与 package 元数据为准。

结尾

dsh-peak-hours 把峰谷时段判断嵌进日常对话底栏,并把本机用量按高峰/空闲拆开算账,适合需要「当下是否高峰」与「历史省了多少」一并看清的场景。

  • 目录页:https://www.skillhub.cn/plugins/run666888/dsh-peak-hours
  • 源码与文档:https://github.com/run666888/dsh-peak-hours
羽毛球分组比赛记分
小程序二维码

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

Xiaoye