dsh-captain-call:把 AgentTeams 任務完成變成隊長來電

前言

DeepSeek Harness(DSH)生態強調插件化擴展;社區目錄是獨立站點,不等同於官方應用商店。

對使用 AgentTeams 的開發者來說,任務完成與否通常仍需要手動查看狀態。dsh-captain-call 是一個 DeepSeek Harness Web GUI 插件:當 AgentTeams 隊員完成任務時,桌面助手 GINKA 會以微信語音通話風格的來電界面呼叫 Daisy 隊長,並語音彙報是誰、是否按要求準時完成。

這是什麼

dsh-captain-callDaisy2048 維護,代碼許可爲 MIT。

它解決的是 DSH Web GUI 場景下的任務完成提醒問題:任務完成後,頁面出現全屏來電界面;接聽後,插件用 TTS 播報任務是否完成、是否按時以及用時。

倉庫地址:

https://github.com/Daisy2048/dsh-captain-call

核心功能

來電界面與鈴聲

插件提供微信式全屏來電 UI,包括模糊頭像背景、白色卡片、來電人姓名、綠色接聽按鈕和紅色拒絕按鈕。

來電時會先嚐試播放鈴聲。若瀏覽器自動播放策略攔截了鈴聲,可以點擊界面上的按鈕開啓;來電期間,頁面上的任意一次點擊也會補響鈴聲。如果音頻異常,插件會回退到 Web Audio 合成提示音。

接聽、播報與任務狀態

接聽必須點擊綠色按鈕,沒有自動接聽。

接聽後,插件會用 TTS 中文播報任務《{subject}》是否完成、是否按時以及用時。語音內容、稱謂和話術均可配置。

插件根據 team.jsoncreatedAtupdatedAt 計算任務用時;任務失敗時,會播報失敗狀態。

TTS 引擎與狀態查看

TTS 優先使用 Kokoro-82M-zh 本地 ONNX 中文語音;失敗時兜底 msedge-tts;再兜底瀏覽器系統語音。

當前 TTS 引擎狀態可在以下路徑查看:

/plugins/dsh-captain-call/state
tts.engine

模型文件隨插件分發於:

models/

音色映射可通過以下配置項調整:

voiceMapJson
voiceMapEdgeJson

語音回覆與降級

點擊“語音回覆”會直接申請瀏覽器麥克風權限。

語音識別不支持時,插件會自動降級爲打字回覆。語音轉文字後,插件會使用隊員人設和真實任務狀態進行回覆,並將完整對話後臺存檔給真實隊員 agent。

桌面助手與雙向通話

頁面右下角有 GINKA 桌面助手掛件。展開面板後,可以查看通訊錄、測試來電、切換靜音開關,並查看最近 20 條來電歷史。

通訊錄支持點擊隊員主動撥打,形成雙向語音通話。

去重與卸載

首次加載時,插件會把歷史已完成任務標記爲基線,不回放舊來電;運行期間新完成的任務才觸發來電。

記錄持久化後,重啓不會重複來電。

插件可卸載時回收 DOM、CSS、定時器、音頻和麥克風流。

安裝與啓用

以下命令會先拉取倉庫,再恢復本地模型文件,最後安裝到 DSH Web profile。模型文件不隨 git 提交,因此需要先運行模型恢復腳本。模型大小在現有資料中存在不一致,本文不給出確定數值。

git clone https://github.com/Daisy2048/dsh-captain-call.git
cd dsh-captain-call
./scripts/download-models.ps1
dsh plugin --profile web add .
# 重啓 dsh web 後刷新頁面即生效
dsh web

執行後,重啓 dsh web,刷新頁面即可啓用該插件。

典型用法與配置

典型使用流程如下:

1、AgentTeams 中有新任務完成或失敗時,頁面出現微信式來電界面。

2、來電期間如果鈴聲被瀏覽器攔截,可點擊按鈕開啓;接聽必須點擊綠色按鈕。

3、接聽後,TTS 播報任務是否完成、是否按時以及用時。

4、點擊“語音回覆”申請麥克風權限,進行語音對話;語音識別不支持時,會自動降級爲打字回覆。

5、右下角 GINKA 面板中,可以查看通訊錄、測試來電、切換靜音開關,並查看最近 20 條來電歷史。

插件支持通過 cordis.patch.yml 覆蓋以下配置項:

cordis.patch.yml
bossName
bossTitle
pollMs
speechRate
greeting
timingOk
timingFailed
ringText
bossAvatar
fallbackAvatar
avatarMapJson

這些配置項用於調整隊長名字、稱呼、輪詢週期、語速、開場話術、準時/失敗話術、鈴聲文本、頭像映射等內容。

適用場景與注意

適合在 DSH Web GUI 中使用 AgentTeams,並希望用語音來電方式跟進任務完成狀態的場景。

插件會以當前 dsh 進程權限運行。安裝前,應檢查源碼、許可證和素材授權說明。代碼許可爲 MIT;頭像與鈴聲素材版權歸原作者所有,僅限個人本地使用,公開發布前必須替換爲自有或授權素材。

還需要注意以下限制:

  • 瀏覽器自動播放策略可能攔截無手勢的鈴聲或 TTS;頁面上任何一次點擊後,相關播放可恢復,接聽按鈕也可作爲手勢入口。
  • 語音識別(SpeechRecognition)僅 Chromium 系瀏覽器支持;其他瀏覽器會自動降級爲打字回覆。
  • 瀏覽器首次申請麥克風會彈系統授權條,這是瀏覽器安全機制,無法繞過。
  • 通知基於磁盤狀態輪詢,不做 Cordis 事件注入,不觸達模型請求。
  • 首次加載會把歷史已完成任務標記爲基線,不會回放舊來電。

結尾

dsh-captain-call 的價值,是把 AgentTeams 的任務完成狀態從“手動查看”變成“語音來電匯報”:來電、接聽、播報、語音回覆和雙向通話都能在 DSH Web GUI 中完成。

GitHub 倉庫:

https://github.com/Daisy2048/dsh-captain-call

目錄頁線索地址爲:

https://www.skillhub.cn/plugins/Daisy2048/dsh-captain-call

該目錄頁地址來自插件線索,未在本次已抓取資料中確認;使用前請以插件發佈者頁面爲準。

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

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

小夜