dsh-small-toolkit:DSH 運行時的 macOS 亮屏與任務完成提醒

前言

用 DeepSeek Harness(dsh)跑長任務時,Mac 常會按系統策略息屏或進入休眠,對話仍在後臺執行,你卻不一定盯着窗口。任務結束時如果沒有提醒,也容易錯過結果或錯誤狀態。系統自帶的「勿擾」、第三方計時器與 dsh 的生命週期並不綁定,關掉 dsh 後還要記得手動恢復。

下面介紹社區插件 dsh-small-toolkit(維護者 HanYu-me,GitHub:HanYu-me/dsh-small-toolkit)。它在 dsh 運行期間用 macOS 能力保持亮屏、防休眠,並在主對話一輪任務結束時彈出系統通知;點擊通知可把 DeepSeek Harness 切到前臺。兩項能力都只在 macOS 上生效,屬於 DSH 生態裏「客戶端」類的小工具合集。

這是什麼

dsh-small-toolkit 是 DeepSeek Harness 的插件:在 lib/features/ 下按文件拆分功能,可分別開關。當前版本 0.3.0,許可證 MIT,要求 Node ^22.19.0 || >=24.0.0,dsh 版本範圍爲 >=0.1.1-rc.2 <0.3.0(以 package.json 爲準)。

它不改動模型或對話邏輯,只在本地 macOS 上補兩件實用能力:運行 dsh 時阻止息屏/休眠,以及 主對話任務結束時的系統通知(含標題、結果類型與用時)。

核心功能

保持亮屏(keepAwake)

配置鍵 keepAwake。dsh 運行期間調用 caffeinate -di -w <dsh 進程>,阻止 Mac 息屏和休眠;dsh 退出後自動解除。

任務完成提醒(taskNotify)

配置鍵 taskNotify。主對話的一輪任務結束時彈出 macOS 系統通知,內容包含對話標題、結果(完成 / 出錯 / 被攔截 / 輸出達到上限)和用時。點擊通知會切回 DeepSeek Harness 窗口。子智能體、Agent Teams 成員不提醒;手動停止的任務默認不提醒(可在 profile 配置裏通過 notifyOn 加入 aborted 以改變行爲)。

通知由插件構建的小助手 App「DSH 提醒」發出,圖標爲 DeepSeek Harness 鯨魚,安裝在 ~/Applications/DSHNotifier.app。首次發通知時 macOS 會請求通知權限;無 Swift 工具鏈時會退回普通通知,點擊可能打開「腳本編輯器」而非 DSH,詳見 README「關於通知」一節。

安裝與啓用

Web 版 profile 安裝:

dsh plugin --profile web add github:HanYu-me/dsh-small-toolkit

桌面版 profile:

dsh plugin --profile desktop add github:HanYu-me/dsh-small-toolkit

裝好後重啓 dsh。也可從 Releases 下載預構建的 dsh-small-toolkit.tgz 安裝。

卸載:

dsh plugin --profile web remove dsh-small-toolkit

然後重啓 dsh(桌面版將 --profile web 換成 desktop)。

典型用法

手動開關(無需重啓 dsh)

編輯首次加載時自動生成的文件:

~/Library/Application Support/dsh-small-toolkit/settings.json

{
  "keepAwake": true,
  "taskNotify": false
}
  • taskNotify:每次任務結束時讀取;關掉後不再彈通知。
  • keepAwake:約每 3 秒讀取一次;關掉會立刻釋放防休眠,重新打開則再次接管。
  • 文件缺失、非法 JSON 或未寫某個鍵時,該功能默認保持開啓。
  • 若要讓某個功能徹底不加載,在 profile 的 cordis.patch.yml 裏對該功能設 enabled: false。

Profile 級配置(改完需重啓 dsh)

在 profile 的 cordis.patch.yml 裏給 small-toolkit 增加 config::

- id: small-toolkit
  config:
    keepAwake:
      enabled: true
    taskNotify:
      enabled: true
      notifyOn: [completed, error, blocked, max-tokens]   # 加上 aborted 則手動停止也提醒
      minDurationSec: 0                                    # 例如 30:只提醒用時 30 秒以上的任務
      sound: true                                          # false 爲靜音
      clickOpensApp: true                                  # 關掉後改回普通通知(點擊會打開腳本編輯器)
      appBundleId: com.deepseek.dsh                         # 點擊通知時切到的應用

通知相關日誌:~/Library/Application Support/dsh-small-toolkit/notifier.log。開啓 macOS「專注模式」時通知可能被靜默。

適用場景與注意

適合在 macOS 上長時間用 dsh 做編碼、調研或批量任務的用戶:需要機器保持喚醒、又希望在主對話結束時有系統級提醒並一鍵回到 DSH 窗口。

務必注意:

  • 插件隨當前 dsh 進程運行,安裝前建議閱讀倉庫源碼與 MIT 許可證,確認 caffeinate、通知助手等行爲符合你的環境策略。
  • 非 macOS 系統上這兩項功能不生效。
  • 社區目錄 skillhub.cn 插件頁 與 GitHub 倉庫由社區維護,與 DeepSeek / 幻方無官方從屬關係;DSH 理念是「一切皆插件」,安裝來源以 README 爲準。

結尾

dsh-small-toolkit 把「跑 dsh 時不睡屏」和「主對話任務結束提醒並聚焦 DSH」做成可獨立開關的兩塊小功能,配置路徑與安裝命令在 README 裏寫全。需要擴展能力時,維護者在 README 中說明了在 lib/features/ 新增文件並註冊到 lib/index.js 的方式。

  • 目錄頁:https://www.skillhub.cn/plugins/HanYu-me/dsh-small-toolkit
  • 倉庫:https://github.com/HanYu-me/dsh-small-toolkit
羽毛球分组比赛记分
小程序二维码

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

小夜