dsh-notify-linux: DSH 任務通知與提示音

前言

DeepSeek Harness (DSH) 在運行智能體任務時,通常會在後臺持續執行。如果僅僅依賴瀏覽器原生的通知機制,當頁面處於後臺標籤頁、最小化窗口或關閉標籤頁時,通知往往會丟失。這意味着開發者可能錯過任務結束的信號、需要人工決策的時刻,或者任務失敗的報錯信息。

dsh-notify-linux 解決了這個問題。它通過 DSH 的主進程發送系統級通知,確保無論瀏覽器窗口狀態如何,桌面通知和提示音都能準時送達。

插件簡介

dsh-notify-linux 是一個爲 DSH 設計的 Linux + GNOME 平臺插件,由開發者 Wlaeg 維護。其核心價值在於:當 DSH 完成一輪任務、需要用戶選擇、等待工具調用批准,或發生錯誤時,通過 notify-send 發送桌面通知,並通過 paplay 或 canberra-gtk-play 播放提示音。

核心功能

該插件通過 DSH 的主進程進行通知分發,具備以下能力:

  1. 事件監聽與通知:監聽四種事件類型,每種類型均可獨立配置:
    • turnEnd:任務回合結束。
    • question:模型請求用戶進行選擇。
    • approval:工具調用等待人工批准。
    • error:執行步驟或整輪任務失敗。
  2. 系統級通知:使用 notify-send(依賴 libnotify)發送通知,通知標題和內容包含會話信息(工作區 · 會話 ID)。
  3. 聲音提示:使用 paplay 播放提示音,當 paplay 不可用時,回退使用 canberra-gtk-play。
  4. 瀏覽器回退機制:當系統通知能力不可用時,使用 Web Notification 和 Web Audio 作爲降級方案,確保通知不丟失。
  5. 靈活配置:所有開關(包括主開關、事件開關、系統通知開關、聲音開關等)均可通過 DSH 設置頁面的「任務通知」導航項,或直接編輯 JSON 配置文件進行管理。

安裝與啓用

這是一個 DSH Cordis 插件包。請通過 DSH 的插件管理器進行安裝。

在終端中執行以下命令,將插件指向本地目錄或 Git 倉庫:

# 方式一:指向本地目錄
plugin_manager install_bundle /home/wlaeg/文檔/deepseek-harness/default-workspace/dsh-notify

# 方式二:指向 Git 倉庫
plugin_manager install_bundle https://github.com/Wlaeg/dsh-notify-linux

安裝完成後,插件即處於激活狀態。爲使瀏覽器端(設置頁面、Toast 彈窗)生效,請刷新 DSH 的 Web UI 頁面。

配置與使用

配置文件

所有配置選項存儲在單個 JSON 文件中:

$DSH_PROFILE_DIR/dsh-notify-linux

該文件默認位於 ~/.dsh/profiles/web/dsh-notify-linux.json。配置文件採用原子寫入模式,可以直接編輯並保存。

設置頁面

在 DSH 的設置頁面中,導航至「任務通知」部分。這裏包含主開關、四個事件類型的獨立開關、系統通知/聲音開關、主題選擇以及「測試」按鈕。設置頁面支持中英文本地化。

環境要求與注意事項

系統依賴

  • 平臺:Linux + GNOME(已在 Manjaro GNOME、Wayland 環境下驗證)。
  • 運行環境:Node.js 版本需大於等於 22。
  • 外部工具:
    • notify-send(來自 libnotify)。
    • paplay(來自 pulseaudio-utils)或 canberra-gtk-play(來自 libcanberra)。
    • 聲音文件路徑:/usr/share/sounds/freedesktop/stereo。

注意事項

  • 後臺運行:通知由 DSH 主進程發送,因此即使瀏覽器頁面關閉,通知依然有效。
  • 語言:當前通知字符串爲中文。
  • 插件替換:若要替換已安裝的插件副本(例如修改源碼後),必須重啓 DSH 的宿主進程。僅刷新 Web UI 頁面是不夠的,舊的路由和處理器會繼續運行。
  • 依賴可選性:插件具備優雅降級能力。如果系統缺少 notify-send 或 paplay,插件不會阻塞任務執行,而是回退到瀏覽器端的 Web Notification 和 Web Audio。

總結

dsh-notify-linux 通過系統級的通知機制,解決了 DSH 在後臺運行時信息反饋不及時的問題。它提供了清晰的四種事件反饋,並支持靈活的配置,適合需要在 Linux 環境下長時間運行 DSH 任務的開發者使用。

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

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

小夜