dsh-nightshift

DSH PLUGIN工具与能力

仓库 mikasaxin529/dsh-nightshift · npm dsh-nightshift

工具与能力 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

dsh-nightshift 是 DeepSeek Harness 的错峰任务队列插件:高峰时段排队冻结、低谷自动派发执行,失败重试、续写截断,并生成每日费用节省报告。

验证等级 L5 L5 · 运行验证通过
GitHub 星标 2 复刻 0 · 未关闭 issue 0
最近更新 2026-09-02 创建于 2026-09-02
README 7.9 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:mikasaxin529/dsh-nightshift#v1.0.1
兼容 DSH 版本0.2.0-rc.2 等 10 个版本版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖@deepseek-ai/dsh-llm@>=0.0.1-rc.1、@deepseek-ai/dsh-storage-domain@>=0.0.1-rc.1 等 4 个需要同时安装的同级依赖
npm 包名dsh-nightshift可用 npm view 查看包信息

能做什么

4 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-nightshift:DeepSeek Harness 的低谷时段任务调度插件

  • 高峰冻结排队
  • 低谷自动派发
  • 失败重试续写
  • 每日节省报告

适用场景

终端命令文件读写

上游标签

agentcli-plugincost-savingdeepseekdsh-plugindsh-plugin-desktopdsh-plugin-marketdsh-plugin-packnightshifttoken-optimization

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度稳定按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-10-08): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

  • 审查结论 通过
  • 结论说明 vet 静态分析未发现可疑行为,判定为干净(clean)。
  • 风险计数 严重 0 / 高 0 / 中 0
  • 风险详情 未发现严重或警告级问题。

仓库档案

工具与能力
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方mikasaxin529仓库 dsh-nightshift · 默认分支 main
分类工具与能力tools
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue2 / 0 / 0收录时的数值,非实时
创建 / 更新2026-09-02 · 2026-09-02最后推送 2026-09-02
本站收录2026-09-02首次进入本站目录的时间

README 全文

7.9 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-nightshift(夜航)🌙

English | 简体中文

> 白天排队,错峰自动跑,跑完看账单。

DeepSeek Harness(dsh)第三方插件。白天高峰时段任务在队列里冻结不花钱;低谷时段一到,夜航把它们逐个派发进会话——失败自动退避重试、max-tokens 自动「继续」、按峰谷单价把真实 token 消耗记账。队列清空(或高峰来临)时生成当日省钱报告。

白天(高峰)                    夜间(低谷)
┌────────────────────┐      ┌────────────────────┐
│ 🌙 等低谷  2小时13分 │ ───▶ │ 🚀 夜航中  8小时40分 │
│ 已排队 3 个任务      │      │ ▶ 任务 1/3 已完成    │
│ (冻结,不花钱)     │      │ ▶ 任务 2/3 执行中    │
└────────────────────┘      └────────────────────┘
2026-09-01 报告:
共 12 个 · 8.4M tokens
实际 ¥8.40 · 省下 ¥8.40

为什么做

DeepSeek 的错峰定价(大约为 UTC+8 的夜间时段,以官方公告为准)只有高峰价的零头。但 agent 往往在你坐在键盘前的时段跑——恰好是算力最贵的时候。夜航把这件事反过来:现在写下任务,队列替你等到价格回落,醒来时工作已经做完,账单告诉你这份耐心值多少钱。

