Off-Peak Hours:在 Composer 旁显示 DeepSeek / z.ai 峰谷计费状态

前言

DeepSeek Harness(DSH)的 Web 会话里,Composer 下方会挂若干与当前会话相关的状态胶囊(pill)。若你选用的模型走 DeepSeek 官方或 z.ai(GLM Coding Plan)等「分时段计价」线路,下一 token 是按峰时全价还是谷时半价扣费,往往要查文档或对照 UTC 窗口心算。社区插件 Off-Peak Hours(npm 包名 dsh-off-peak-hours,维护者 Shadid516)在 Composer 旁增加一颗环境态胶囊:一眼回答「当前是 Peak 还是 Off-peak」,点击可展开与内置统计面板同风格的时段说明。插件归类为客户端装饰,无配置、无后端状态;资料注明开发过程未人工改码(PS: No human touched this code)。下文介绍其定位、能力与安装方式,事实以 GitHub README 为准。

这是什么

Off-Peak Hours 是一个 DSH bundle:在 Session 所用模型来自「按时段计价」的 provider 时,于 Composer 下方渲染一颗胶囊,并可在点击后打开 schedule 面板。它不改写计费逻辑,只根据内置 PLANS 表与当前时间(含节假日、活动期)做展示。

维护者与仓库:Shadid516/dsh-off-peak-hours。社区目录页:skillhub.cn 条目。许可证 MIT;运行环境要求 Node >=22(见 package.json 的 engines)。

核心功能

Composer 旁的胶囊

胶囊与 shipped stats pill 并列。两种状态示例如下(README 原文):

● Off-peak · 50% off · starts in 6h 40m
● Peak · full rate · ends in 1h 12m
状态 胶囊展示
Off-peak(谷时) 绿点 · Off-peak · 50% off · starts in …(距离下一状态开始的倒计时)
Peak(峰时) 琥珀色点 · Peak · full rate · ends in …(距离当前峰时结束的倒计时)

颜色用于扫一眼判断;文字供需要确认时使用。倒计时只说明「当前状态还要持续多久」,不单独说明「之后会变成什么」——后者在面板里写清。

点击打开的面板

交互与内置 stat 对话框一致:portal 到 document.body,锚在触发器上方并限制在视口内;Escape 或点击面板与触发器外部可关闭。胶囊为 button,带 aria-haspopup="dialog" 与 aria-expanded;面板为 role="dialog",标题与当前 plan 对应。

面板示例(DeepSeek,谷时):

DeepSeek                               Off-peak (50% off)
──────────────────────────────────────────────────────────────
Peak begins in 2h 9m, at Mon 01:00 UTC
Peak hours         01:00-04:00 and 06:00-10:00 UTC, Mon-Fri, excluding
                   Chinese public holidays.
Time               Sun 22:50 UTC · Mon 06:50 UTC+8
Holiday calendar   2025-2026
Provider           deepseek-official

要点:首行用文字复述胶囊结论;下一行说明即将开始的状态(而非让「starts in …」单独承担语义)。若变更在一天以内,时间戳带星期;更远则带日期。遇中国法定节假日或 vendor 活动,详情列表最上方会先列出覆盖项,例如 Holiday、Campaign 行。

支持的计费 plan

每个 plan 自带 schedule;当前 Session 选中的 provider 决定用哪张表。同一时刻对不同 plan 可能是峰或谷,胶囊只反映「当前生效」的那一张。

DeepSeek

窗口 费率
周一–周五 01:00–04:00、06:00–10:00 UTC,排除中国法定节假日 峰时(全价)
其余时段、整个周末、法定节假日全天 谷时(半价)

周末始终按谷时处理,即使调休把周末标成补班日。节假日以中国标准时间(UTC+8)判定。

z.ai(GLM Coding Plan)

窗口 费率
周一–周五 14:00–18:00 新加坡时间(UTC+8),即 06:00–10:00 UTC 峰时(全价)
其余时段(含周末) 谷时(半价)

