DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
W

dsh-work-on-time

Work On Time

DSH work on time: On weekdays in Beijing Time, 9–12 / 14–18, it only accepts requests and outputs task lists; at other times, including weekends and statutory holidays, it automatically wakes sessions to execute previously queued tasks.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:YuGaN525/DSH-work-on-time#f7f51e0bf3aa8266124dadffd3ec66f42c85ac63
READMECompatibilityVersions

Compatibility and provenance

Work On Time is published as dsh-work-on-time and currently resolves to version 1.0.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
github
Registry updated
10/23/2026

Versions

1.0.0stable
10/23/2026

Related plugins

Loading related plugins…

Latest
1.0.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
any
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
10/23/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in productivity-workflow.

Client Ui Task Board@linxin666/dsh-client-ui-task-boardHost-authoritative task board for the DSH Web GUI with real session execution, Host cron scheduling, and optional cross-platform idle-sleep protection; mounted without DSH source changes.Web All@linxin666/dsh-web-allDSH Web UI 全家桶聚合插件:一键安装全部功能插件(task-board / pet / web-ui-settings / skin-center / community-plugins / compat shim)。compat 桥接层已并入本包(src/client),无需独立 compat npm 包。Archive Manager@michengai/dsh-archive-manager归档、恢复、收藏和永久删除会话,并诊断损坏的会话日志。 · Archive, restore, favorite, and permanently delete sessions, and diagnose damaged session logs.Remotedsh-remoteRemote-work assistant for DeepSeek Harness: connect SSH (password/key/agent/keyboard-interactive, multi-hop ProxyJump), list hosts from ~/.ssh/config, pick a remote workspace, operate on it with 21 rw_* tools, conflict-aware mirror sync, an embedded PTY t

README

DSH work on time(dsh-work-on-time)

一个给 DeepSeek Harness(DSH)用的宿主插件: 峰时只收需求、只排任务;谷时自动把排好的任务跑起来。

灵感来自 DeepSeek 的错峰优惠:把“写代码”这类重活挪到便宜的时段,而把“想清楚要做什么”留在工作时间。

峰时 / 谷时怎么算

默认按北京时间(Asia/Shanghai):

时段判定
周一至周五 09:00–12:00峰时
周一至周五 14:00–18:00峰时
周末、法定节假日全天谷时
工作日其余时间谷时
  • 区间是左闭右开:09:00 整算峰时,12:00 整算谷时。
  • 支持跨零点窗口(如 22:00–02:00)与全天窗口(start === end)。
  • 调休上班日、额外放假/剔除日期都可以自己配。

它做了什么

  1. 峰时:插件向模型注入一段系统提示,并拦截执行类工具(pwsh/write/edit/subagent/workflow 等,可配置)。 模型只能把需求拆成任务清单,调用 pv_enqueue 入队,然后告诉你“已入队,谷时执行”。
  2. 谷时:插件心跳(默认 45 秒)发现当前是谷时,就把所有 queued 批次按会话分组, 向对应会话投递一条 【谷时任务启动 · dsh-work-on-time】 消息(内含批次 id、需求、编号任务清单、执行要求), 模型随后按清单逐条执行;每批结束调用 pv_complete 记录结果。
  3. 会话当时没开也没关系:批次一直留在队列里,等会话恢复后的第一个谷时再投递。

安装

git clone https://github.com/YuGaN525/DSH-work-on-time.git

然后在 DSH 里安装(插件目录的绝对路径):

plugin_manager → action: install_bundle
                 target: <绝对路径>/DSH-work-on-time

安装后插件会自动启用,pv_* 工具立即可用。改完 index.js 后需要重载:

plugin_manager → action: set_plugin
                 target: include:work-on-time
                 enabled: false      # 先关
                 enabled: true       # 再开

target 必须是精确的 entryId(include:work-on-time),传包名会报 unknown-plugin。

工具

工具作用
pv_enqueue入队一个需求 + 任务清单。峰时唯一应该调用的写操作;不传 tasks 时按换行/分号自动拆分(最多 12 条)。
pv_status查看当前峰/谷、距下次切换多久、队列与批次详情(可传 batchId)。
pv_complete标记批次完成:outcome 为 done/partial/failed,附 summary。
pv_cancel取消一个还没开的批次。
pv_run立刻强制开跑(跳过峰谷判断)。峰时用它会在该批次运行期间临时放行执行类工具。
pv_config改配置:峰时窗口、节假日、时区、心跳、守卫开关等。