功能

  • 一键入队 —— 会话输入框旁的 🌙 芯片把当前草稿交给夜航(默认目标:当前会话续跑);「新会话」按钮改在新的会话里执行(目录跟随当前工作区并归入同一分组,未分组时用 dsh 默认目录)。
  • 峰时冻结 —— 高峰时段不派发任何任务;进入高峰时已在跑的任务让它自然跑完(绝不打断已完成的工作)。
  • 错峰 drain —— 一次只跑一个,派发间隔 drainGapMs,冷会话由 harness 自动 resume。
  • 失败策略 —— turn/end 结构化分类:error/interrupted → 指数退避重试(有上限);max-tokens → 自动发「继续」(有上限);blocked → 挂起等人工;aborted → 视为你的主动取消。
  • 省钱账本 —— 逐回合 token 增量(四桶)按发生时点的窗口价记账,跨窗口与重试任务的花费都算得清。
  • 每日报告 —— 队列清空或高峰来临时生成;同一天的二次清空合并进同一份报告,不重复计费。
  • 队列持久 —— 进程重启把孤儿 running 任务重新排队(at-least-once),刷新浏览器、崩溃都不丢任务。
  • 面板 —— 侧栏底入口:峰谷状态条、执行中任务、队列(立即跑/取消)、历史、最新报告。

环境要求

  • 启用 web profile 的 dsh(host 进程常驻且独立于浏览器标签页)。
  • Node.js ≥ 20。

安装

官方通道(推荐) —— dsh 自带的 plugin 管理命令,一条搞定(link + 自动加入 profile bundles,无需改任何文件):

dsh plugin --profile web add github:mikasaxin529/dsh-nightshift

