前言¶
DeepSeek Harness (DSH) 採用插件化架構,擴展能力主要依賴於宿主端的模塊系統。在開發或調試智能體(Agent)時,當 Agent 需要用戶授權、選擇分支方案,或完成一輪任務時,開發者通常需要手動刷新或切換瀏覽器標籤頁。dsh-windows-notify 是一個爲 DSH 提供原生 Windows 桌面通知能力的插件,由 Exynos671 維護。它通過 Windows Toast 機制,將 Agent 的關鍵狀態變化實時推送到桌面,點擊通知即可將 DSH 瀏覽器窗口切至前臺。
核心功能¶
該插件主要提供以下能力:
- Windows Toast 通知:在三種特定時機觸發系統通知。
- 授權請求:Agent 需要你批准工具調用時,顯示工具名和理由。
- 方案選擇:Agent 需要你選擇分支或回答問題時,顯示標題、問題和最多 6 個選項。
- 任務完成:當一輪任務結束且 Agent 狀態變爲 idle 時,顯示“任務完成”。
- 設置面板:在 DSH 的設置 -> 通用中增加“Windows 通知”開關組,可獨立控制上述三種通知及“待辦狀態策略”。
- 點擊聚焦:點擊任意通知,會將已打開的 DSH 瀏覽器窗口置於最前;若未打開窗口,則新建標籤頁。
- 待辦狀態策略:常駐系統提示規則,強制待辦狀態逐條回寫,禁止批量補寫。
安裝與配置¶
安裝¶
推薦使用 Bundle 安裝方式。在終端中執行以下命令,將插件掛載到 web profile:
dsh plugin --profile web add github:Exynos671/dsh-windows-notify
手動安裝(不推薦)¶
若需手動安裝,需完成以下步驟:
- 克隆插件到插件目錄:
git clone https://github.com/Exynos671/dsh-windows-notify.git "$env:USERPROFILE\.dsh\profiles\plugins\dsh-windows-notify"
- 在
profiles\node_modules下創建聯接,以便 DSH 的模塊解析器能找到該包:
New-Item -ItemType Junction `
-Path "$env:USERPROFILE\.dsh\profiles\node_modules\@deepseek-ai\dsh-windows-notify" `
-Target "$env:USERPROFILE\.dsh\profiles\plugins\dsh-windows-notify"
- 掛載插件。將以下內容追加到
~\.dsh\profiles\web\cordis.patch.yml(或全局的~\.dsh\cordis.patch.yml):
- insert:
- id: windows-notify
name: '@deepseek-ai/dsh-windows-notify'
配置¶
插件配置位於 dsh-notify 命名空間,寫入 ~\.dsh\settings.yaml。安裝後,可在 DSH 設置 -> 通用 -> “Windows 通知” 中撥動開關,或手動編輯:
dsh-notify:
enabled: true
approval: true
choice: true
completion: true
focusOnClick: true
todoStatusPolicy: true
enabled: false 僅靜音通知,插件仍會加載常駐規則。要徹底卸載,請刪除或禁用掛載行。
典型用法¶
- 當 Agent 執行工具需要權限時,Windows 桌面會彈出 Toast 提示
DSH 需要你的授權。 - 你可以點擊通知,DSH 瀏覽器窗口會自動聚焦到前臺,網頁端會渲染授權卡片。
- 在網頁端操作完成後,Agent 狀態恢復 idle,再次彈出“任務完成”通知。
環境與注意事項¶
- 平臺限制:僅支持 Windows 10/11。
- 依賴環境:宿主端需要運行 Windows PowerShell 5.1。
- Profile 要求:必須掛載了 Web 應用(
web)的 dsh profile。 - 功能邊界:插件只負責通知,不回答問題,授權卡片和選項列表仍由網頁端渲染。
- 許可證:MIT License。
- 安裝衝突:不要同時使用“手動掛載”和“Bundle 安裝”兩種方式,這會導致模塊系統報錯。
結尾¶
dsh-windows-notify 通過原生 Toast 機制,解決了 DSH 在 Windows 環境下狀態反饋不直觀的問題。對於需要頻繁與 Agent 交互的開發者,它能顯著減少查看窗口的頻率。