配置

配置优先级:内置默认值 → cordis.patch.yml 的 config: → $DSH_HOME/work-on-time.config.json(pv_config 写入这里,最高)。 所以用 pv_config 改过之后,再改 cordis.patch.yml 不会生效;要恢复 patch 默认值,删掉 $DSH_HOME/work-on-time.config.json 再重载。

常用项(都可在 cordis.patch.yml 或 pv_config 里改):

timeZone: Asia/Shanghai
peakWindows:
  - { days: [1, 2, 3, 4, 5], start: '09:00', end: '12:00' }
  - { days: [1, 2, 3, 4, 5], start: '14:00', end: '18:00' }
extraHolidays: []        # 追加休息日,如 ['2027-01-01']
excludeHolidays: []      # 从内置表里剔除某天(把它当普通工作日)
extraWorkdays: []        # 调休上班日,即使是周末也算工作日
tickSeconds: 45          # 心跳节流间隔
peakGuard: true          # 峰时是否拦截执行类工具
blockedToolsDuringPeak: [pwsh, write, edit, subagent, subagent_fork, workflow]
dispatchOnlyWhenIdle: true       # 会话忙时先不打断
maxDispatchesPerTick: 3
autoCompleteIdleSeconds: 90      # 会话空闲这么久还没 pv_complete,自动标完成

days 用 ISO 数字:1=周一 … 7=周日。

法定节假日表

内置表目前只覆盖 2026 年(国务院办公厅 2026 年部分节假日安排)。 节假日按“休息日(不上班)”处理:落在节假日的工作日一律算谷时。

  • 以后的年份公布后,改 index.js 里的 BUILTIN_HOLIDAYS,或用 pv_config({ extraHolidays: [...] }) 追加。
  • 想临时把某个节假日变回工作日,用 excludeHolidays。
  • 当前年份不在覆盖范围时,pv_status 和系统提示都会给出提示,避免“节假日没生效”的静默错误。

数据文件

文件内容
$DSH_HOME/work-on-time.state.json队列与批次(原子写)。插件重载时把上次遗留的 running/interrupted 批次重新排队成 queued,并在下次唤醒文案里提示“先检查已完成部分,避免重复劳动”。
$DSH_HOME/work-on-time.config.jsonpv_config 的持久化覆盖。

从旧名(dsh-peak-valley-queue)升级时,首次启动会自动把 peak-valley-queue.*.json 复制成 work-on-time.*.json,队列不丢。

测试

仓库自带离线自测(假的 Cordis 上下文 + 临时 DSH_HOME,不碰真实数据):

node test/mock-test.mjs
# PASS: 97 passed, 0 failed

覆盖:日期/星期/节假日判定、时段边界(08:59/09:00/11:59/12:00/13:59/14:00/17:59/18:00)、 周末与节假日、excludeHolidays/extraWorkdays、跨零点窗口、全天窗口、下一切换点, 以及入队、峰时拦截、pv_run 强制开跑、pv_complete、pv_cancel。

项目结构

index.js            # 零依赖宿主插件(只 import node: 内置模块)
cordis.patch.yml    # bundle 插入声明 + 默认配置
locale/{zh,en}.json # 插件管理器里的标题/描述
icon.svg            # 图标
test/mock-test.mjs  # 离线自测

为什么零依赖:本地 link: 方式安装的插件,运行时解析不到 @deepseek-ai/* 这类 bare specifier, 所以工具用普通对象注册(不用 defineTool),配置也不导出 schemastery schema。

限制

  • 需要 DSH 进程在运行:插件是宿主插件,应用关掉就不会有任何调度。
  • 谷时唤醒的是原会话:会话得还能恢复(模型、工作目录都在)。会话被删掉的话,批次会一直排队,直到手动 pv_cancel 或改配置。
  • 强杀进程时,已在跑的批次下次启动会被重新排队,可能重复执行 — 唤醒文案会提醒模型先检查已完成的步骤。
  • 峰时拦截是“工具级”的:如果用 pv_config({ peakGuard: false }) 关掉,模型在峰时就能直接干活。

License

MIT © 2026 YuGaN525