装到别的 profile 换名字即可(headless 等);要锁版本可加 commit 号(github:mikasaxin529/dsh-nightshift#);卸载用 dsh plugin --profile web remove dsh-nightshift。装完重启 dsh 生效。本地 clone 的仓库把 github: 换成路径即可。

脚本 —— 在本仓库目录下(内部走官方通道,dsh 不在 PATH 时自动降级为手动模式):

.\install.ps1                    # 装 web profile
.\install.ps1 -Profile headless  # 装其他 profile

手动降级(没有 dsh CLI 时)—— 三步:

.\install.ps1 -Manual -Target "$env:USERPROFILE\.dsh\profiles\node_modules" -Profile "$env:USERPROFILE\.dsh\profiles\web"

或完全手工:

  1. 把本目录链接或复制到 profile 解析插件的 node_modules,目录名 dsh-nightshift(dsh 默认布局为共享的 ~\.dsh\profiles\node_modules)。
  2. 在目标 profile 的 cordis.patch.yml 追加:
- insert:
- id: nightshift
name: dsh-nightshift
  1. 重启 dsh(或让 loader 热应用补丁)。

插件刻意与宿主共享同一份 @deepseek-ai/* 实例(因此声明为 optional peerDependencies——自带副本会破坏 cordis 服务身份识别)。宿主侧不要在插件目录里 npm install 依赖;devDependencies 只为本地跑测试。

配置

全部配置项在 loader config 的 nightshift 条目下(含默认值):

键 默认 含义
timeZone Asia/Shanghai 峰谷窗口解释所用的 IANA 时区
peakWindows 09:00–12:00, 14:00–18:00 [start, end) 墙钟窗口;可跨午夜;[] = 永不高峰
peakPricePerMTok 2 高峰每百万 token 单价(请填真实数字)
offPeakPricePerMTok 1 低谷每百万 token 单价
currency ¥ 仅展示用
tickMs 30000 窗口检查 / 派发节拍
maxRetries 3 error/interrupted 回合的重试上限
retryBaseMs / retryFactor / retryMaxMs 60000 / 2 / 1800000 指数退避基数、因子、封顶
continuationLimit 3 每任务自动「继续」次数上限
continuationPrompt 继续 续跑提示词
drainGapMs 5000 派发间隔
allowRunNow true 是否允许面板「立即跑」
reportRetentionDays 30 报告保留天数
exposeTool false v1.1 预留(nightshift_enqueue 工具)

工作原理

  • host 半(index.js)是 cordis 函数式插件:一个自递归 setTimeout 节拍(绝不用 setInterval)、一个监听 turn/end 的 session/event 处理器、两个 GET exact-fetch 路由(/api/nightshift/state、/api/nightshift/report)与三个 POST webServer 路由(enqueue、task/cancel、task/run-now,均经 connection 鉴权)。队列与报告经 ctx.storageDomain 持久化(zod 行 schema)。
  • client 半(client.js)是手写的 window.__ModuleLoader__.load 工厂——classic script,注册两个 slot:输入框芯片(conversation.input.dock)与侧栏面板(sidebar.footer.action)。轮询 state 路由(面板开 30s、关 2min),不持有任何 reload 后无法重建的 UI 状态。
  • 展示格式化在 lib/format.js(client 工厂触不到 host 模块图,语义在其内重新内联实现)。

与相邻插件的差异

  • 对比 sleep-send / 定时任务:它们在你指定的时间发送;夜航跟随价格窗口——窗口配一次,任务不用逐个配时间,改配置即整体冻结/解冻队列。
  • 对比 session-guard / input-traffic:它们塑造或管控交互输入;夜航不碰你的实时会话。冻结 = 不派发,不是会话被冻结——任何时段手动照常干活。

已知限制

  • cache 计价简化:四桶 token 同价计费(cache 读比 DeepSeek 真实定价偏贵,因此省钱数字在该维度上偏保守)。
  • at-least-once:任务执行中崩溃会在重启后重跑;任务本身是否幂等由你把关。
  • 单并发——v1 有意为之的不变量。
  • 单价是你填的数字;夜航没有余额/定价 API 可以核对。
  • 改配置触发 HMR 重载(timer/domain/监听全部干净回收);队列在存储里不受影响。

开发

npm install   # 仅 devDependencies(测试工具 + 真实导入)
npm test      # 117 个 vitest 用例

仓库布局与完整设计契约见 SPEC.md。

许可

MIT

常见问题

8 问
答案由本站依据条目字段整理,不引用上游原文
dsh-nightshift 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:mikasaxin529/dsh-nightshift#v1.0.1` 即可。对应的 npm 包名是 `dsh-nightshift`。

dsh-nightshift 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-nightshift 安全吗?

低风险。vet 静态分析未发现可疑行为,判定为干净(clean)。

dsh-nightshift 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.0-rc.2、0.1.7-rc.2、0.1.7-alpha.2、0.1.6-alpha.2、0.1.6-alpha.1、0.1.5-rc.2、0.1.3-alpha.2、0.1.3-alpha.1。版本较多,只列出前 8 个。

dsh-nightshift 需要什么运行环境?

需要同时安装 @deepseek-ai/dsh-llm@>=0.0.1-rc.1、@deepseek-ai/dsh-storage-domain@>=0.0.1-rc.1、@deepseek-ai/schemastery@>=3.18.2、zod@^4.4.3。环境不满足时安装会失败,建议先确认本机版本。

dsh-nightshift 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-nightshift 有哪些功能?

高峰冻结排队、低谷自动派发、失败重试续写、每日节省报告。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

工具与能力
按星标排序,可作替代方案

loopx

loopx

LoopX 是面向长周期 Agent 的本地优先控制平面,作为 DSH plugin 为 DeepSeek Harness 提供持久目标、证

未标注验证等级 6,233 星

dsh-blender-plugin

dsh-blender-plugin

让 AI 模型通过直连 TCP 通道实时驱动 Blender 的 DSH plugin:15 个工具覆盖视口取帧、任意角度渲染、内循环搜索、

未标注验证等级 211 星

tokenledger

TokenLedger

TokenLedger 为 DeepSeek Harness 提供零配置的 Token 用量记账,自动归属到实际服务请求的中转站,无需凭据即

L5 · 运行验证通过 204 星

deepseek-harness-jev

deepseek-harness-jev

把 TypeSafe Jev 接入 DeepSeek Harness 作为 System One 决策层,为技能与文件选择、任务监督、纠偏和

未标注验证等级 203 星

dsh-jev-plugin

dsh-jev-plugin

把 TypeSafe Jev 接入 DeepSeek Harness 作为决策层,为技能与文件选择、任务监督、纠偏和审批提供可单独开关的辅助

未标注验证等级 203 星

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-10-08。