DeepSeek Harness 的雪花关机按钮——dsh-shutdown-after-task 的桌面修复分支:任务完成后自动关机,倒计时可取消。
29.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/25 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add eeFrank123/dsh-snowflake-shutdown该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · desktop
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 19 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 1 处,展示前 1 条)
- 写入本地文件index.js:54
try { fs.appendFileSync(LOG_PATH, line + '\n', 'utf8') } catch { }
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
README
由 DeepSeek 最新模型翻译生成dsh-snowflake-shutdown ❄️
任务完成后自动关机 —— DeepSeek Harness 插件(Windows,零依赖)。
本仓库是 virggle/dsh-shutdown-after-task(MIT)的桌面版修复 + 界面精简分支。
跑长任务(批量迁移、模型生成、过夜任务)时,点一下右下角的雪花按钮,任务成功完成后电脑自动关机;倒计时期间可一键取消。
按钮三种状态
提示面板
为什么会有这个分支
原插件在 DSH 桌面版(Electron)上按钮根本不会出现,刷新页面、完全重启都无效。
原因在于它只有一条 UI 投递通道 webServer.tapIndex:把 插进服务端渲染的 index.html。
而桌面版从不经过服务端渲染 —— 宿主(@deepseek-ai/dsh-desktop-host)只通过 IPC 把结构化注入行交给窗口:
process.send?.({ type: "ready", url, injections: ctx.webServer.collectIndexInjections() })
页面端解释器再按行类型应用(global / script / script-src / script-preload / style / html)。
展开完整文档(README 剩余 1 节)
dsh-snowflake-shutdown ❄️
任务完成后自动关机 —— DeepSeek Harness 插件(Windows,零依赖)。
本仓库是 virggle/dsh-shutdown-after-task(MIT)的桌面版修复 + 界面精简分支。
跑长任务(批量迁移、模型生成、过夜任务)时,点一下右下角的雪花按钮,任务成功完成后电脑自动关机;倒计时期间可一键取消。
按钮三种状态
提示面板
为什么会有这个分支
原插件在 DSH 桌面版(Electron)上按钮根本不会出现,刷新页面、完全重启都无效。
原因在于它只有一条 UI 投递通道 webServer.tapIndex:把 插进服务端渲染的 index.html。
而桌面版从不经过服务端渲染 —— 宿主(@deepseek-ai/dsh-desktop-host)只通过 IPC 把结构化注入行交给窗口:
process.send?.({ type: "ready", url, injections: ctx.webServer.collectIndexInjections() })
页面端解释器再按行类型应用(global / script / script-src / script-preload / style / html)。
这张表在宿主启动时一次性收集,tapIndex 这种"函数变换"完全不在链路上 —— 所以怎么重启都不会有按钮。
本分支补上了注入行通道,并顺手把界面改成更小、更克制的样子。
相对原版的改动
| # | 改动 | 说明 |
| 1 | 桌面端可用 | 额外注册 webserver/index-inject 行,推送 { kind: 'script-src', src: '/api/dsh-snowflake-shutdown/ui.js', placement: 'body' };原 tapIndex 保留,浏览器 / dsh web 场景照旧 |
| 2 | 雪花圆按钮 | 原来约 150×34 的文字长条 → 32×32 圆形,内联 SVG 六向雪花(用 currentColor,颜色跟随状态),悬停放大 8%,文字提示移到 title;已开启仍是黄底 |
| 3 | 紧凑提示面板 | 原来固定 300px 宽(一大片黑色空白)→ width:max-content 按内容收缩、长文本最多 320px 换行;位置固定在窗口右下角,与按钮重叠时自动上移到按钮上方(先显示再测量,避让判断才准确) |
| 4 | 插件身份改名 | 包名、路由前缀 /api/dsh-snowflake-shutdown/、日志 ~/.dsh/dsh-snowflake-shutdown.log、类名 dsh-snow- —— 可以和原版同时安装,不会抢同一个 HTTP 路由 |
| 5 | 修掉"按钮自己上下动" | 避让判断改用没有偏移时的按钮位置(原来拿已经让开后的位置去判断,"让开"这一步就把触发条件消掉了:让开→不再重叠→归位→又重叠,每秒弹一次)。另外整窗的模态/遮罩不再触发让开,否则按钮会被顶到屏幕外 |
功能行为(触发判定、成功判定、倒计时、取消)与原版一致;自动避让在原版基础上修了抖动(上表第 5 条)。
安装
从 GitHub 安装:
dsh plugin --profile desktop add github:eeFrank123/dsh-snowflake-shutdown
从本地目录安装:
dsh plugin --profile desktop add file:E:\path\to\dsh-snowflake-shutdown
网页版 profile 请把 --profile desktop 换成 --profile web。
装完完全退出 DeepSeek Harness(含系统托盘图标 → 右键 → 退出)再重新打开。
为什么必须整进程重启:界面脚本是宿主启动时载入内存的,注入行也在启动时收集。只刷新页面(F5)读到的仍是旧脚本;把窗口关到托盘不算重启。
使用
1. 点右下角雪花按钮 → 变黄 = 已武装(默认永远是关闭状态,绝不自动开启);再点一次 = 取消
2. 按钮可拖到任意位置,位置记在浏览器 localStorage 里
3. 全部 root 会话空闲(且本批次无错误)→ 右下角弹出「任务已完成 / N 秒后自动关机」
4. 倒计时里点「取消关机」→ 执行 shutdown /a,本次取消且退出模式;倒计时内发新消息 → 只撤销本次关机,模式保持开启
配置
在 profile 的 cordis.patch.yml(或 设置 → 插件配置)里:
- id: dsh-snowflake-shutdown
config:
countdownSec: 60 # 倒计时秒数(10–600,默认 60) marginSec: 5 # 系统 shutdown /t 额外余量(0–60,默认 5) onlyOnSuccess: true # 仅成功时关机(false = 只要跑完就关,含出错)
行为细节
| 项 | 说明 |
| 触发时机 | 模式开启后,全部 root 会话从 running 回到 idle |
| 成功判定 | 本批次没有 agent/error(仅 onlyOnSuccess: true 时判定) |
| 倒计时 | countdownSec 秒,右下角横幅实时显示剩余秒数,可点「取消关机」 |
| 系统指令 | 倒计时开始时执行 shutdown /s /t <countdownSec + marginSec> |
| 取消方式 | 横幅上的取消按钮(退出模式)/倒计时内发新消息(保持模式) |
| 状态查询 | GET http://127.0.0.1:<port>/api/dsh-snowflake-shutdown/state |
运行日志
$DSH_HOME/dsh-snowflake-shutdown.log(默认 C:\Users\<你>\.dsh\dsh-snowflake-shutdown.log),挂载、武装、触发、取消都有记录。
已知限制
- 仅 Windows:执行的是 shutdown.exe,其他平台插件保持惰性并记日志
- 模式状态存在内存里:DSH 重启后回到默认关闭,需要重新点按钮
- root 会话 idle 但 inbox 还有排队消息时也会触发(判定依据是「全部 root 空闲」)
- 新增/修改插件后必须完整重启客户端才会看到界面变化
卸载
dsh plugin --profile desktop remove dsh-snowflake-shutdown
致谢
- 原插件 virggle/dsh-shutdown-after-task(MIT)—— 本分支的功能逻辑全部来自它
- 原 README 提到的参考项目:yang040709/dsh-win-toast-notify、keyiadiannao/dsh-power-button(均为 MIT)
- 桌面端注入通道的定位来自 DSH 自身源码:@deepseek-ai/dsh-desktop-host、@deepseek-ai/dsh-host-webserver、@deepseek-ai/dsh-web-frontend
常见问题
装完按钮没出现? 必须完全退出客户端(含系统托盘图标 → 退出)再打开。界面脚本是宿主进程启动时载入内存的,注入表也在那一刻收集一次 —— 刷新页面(F5)拿到的还是旧内容,把窗口关到托盘不算重启。
dsh plugin ... add 报 lockfile entries failed verification / within the minimumReleaseAge cutoff?
pnpm 11 默认带一条供应链策略:发布不满 24 小时的包会被拦下(本插件 0.3.0 刚发布时也会遇到)。等一天再装,或者这次先关掉这个检查:
dsh plugin --profile desktop add dsh-snowflake-shutdown --config.minimumReleaseAge=0
dsh plugin ... add github:... 卡住或报 connection to github.com timed out? 这台机器直连 GitHub 不通,给 git 配一个本地代理即可(端口换成你自己的):
git config --global http.https://github.com.proxy http://127.0.0.1:7897
配好后,插件市场里「从 GitHub 安装插件」也会一起恢复正常。
按钮和我别的插件弹窗重叠怎么办? 按钮会自动让开,弹窗消失后自动归位;也可以直接把按钮拖到自己喜欢的位置。
打开宿主设置时按钮会自己上下动? 0.3.1 已修复。原版的避让判断用的是「已经让开之后」的按钮位置,所以让开这一步反而取消了触发条件,于是每秒钟「让开 → 归位 → 让开」来回弹;设置弹窗频繁刷新 DOM 时还会更快。0.3.1 改成按未偏移的位置判断,并且整窗遮罩/大模态不再触发让开(原版这种情况下会把按钮顶出屏幕)。升级:
dsh plugin --profile desktop add github:eeFrank123/dsh-snowflake-shutdown --config.minimumReleaseAge=0
想换回原版?
dsh plugin --profile desktop remove dsh-snowflake-shutdown
dsh plugin --profile desktop add dsh-shutdown-after-task
License
MIT —— 见 LICENSE,保留原项目的版权声明。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
eeFrank123/dsh-snowflake-shutdown
DeepSeek Harness 的雪花关机按钮——dsh-shutdown-after-task 的桌面修复分支:任务完成后自动关机,倒计时可取消。
相关插件 · 桌面端
Codex 任务面板chuspeeism/dashi-taskboard
现代化可灵活嵌入的任务面板,支持 Codex、DeepSeek Harness
★ 3,409已汉化DSH
71.7
多智能体自进化开发平台Prism-Shadow/penguin-harness
统一、稳定的 Agent 自进化框架全自动优化:任意模型 · 任意算法 · 任意 Benchmark
★ 3,125已汉化DSH
71.1
桌面宠物PC2005-cloud/dsh-pet
DSH 桌面宠物:一行命令装好即用的透明动画小桌宠,支持多开、大小位置随心配置;还内置 DIY 素材链,能用 AI…
★ 5,465已汉化DSH
71
多端 Agent 工作台GCWing/OpenBitFun
OpenBitFun 是一个高度可定制的开源 Agent 工作台,让任务按你的方式持续推进。
★ 3,457已汉化DSH
70.8
DSH Desktopanywhere-labs/dsh-desktop
为 DeepSeek Harness DSH 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。
★ 34,710已汉化DSH
70.7
桌面宠物伴侣OpenPetsHQ/openpets
桌面伴侣平台,带宠物、插件,还能选配本地智能体集成。
★ 1,378已汉化DSH
70.2
这是你的仓库?认领条目