htfc786/dsh-awake0

dsh-awake

DeepSeek Harness 防休眠插件(守夜人):agent 任务执行期间阻止操作系统休眠,任务结束后恢复;方式子系统(systemd-inhibit / GNOME gsettings / caffeinate / pmset / PowerShell / powercfg)+ 浏览器 Wake Lock + 一键更新

包名
dsh-awake
版本
0.2.0
许可证
MIT
最近更新
2026年8月22日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:htfc786/dsh-awake

配置格式(v0.2.0)

配置在设置页「防休眠」里热改($DSH_HOME/settings.yaml 持久化)。形状:

dsh-awake:
  version: 2          # 配置文件版本:2;有老配置(0.1.x)自动转换
  platform: linux     # 锚点:上次写入配置的平台(复制 .dsh 到其他系统时识别)
  mode: systemd       # 当前平台选中的方式(= 实现文件名);'off' = 关闭服务端
  config:             # 该方式的配置;字段由方式自己声明(动态表单),多为空 {}
    why: 'dsh 任务执行中'
  • 宽松 schemaconfig 是任意对象,键由方式声明、校验在 host 侧——加实现不动 schema。
  • 跨平台复制:配置的 platform 与当前系统不一致时,运行时自动用当前平台默认 方式,设置页黄色提示「配置来自 Windows,当前为 Linux…」,不覆盖文件; 下次保存时 platform 更新为当前平台。
  • mode: 'off':服务端不值守,状态行显示「未启用」,无红色提示(用户主动选择)。
  • 插件升级后配置的方式被删除 → 同样兜底到默认方式并提示。

方式清单(platform → order → default)

平台方式(实现文件)默认原理
Linuxsystemd(systemd-inhibit)、gnome-gsettingssystemd看门狗进程持锁 / 临时改 GNOME 电源设置
macOScaffeinatepmsetcaffeinate看门狗进程持锁 / 临时改电源设置
Windowspowershell(SetThreadExecutionState)、powercfgpowershell看门狗进程持锁 / 临时改电源方案

拿锁回退链:首选 = 配置的方式;失败则按平台 order 依次尝试;全部失败 → 服务端未值守,设置页红色列出每个原因。

浏览器 Wake Lock(2.3)

「为当前浏览器开启页面防休眠」是每浏览器状态,走 localStorage['dsh-awake.webWakeLock'](默认开),不进配置文件;与服务端 方式完全独立。有任务在运行且页面可见时持有 navigator.wakeLock,页面切后台 自动重取。