deepseek-chan-sleep-shutdown:任務完成後自動關機(鯨魚娘按鈕)

前言

在 DeepSeek Harness(DSH)裏跑批量遷移、模型生成或過夜任務時,常見做法是盯着界面等全部會話空閒,再手動關電腦。社區裏也有「任務結束再關機」類插件,多半偏功能型 UI。下面介紹的 deepseek-chan-sleep-shutdown(維護者 weiplwei,GitHub 分類爲工作流)在同樣能力上加了可拖動、可取消倒計時和深夜月亮主題界面,並在 Windows 上通過 shutdown.exe 執行關機。插件零依賴,當前版本 0.2.0,許可證 MIT。

這是什麼

一句話:DSH Web 界面右下角一枚「DeepSeek-chan」鯨魚娘膠囊按鈕;開啓後,當全部 root 會話從 running 回到 idle,且滿足你設定的成功條件時,進入可取消的倒計時,到點自動關機。

實現上插件向頁面注入按鈕與橫幅,服務端掛接 DSH 事件;非 Windows 平臺會保持惰性並寫日誌,不會真正調用關機(見下文「適用場景與注意」)。

核心功能

界面與交互

  • 鯨魚娘按鈕:空閒時顯示清醒形象與「任務完成後關機」;開啓後切換睡覺形象與「已開啓·任務完成後關機」,並帶呼吸光暈等開啓動效。資源路徑爲 assets/mascot-awake.webp / assets/mascot-sleep.webp;圖片加載失敗時退化爲純文本膠囊,功能不變。
  • 可拖動:位置寫入 localStorage,並鉗制在視口內。
  • 自動避讓:與其他插件角落彈窗重疊時讓位,彈窗消失後歸位。
  • 倒計時:任務滿足條件後,按鈕外圈 conic-gradient 進度環與按鈕上剩餘秒數同步更新;上方深夜配色橫幅顯示倒計時,並提供「取消關機」。

關機邏輯

  • 多會話判定:全部 root 會話空閒纔算本批次完成;子代理計入其 root 統計。
  • 僅成功時關機(默認):本批次無 agent/error 才進入倒計時;可在按鈕右鍵「關機條件」裏改爲「無論成敗都關機」,選項持久化到 $DSH_HOME/deepseek-chan-sleep-shutdown.json。
  • 可取消:倒計時內點「取消關機」會 POST /cancel 並執行 shutdown /a,同時退出模式;倒計時內任一會話開始新任務則撤消本次關機,模式保持開啓。
  • 系統命令:倒計時開始時執行 shutdown /s /t <countdownSec + marginSec>(秒數見配置)。

穩定性與其它

  • SPA 自愈:約每 500ms 檢查按鈕/橫幅是否被前端重渲染移除,必要時重新掛載。
  • 狀態與資源:GET http://127.0.0.1:<port>/api/deepseek-chan-sleep-shutdown/state;吉祥物圖片經 /api/deepseek-chan-sleep-shutdown/img/sleep.webp 與 /img/awake.webp 提供。
  • 運行日誌:$DSH_HOME/deepseek-chan-sleep-shutdown.log。

服務端邏輯致謝 dsh-shutdown-after-task(MIT);事件掛接參考 dsh-win-toast-notify(MIT)。

安裝與啓用

DSH 生態裏插件通過 dsh plugin 安裝到指定 profile;社區目錄在 SkillHub 插件頁,與 DeepSeek / 幻方無官方從屬關係,安裝前建議自行查看倉庫源碼與許可證。

npm 發佈後可用:

dsh plugin --profile web add deepseek-chan-sleep-shutdown

或從 GitHub 安裝:

dsh plugin --profile web add github:weiplwei/DeepSeek-chan-sleep-shutdown

本地路徑或 tarball:

dsh plugin --profile web add ./deepseek-chan-sleep-shutdown

安裝後重啓 DSH;右下角應出現鯨魚娘按鈕。若未出現,刷新頁面(Ctrl+R)。Node 引擎要求 >=18(見 package.json)。

在 profile 的 cordis.patch.yml(或設置 > 插件配置)中可改默認行爲:

- id: deepseek-chan-sleep-shutdown
  config:
    countdownSec: 60      # 倒計時秒數(10–600,默認 60)
    marginSec: 5          # 系統 shutdown /t 額外餘量(0–60,默認 5)
    onlyOnSuccess: true   # 僅成功時關機(false = 完成即關,含出錯)

卸載:

dsh plugin --profile web remove deepseek-chan-sleep-shutdown

典型用法

  1. 點右下角「任務完成後關機」,鯨魚娘入睡、按鈕進入已開啓狀態;需要時可拖到不擋操作的位置。
  2. 照常讓 DSH 跑任務。
  3. 全部會話空閒且滿足成功條件時,外圈進度環與橫幅倒計時出現;不操作則到點關機。
  4. 若仍要繼續使用電腦,在倒計時內點「取消關機」;或直接在倒計時期間發起新任務,插件會撤消本次關機並保持模式開啓。

本地無完整 DSH 時,可用倉庫內 mock 服務預覽 UI:

node test/harness/server.js

瀏覽器打開命令輸出的地址即可;細節見 test/harness/README.md。

適用場景與注意

適合:Windows 上長時間 unattended 任務,希望在「整批成功結束」後自動關機,又需要 60 秒(可配置)緩衝取消的場景。

務必注意:

  • 僅 Windows 會執行 shutdown.exe;其它平臺勿指望真實關機。
  • 插件以當前 DSH 進程權限 運行,關機指令影響整臺機器;安裝與啓用前應閱讀 GitHub 倉庫 源碼。
  • 模式狀態在內存中,DSH 重啓後默認關閉,需重新點按鈕。
  • 本批次有會話出錯且「僅成功時關機」開啓時,不會關機,橫幅會說明原因,模式仍保持開啓。

結尾

deepseek-chan-sleep-shutdown 把「任務完成後關機」做成可拖動、可取消、可配置成功條件的工作流插件,並用深夜月亮主題與鯨魚娘按鈕降低長時間等待時的操作成本。目錄與說明見 SkillHub,源碼與 Issue 見 GitHub。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