该 plan 不排除节假日:法定假日若落在峰时窗口内仍计峰时,与 DeepSeek 行为不同,README 说明为有意设计并有测试覆盖。

活动(Campaign):2026-09-25 至 2026-10-07(UTC+8 自然日,含首尾)全天按谷时计价;活动期间胶囊会带 campaign 提示,面板有 Campaign 行。活动结束后需从 promotions 删除对应条目,否则会一直生效。

pi-ai 目录中 zai 与 zai-coding-cn 两条路由解析为同一 schedule。

何时不显示

若当前 provider 没有任何 plan 的 matches 认领,完全不渲染(无胶囊、无占位)。自定义路由若用了 vendor 但 plan 未扩展 matches,也会保持隐藏,避免猜测。

Provider 如何解析

Session 刚打开时可能尚未选定模型,胶囊按顺序读取:

  1. 按 session 的 model directory(权威;可覆盖「尚未有 model」的空 Session,反映下一 turn 将用的 provider)。
  2. Session 的 projected model selection(directory 尚无结果时的回退)。

两者都无法映射到已定义 plan 时,不显示胶囊。

安装与启用

包已发布到 npm:dsh-off-peak-hours。声明了 dsh.bundle 的包在安装后会进入 profile 的 bundle layers,一条命令即可启用。

在已把 dsh 加入 PATH 的 shell 中(README 原文):

dsh plugin --profile web add dsh-off-peak-hours                    # from npm
dsh plugin --profile web add github:Shadid516/dsh-off-peak-hours   # latest main

在 DSH 会话内:

plugin_manager install_bundle dsh-off-peak-hours

若使用本地目录(需绝对路径):

plugin_manager install_bundle /absolute/path/to/dsh-off-peak-hours

README 说明:这是无配置、无 service、无状态的客户端装饰,安装后无需额外设置。若胶囊未立即出现,刷新页面即可。

典型用法

  1. 为 web profile 安装 bundle(见上节命令)。
  2. 在 Web UI 打开 Session,选择走 DeepSeek 官方或 z.ai 相关 provider 的模型。
  3. 看 Composer 旁胶囊:绿点 + 50% off 表示当前谷时;琥珀点 + full rate 表示峰时。
  4. 需要确认下一档切换时刻或 Peak hours 条文时,点击胶囊打开面板;对照 Time 行的 UTC 与 UTC+8 显示。

扩展其他 vendor 时,维护者文档指向修改 client.js 顶部 PLANS 表,并在 EN / ZH 字典中补齐 labelKey 与 scheduleKey(测试要求两字典同步)。新 plan 字段包括 peakWindowsUtc、usesChinaHolidays、promotions、matches(provider) 等,详见 README「Adding a plan」一节。

适用场景与注意

适合谁:长期在 DSH Web 里用 DeepSeek 或 z.ai 分时段套餐、希望发请求前确认是否处于半价窗口的开发者;也适合需要对照官方 Peak hours 文案、节假日与活动覆盖的人。

分类与权限:插件属于客户端 bundle(dsh.client.platform: web),逻辑在浏览器侧展示 schedule;Host 侧 index.js intentionally 为空。安装插件会以当前 dsh 进程 的权限加载 bundle;安装前应自行查看 源码 与 MIT 许可证,确认可接受后再加入 profile。

生态说明:DSH 社区插件目录(如 skillhub.cn)为独立站点,与 DeepSeek / 幻方无官方从属关系;本文不将其描述为官方应用商店。

时效:节假日日历、Campaign 日期写死在 plan 与 promotions 中;vendor 调价或窗口变更时需 fork 或等待上游更新 PLANS,插件不会自动拉取远程价目表。

结尾

Off-Peak Hours 把「下一 token 是峰时全价还是谷时半价」收成 Composer 旁一颗可点击的胶囊,并内置 DeepSeek 与 z.ai 的 UTC 窗口、中国节假日与已知 Campaign 规则。无配置、装完即用,适合在 DSH Web 会话里做计费时段自检。

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

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

Xiaoye