dsh-caller:DeepSeek Harness 強提醒插件

前言

DeepSeek Harness(DSH)的設計理念是“一切皆插件”,旨在讓開發者通過組合工具擴展智能體能力。在實際開發中,智能體常需用戶進行確認、做決定或處理已完成任務。如果缺乏有效交互手段,用戶可能錯過重要信息。dsh-caller 是爲此設計的一個插件,它通過物理層面的聲音和彈窗強制打斷用戶,確保“呼叫”一定會被感知。

這是什麼

dsh-caller 是由 ChuxueTeam 維護的 DeepSeek Harness 客戶端插件。當模型需要你本人回到電腦前時,它會調用 call_owner 工具。該插件設計初衷是強打擾:彈窗不會自動消失,提示音會循環播放,直到用戶親手關掉。

核心功能

該插件具備以下已覈實的能力:

  • 可自定義彈窗:支持修改彈窗的標題、正文和一行說明文字。
  • 三種提示音來源:支持系統語音朗讀(依賴 Windows SAPI)、內置音效、以及本地音頻文件。
  • 強制循環播放:提示音會循環播放,任何關閉彈窗的操作(點擊、Esc 鍵、被新呼叫擠掉)都會立即停止聲音。
  • 緊急模式:通過設置 urgent: true,彈窗會切換爲 🚨 樣式,更加醒目。
  • 開關控制:用戶可在設置中關閉“允許 AI 呼叫我”開關,此時模型調用工具將無法喚起彈窗。
  • 工具回執:工具返回 { delivered, clients, text?, note }。如果未打開窗口或開關關閉,delivered 爲 false,模型可據此調整策略。
  • 系統通知:作爲可選的輔助手段,當窗口不在最前面時,會發送系統通知。
  • 零侵入:不修改 DSH 內置包、不讀取業務 DOM、不發起任何外部網絡請求。

安裝與啓用

安裝該插件需要使用 DSH 的命令行工具。

dsh plugin --profile desktop add github:ChuxueTeam/dshOwnerCaller

如需本地開發,可克隆倉庫後通過本地鏈接添加:

git clone https://github.com/ChuxueTeam/dshOwnerCaller.git
dsh plugin --profile desktop add link:<你的路徑>/dshOwnerCaller

插件採用“單包雙面”架構:lib/index.js 是宿主半邊,負責處理工具調用和事件總線;lib/client.js 是瀏覽器半邊,負責設置面板、彈窗渲染和音頻播放。

使用方法

安裝完成後,按以下步驟配置和使用:

  1. 配置設置
    打開 設置 → 呼叫主人。在此界面可以調整彈窗文案、提示音源、音量,並配置是否允許 AI 呼叫。

  2. 測試呼叫
    在設置面板中,可以使用三個測試按鈕:

    • 立即呼叫(測試):完整模擬一次呼叫效果。
    • 只預覽彈窗:查看樣式,不播放聲音。
    • 試聽提示音(只響一遍):單獨測試音頻效果。
  3. 模型調用
    模型在需要你介入時,會調用 call_owner 工具。參數包括:

    • text:彈窗文案(最多 300 字),省略則使用默認文案。
    • reason:可選的一行說明。
    • urgent:布爾值,設爲 true 開啓緊急模式。
    • silent:布爾值,設爲 true 僅彈窗不響。

工作原理

插件通過宿主進程與瀏覽器端的通信實現功能:

  • 宿主進程:模型調用 call_owner 工具後,事件進入宿主進程的事件總線。宿主通過 GET /api/dsh-caller/stream(SSE)或 GET /api/dsh-caller/poll(輪詢)將事件推送給瀏覽器。
  • 瀏覽器端:lib/client.js 常駐 SSE 連接,收到 call 事件後觸發彈窗並啓動音頻播放器。
  • 狀態同步:彈窗的關閉回調持有播放器的 stop() 方法,確保關窗即靜音。若音源播放失敗(如文件被刪),會自動退回內置音效兜底。

注意事項

  • 強打擾設計:請勿在公共場合或會議中開啓高音量測試,彈窗必須手動關閉。
  • 環境依賴:使用系統語音朗讀功能依賴 Windows 的 System.Speech(SAPI)。
  • 生效時機:修改 lib/client.js 需要刷新頁面(Ctrl+R);修改 lib/index.js 需要重啓 DSH 宿主。
  • 許可證:該插件採用 MIT 許可證。
羽毛球分组比赛记分
小程序二维码

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

小夜