前言¶
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 刚打开时可能尚未选定模型,胶囊按顺序读取:
- 按 session 的 model directory(权威;可覆盖「尚未有 model」的空 Session,反映下一 turn 将用的 provider)。
- 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、无状态的客户端装饰,安装后无需额外设置。若胶囊未立即出现,刷新页面即可。
典型用法¶
- 为 web profile 安装 bundle(见上节命令)。
- 在 Web UI 打开 Session,选择走 DeepSeek 官方或 z.ai 相关 provider 的模型。
- 看 Composer 旁胶囊:绿点 +
50% off表示当前谷时;琥珀点 +full rate表示峰时。 - 需要确认下一档切换时刻或 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 会话里做计费时段自检。