Repository navigation
Releases: lizilong1993/dsh-offpeak
Release list
dsh-offpeak v3.3.8
v3.3.8
- 注入消息改用 DSH v4 的 producer-owned source kind(
plugin:offpeak/plugin:<id>),不再使用 v3 的{kind:'plugin',plugin}。 - 这修掉了 0.2.1 上「本轮运行失败 … UNKNOWN」:旧写法会在 durability checkpoint 的 flush 里被
assertV4SourceRowAdmission拒绝,而失败批次回写缓冲、永不落盘(所以日志无痕)。 - 覆盖三处生产点:
wiring.sendResume、retryfollowup、pause-gateinstructions;新增静态扫描 + 形状断言防回归。
安装:dsh plugin --profile desktop add dsh-offpeak@3.3.8(重启 DSH 生效;被卡住的会话内存态会在重启时清掉)。
dsh-offpeak v3.3.5
v3.3.5
- 「显示时区」下拉改为完整 IANA 时区清单(约 400+ 个,来自
Intl.supportedValuesOf('timeZone')并补上UTC),不再只有 9 个常用时区;短名单仅作老运行时兜底。 - 展示换算、默认值(策略时区)与
localStorage持久化逻辑均未改动。
安装:dsh plugin --profile desktop add dsh-offpeak@3.3.5(重启 DSH 生效)。
dsh-offpeak v3.3.4
v3.3.4
- hover 卡片仅在详情面板收起时展示;文案改为
拦截列表【…】(不再把拦截列表绑到官方来源名)。 - 「显示时区」控件由 datalist 换成原生
<select>:该 GUI 里 datalist 只显示匹配项(看起来只有 1 个选项),数据本身正常(9 个时区)。 - 默认值、持久化(
offpeak.displayTz)与换算逻辑均未变。
安装:dsh plugin --profile desktop add dsh-offpeak@3.3.4(重启 DSH 生效)。
dsh-offpeak v3.3.3
v3.3.3
修正
- v3.3.2 里那条「已知限制」不成立:徽标在 DSH 0.2.1 上可以正常工作。 依据 0.2.1 官方发布的类型核实(
@deepseek-ai/dsh-client-ui-slots@0.2.1-rc.2、@deepseek-ai/dsh-client-ui-conversation@0.2.1-rc.2):- 槽位
conversation.input.right仍声明为{ kind: 'list', scope: 'session' }; slots服务仍有register/inject;- session 作用域槽位仍注入
sessionId—— 正是徽标读取的 prop。
- 槽位
- 因此客户端半无需移植;此前「0.2.1 里槽位 id 消失」是扫描压缩 bundle 得到的假阴性。
安装:dsh plugin --profile desktop add dsh-offpeak@3.3.3(升级后需重启 DSH)。
dsh-offpeak v3.3.2
v3.3.2
修复
- 适配 DSH 0.2.1 线:
engines.dsh增补>=0.2.1-rc.1 <0.2.2-0。此前在 DSH0.2.1-rc.2上,插件管理器因引擎范围不匹配整包跳过(skipping profile bundle "dsh-offpeak" … incompatible),插件完全没加载。 - 已在
0.2.1-rc.2实测:安装后--dump-config零跳过、零 patch 报错,offpeak条目正常组装;宿主 API(webServer.register/timer/commands.register/goals/agent/request/session/event/agents.roots)均在位。
已知限制
- 徽标注册的客户端槽位
conversation.input.right在 0.2.1 的客户端 bundle 里已不存在,徽标/面板可能不显示;host 半(峰谷门控 +/session-guard/*路由与配置写入)不受影响,客户端半恢复需按新槽位 API 移植。
安装:dsh plugin --profile desktop add dsh-offpeak@3.3.2(升级后需重启 DSH)。
dsh-offpeak v3.3.0
v3.3.0
新增
- 面板底部「当前高峰谷时」:按你的配置预填每段 开始 – 结束(可增删行)+「周末默认谷时」复选框;保存经新 RPC
setPeakPolicy写回config/offpeak.json(只改peakPolicy.peakWindows与weekendPolicy.enabled,其它键与每行星期限制原样保留)并立即生效,无需重启。 - 显示时区选择(默认策略时区,可填任意 IANA 名):畅跑时间、峰谷时段与 hover 卡片按它换算展示;配置文件里的时间值不动。
变更
- 徽标 hover 改为自绘卡片(原生
title做不到「固定宽度 + 滚动」):文案由你的实际配置生成 —— 当前窗口、拦截 <来源名单> 的【滚动展示的拦截列表】、其它来源是否放行、周末规则、下一段高峰、挂起/延后计数;无障碍文本走aria-label,prefers-reduced-motion停滚动。 - 响应式:容器查询(面板 ≤360px 时按钮只留图标,文案进 tooltip)、行内元素换行、窄屏单月日历;弹层改为水平居中于徽标,极窄视口退化为底部贴合弹层。
移除(BREAKING)
- step 级门控整体删除(与会话门重复):
src/step-gate.js、stepLevelPause/stepGateTimeoutMs配置键、stepPause/stepResumeRPC、/status的stepHeld/stepLevelPause、/state与/diag的 stepGate 块,以及只为它服务的GET /session-guard/eventsSSE 流。 - 入峰现在一律走回合级暂停(
stopNextTurn)—— 与你此前stepLevelPause:false的行为一致。 - 迁移:旧配置里残留的
stepLevelPause/stepGateTimeoutMs会被静默忽略(可随手删掉);升级后重启 DSH(host 半有改动)。
安装:dsh plugin --profile <profile> add dsh-offpeak@3.3.0(或本 Release 的 tgz / github:lizilong1993/dsh-offpeak)。
dsh-offpeak v3.2.0
v3.2.0
修正
- 按钮 hover 提示改成与真实行为一致:徽标提示不再写死「仅拦截 DeepSeek 官方源」(判定名单可配置,且勾选进拦截列表的模型名也算官方目标),也不再用「二维判定」这类内部行话。现为:
只拦官方目标[ + 拦截列表 N 个模型名](其它来源照常放行)/未启用来源判定:入峰暂停全部会话、请求不拦;周末阶段不再重复「周末模式」;计数写成挂起请求/延后待恢复/step 门挂起。 - 其余 hover 提示(模型面板 5 处、日历导航 4 处、每行暂停/删除、重置为当前时刻)逐条对照 handler 复核,均为当前行为。
移除
- 失效的畅跑按钮文案
freeRunLabel/freeRunTitle/remainingText:独立「畅跑」按钮在 v3.1.6 已并入徽标面板,其提示「点击打开畅跑任务管理」指向不存在的 UI。
安装:dsh plugin --profile <profile> add dsh-offpeak@3.2.0(或本 Release 的 tgz / github:lizilong1993/dsh-offpeak)。
dsh-offpeak v3.1.7
v3.1.7
- 面板响应式布局:宽度
min(设计宽, calc(100vw - 24px))、max-height: min(70vh, 560px)+ 内部滚动,窄窗口不再溢出/被裁切;过滤行与畅跑工具条换行,双月日历改弹性列、≤520px只显示单月并切左对齐底部贴合定位。 - 展开时点击面板之外的区域会自动收回(
mousedown+rootRef.contains(target)),与再次点击徽标收起一致;面板内点击(含日历浮层)不收起。 - 移除
publishConfig.tag(旧多线发布遗留),发布直接进latest。
Install: dsh plugin --profile <profile> add dsh-offpeak@3.1.7 / 本 Release 的 tgz / github:lizilong1993/dsh-offpeak。
dsh-offpeak v3.1.6
v3.1.6
- 高峰拦截列表改为精确模型名匹配(撤销关键字/正则批量拦截),面板带关键词过滤、全选/取消全选、热重载与逐项撤销。
- 徽标四态(高峰 / 高峰 · 拦截中 / 高峰 · 畅跑中 / 谷时);畅跑任务内嵌到徽标面板顶部。
- 配置只认 config/offpeak.json;状态目录 .dsh/offpeak;环境变量 DSH_OFFPEAK_*。
- 保留稳定面:
/session-guard/*路由与sessionGuard服务端口。
English: exact model-name interception list (keyword interception removed), four-state badge with the free-run tasks inside the badge panel, config/offpeak.json / .dsh/offpeak / DSH_OFFPEAK_* identity, and the /session-guard/* + sessionGuard surface kept stable.
Install (community channels):
dsh plugin --profile <profile> add dsh-offpeak # npm(发布后)
dsh plugin --profile <profile> add github:lizilong1993/dsh-offpeak # GitHub(需在 profile 的 pnpm-workspace.yaml 加 allowBuilds)
dsh plugin --profile <profile> add ./dsh-offpeak-3.1.6.tgz # 本 Release 资产(零权限)