Skip to content

Releases: lizilong1993/dsh-offpeak

dsh-offpeak v3.3.8

Choose a tag to compare

@lizilong1993 lizilong1993 released this 26 Oct 11:16

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、retry followup、pause-gate instructions;新增静态扫描 + 形状断言防回归。

安装:dsh plugin --profile desktop add dsh-offpeak@3.3.8(重启 DSH 生效;被卡住的会话内存态会在重启时清掉)。

dsh-offpeak v3.3.5

Choose a tag to compare

@lizilong1993 lizilong1993 released this 19 Oct 02:15

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

Choose a tag to compare

@lizilong1993 lizilong1993 released this 19 Oct 01:58

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

Choose a tag to compare

@lizilong1993 lizilong1993 released this 17 Oct 12:09

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

Choose a tag to compare

@lizilong1993 lizilong1993 released this 17 Oct 11:58

v3.3.2

修复

  • 适配 DSH 0.2.1 线:engines.dsh 增补 >=0.2.1-rc.1 <0.2.2-0。此前在 DSH 0.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

Choose a tag to compare

@lizilong1993 lizilong1993 released this 16 Oct 04:12

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/stepResume RPC、/status 的 stepHeld/stepLevelPause、/state 与 /diag 的 stepGate 块,以及只为它服务的 GET /session-guard/events SSE 流。
  • 入峰现在一律走回合级暂停(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

Choose a tag to compare

@lizilong1993 lizilong1993 released this 15 Oct 10:18

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

Choose a tag to compare

@lizilong1993 lizilong1993 released this 15 Oct 05:14

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

Choose a tag to compare

@lizilong1993 lizilong1993 released this 13 Oct 10:09

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 资产(零权限)