🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

空闲自动关机 liaoyuqing/dsh-shutdown-idle

DeepSeek Harness
liaoyuqing16 天前有提交已提供中文文档扫描:含敏感能力

所有会话空闲后自动关机或重启,可随时取消

29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/20 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add liaoyuqing/dsh-shutdown-idle
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · other
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 16 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 7 处,展示前 7 条)
  • 读取本地文件
    host.mjs:108
    const text = readFileSync(SETTINGS_FILE, 'utf8')
  • 写入本地文件
    host.mjs:119
    mkdirSync(DATA_DIR, { recursive: true })
  • 写入本地文件
    host.mjs:121
    writeFileSync(temporary, `${JSON.stringify(settings, null, 2)}\n`, 'utf8')
  • 写入本地文件
    host.mjs:122
    renameSync(temporary, SETTINGS_FILE)
  • 执行外部命令来自配置/变量
    host.mjs:370
    const child = spawn(spec.command[0], spec.command[1], { detached: true, stdio: 'ignore', windowsHide: true })
  • 发起网络请求
    client.js:189
    return fetch(STATE_API, { credentials: "same-origin", cache: "no-store" }).then(readJson);
  • 发起网络请求
    client.js:192
    return fetch(path, {
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DSH 插件:等所有会话和后台任务都空闲后,执行关机、重启或锁定。

README

由 DeepSeek 最新模型翻译生成
dsh-shutdown-idle DSH 插件:开启后,等所有会话都结束(没有任何 Agent 在跑)并保持空闲,自动执行关机(也可选重启 / 休眠 / 睡眠 / 锁定 / 注销)。 用起来 1. 打开「设置 → 会话结束后关机」,点 开启。 2. 正常派活给任意会话;所有会话的回合结束后,插件先等 空闲确认 秒,再进入 倒计时 秒。 3. 倒计时结束即执行所选动作。期间任何会话重新开始运行,或点界面上的 取消,这次动作都会被撤销。 右上角(浮层右下角)在开启后会常驻一张小卡片,显示当前阶段与剩余秒数,并带「取消」按钮。按住卡片标题即可拖动:松手后位置写进浏览器 localStorage(键 dsh.shutdown-idle.pill.position),下次打开停在原处;拖动过程始终夹在视口内(留 8px 可见),窗口变小也会自动收回视野。从「取消」按钮上按下不会误触发拖动。 判据 - 会话进行中 = ctx.get('agents').list() 里存在 status === 'running' 的 Agent(与 dshmarket 的更新守卫同一判据)。这一条固定生效,不可关闭。
展开完整文档(README 剩余 1 节)
dsh-shutdown-idle

DSH 插件:开启后,等所有会话都结束(没有任何 Agent 在跑)并保持空闲,自动执行关机(也可选重启 / 休眠 / 睡眠 / 锁定 / 注销)。

用起来

1. 打开「设置 → 会话结束后关机」,点 开启。
2. 正常派活给任意会话;所有会话的回合结束后,插件先等 空闲确认 秒,再进入 倒计时 秒。
3. 倒计时结束即执行所选动作。期间任何会话重新开始运行,或点界面上的 取消,这次动作都会被撤销。

右上角(浮层右下角)在开启后会常驻一张小卡片,显示当前阶段与剩余秒数,并带「取消」按钮。按住卡片标题即可拖动:松手后位置写进浏览器 localStorage(键 dsh.shutdown-idle.pill.position),下次打开停在原处;拖动过程始终夹在视口内(留 8px 可见),窗口变小也会自动收回视野。从「取消」按钮上按下不会误触发拖动。

判据

- 会话进行中 = ctx.get('agents').list() 里存在 status === 'running' 的 Agent(与 dshmarket 的更新守卫同一判据)。这一条固定生效,不可关闭。
- 后台任务 = ctx.get('jobs') 中 status === 'running' 的作业(含各存活会话名下的作业),即 DSH 界面里的「后台任务」;由配置项 considerJobs 决定是否检测,关掉后完全不再统计。
- 拿不到 agents 服务时按 不空闲 处理:宁可不执行,也不误关机。
- 「必须观察到会话运行过」默认开启:刚开启且没有任何任务时不会执行动作。

参数

| 参数 | 默认 | 说明 |
| 动作 | shutdown | shutdown / restart / hibernate / sleep / lock / logoff / none(none = 只记录不执行) |
| 空闲确认 | 20 秒 | 全部空闲后先确认这么久,避免回合间隙被误判为结束 |
| 倒计时 | 60 秒 | 可取消的执行前倒计时 |
| 必须观察到会话运行过 | 是 | 防止刚开启就执行 |
| 后台任务也算占用(considerJobs) | 是 | 关掉后完全不再检测后台任务(shell 作业) |

设置页把这几项收在「什么算『还在忙』」区块里:会话在跑固定算忙,下面两个复选框是配置项。

初始值来自本包 cordis.patch.yml 的行 config;界面改动写入 <DSH_HOME>/dsh-shutdown-idle/settings.json 并优先生效(删除该文件即回落到 patch 初始值)。

开关状态不持久化:宿主重启后一律是「关闭」,避免开机即误关机。

接口

| 方法 | 路径 | 说明 |
| GET | /dsh-shutdown/api/state | 开关、阶段、倒计时、运行中会话/作业 |
| POST | /dsh-shutdown/api/config | { enabled?, action?, settleSeconds?, countdownSeconds?, requireActivity?, considerJobs? } |
| POST | /dsh-shutdown/api/cancel | 取消倒计时并关闭开关 |
| GET | /dsh-shutdown | 客户端半不可用时的兜底页面 |

平台

动作命令是 Windows 自带的 shutdown / rundll32。非 Windows 平台上,除 none 外的动作会被降级为 none 并在界面标注,不会执行命令。

字段一览

- host.v2.mjs — Host 半:状态机、HTTP 接口、命令派发、兜底页面。(host.v1.mjs 为上一版,保留以便回滚。)
- client.js — 浏览器半:设置页分区 + shell.overlay 浮层卡片(可拖动,useDraggable 负责指针捕获、边界夹取与位置持久化)。
- cordis.patch.yml — bundle 补丁:插入插件行与初始配置。

升级宿主半代码时换文件名(host.v1.mjs → host.v2.mjs)并同步 package.json 的 main / exports:config-only 热重载不会重新加载同一路径的模块。
预览分享卡片长什么样 ↓liaoyuqing/dsh-shutdown-idle
分享 · DeepSeek Harness Hub
liaoyuqing/dsh-shutdown-idle

所有会话空闲后自动关机或重启,可随时取消

这是你的仓库?认领条目

回到顶部