DeepSeek Harness plugin

dsh-plugin-sleep

DSH plugin exposing a single `sleep` tool that lets the model pause for a configurable number of milliseconds, honoring cancellation.

Jump to install

Source facts

Repository
HuanLinOTO/dsh-plugin-sleep
Latest update
Aug 15, 2026
Category
Tools & Capabilities
GitHub stars
10
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/HuanLinOTO/dsh-plugin-sleep
Plugin: dsh-plugin-sleep
Author: HuanLinOTO

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

![dshfind](https://dshfind.com/zh/plugins/huanlinoto/dsh-plugin-sleep?ref=badge)

> 📌 本插件已收录于 dshfind 插件超市,点击上方徽章直达主页。

dsh-sleep

![npm version](https://www.npmjs.com/package/@huanlin/dsh-plugin-sleep)

DSH 插件:向模型暴露一个 sleep 工具,让模型按指定毫秒数暂停执行后再返回。适合等待时间相关条件成立(服务重启、debounce 窗口、retry backoff)且没有事件型工具可用的场景。

安装

# 从 npm 安装(推荐):
dsh plugin --profile web add @huanlin/dsh-plugin-sleep

# 从本地 checkout 开发安装:
dsh plugin --profile web add link:D:\Projects\deepseek-harness\dsh-sleep

预构建策略:lib/ 入库,无 prepare 脚本,npm 安装开箱即用,无需 allowBuilds

配置

在 DSH GUI 设置页或 cordis.patch.yml 中配置:

字段类型默认值说明
maxDurationMsnumber60000单次 sleep 上限毫秒数。超过会被 clamp 到此值,并在返回中标 clamped: true
defaultDurationMsnumber0当模型省略 duration_ms 时的回退值。

工具

sleep

暂停 N 毫秒后返回。

参数:

参数类型必填说明
duration_msinteger暂停毫秒数,必须 ≥ 0。超过 maxDurationMs 会被 clamp。
reasonstring人类可读的暂停理由,会原样回显。

返回(规范 JSON):

{
  "requested_ms": 1000,   // 调用方原始请求值
  "actual_ms": 1002,      // 实际等待毫秒数
  "cancelled": false,     // 是否被 abort 信号中断
  "clamped": false,       // 是否因超过 maxDurationMs 被钳制
  "reason": "..."         // 可选回显
}

取消语义:如果 sleep 中途 exec.signal 被 abort,工具不抛错,而是立即返回 cancelled: true(取消属于业务非理想态,不属基础设施失败,参见 plugin-development-guide.md §3 C5)。

开发

pnpm install          # 安装开发依赖(schemastery、typescript、vitest)
pnpm run typecheck    # tsc --noEmit 类型检查
pnpm test             # vitest run 单元测试
pnpm run build        # tsc + tsdown → lib/

检查

合规自检(参见 plugin-development-guide.md §10):

  • [x] 零源码 patch:未修改 DSH checkout 任何文件
  • [x] B1: package.json 声明 dsh.bundle.patch
  • [x] B2: 插件自带 cordis.patch.yml(insert 行 id/name/config 齐全)
  • [x] B3: patch 行 name 用包名(Loader 从 profile node_modules 解析)
  • [x] F1: fileslib/ + cordis.patch.yml
  • [x] F2: peerDependencies 含 cordis + @deepseek-ai/dsh-tools(不用 devDependencies 冒充)
  • [x] F3: typecheck/test/build script 齐全
  • [x] A4: Config 用 Schemastery schema
  • [x] A6: 不导出 default
  • [x] C4: 工具返回规范 JSON 值 + render 投影分离
  • [x] C6: 尊重 exec.signal 取消在途工作
  • [x] G: Unit 测试(tests/tools.spec.ts,35+ 用例)

目录结构

dsh-sleep/
├── src/
│   ├── index.ts        # 入口:name、inject、Config(Schemastery)、apply
│   ├── tools.ts        # sleep 工具定义 + 可取消等待逻辑 + render 投影
│   └── types.d.ts      # @deepseek-ai/dsh-tools + cordis 的环境类型声明
├── tests/
│   └── tools.spec.ts   # 单元测试(覆盖正常/取消/clamp/边界)
├── cordis.patch.yml    # bundle 层:插入 dsh-sleep 插件行
├── package.json        # dsh.bundle.patch 声明 + peerDeps
├── tsconfig.json       # NodeNext、ES2022、strict
├── tsdown.config.ts    # 单 entry(host-only,无 client bundle)
└── vitest.config.ts    # vitest forks pool