DeepSHPlugins
dsh-plugin-sleep 專案預覽
GITHUB / COMMUNITY PROJECT

dsh-plugin-sleep

Agent 與自動化TypeScript

dsh-sleep:向模型暴露 sleep 工具,讓模型按指定毫秒數暫停執行後再返回,適合等待時間條件成立(服務重啟、debounce 視窗、retry backoff)且沒有事件型工具可用的場景。

10 StarsHuanLinOTO 更新時間 2026-09-04
訪問 GitHub 倉庫
dsh-plugin-sleep 專案預覽

專案介紹

中文

dsh-sleep:向模型暴露 sleep 工具,讓模型按指定毫秒數暫停執行後再返回,適合等待時間條件成立(服務重啟、debounce 視窗、retry backoff)且沒有事件型工具可用的場景。

English

Exposes a sleep tool so the model can pause for N milliseconds and continue — for waiting on time conditions (service restarts, debounce windows, retry backoff) when no event-driven tool fits.

專案資訊與收錄訊號

快照 2026-09-11
作者 / 組織
HuanLinOTO
倉庫
HuanLinOTO/dsh-plugin-sleep
GitHub Stars
10
Forks
0
開發語言
TypeScript
許可證
未記錄
最近推送
2026-09-04
Manifest
資料中檢測到宣告

公開倉庫不自動等於可商用;許可證與當前相容性以原專案文件為準。Manifest 和資料評分不構成安裝安全認證。

資料評分

73/ 100
維護活躍
96
文件與實用資訊
85
生態關注度
30
安裝便捷訊號
100
專案宣告訊號
80

近 7 天仍在更新;README 含完整安裝與使用說明;標準命令一鍵安裝。

評分來自已有資料快照的五維模型,僅作瀏覽參考,不是實際使用評測或安全檢測結論。

安裝與使用

所有專案資料與許可均以對應 GitHub 倉庫為準。

dsh plugin add github:HuanLinOTO/dsh-plugin-sleep

複製命令不會自動執行。請先閱讀倉庫文件,確認環境要求與許可證。

專案截圖

倉庫 README

GitHub 原文

已儲存的倉庫文件快照;文件抓取時間未記錄,可能與上方目錄介紹處於不同版本。安裝前請核對當前倉庫說明。

儲存庫檔案保留原文,指令與授權文字不作自動改寫。

dshfind

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

dsh-sleep

npm version

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: files 含 lib/ + 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

使用前核對

安裝步驟、相容版本與授權範圍以原專案當前文件為準。Stars 和評分是快照中的導航訊號。

安裝與排錯 · 專案問題反饋

同類專案