前言¶
DeepSeek Harness(DSH)的核心設計理念是“一切皆插件”,通過插件可以擴展 Harness 的行爲。在某些模型推理鏈(Chain of Thought)或最終回覆中,模型可能會發出“哼”、“嗯”等思考聲,如果沒有明確的視覺或聽覺反饋,這些聲音容易被忽略。
dsh-villager-hmm 是一個 DSH 插件,當檢測到模型發出“哼”聲時,會在界面上播放 Minecraft 村民的哼聲作爲反饋。
安裝與啓用¶
安裝此插件必須使用 DSH 的官方安裝命令,不能直接使用 npm install。安裝後需運行資源獲取腳本,否則插件面板會出現但無聲音。
- 安裝插件
dsh plugin --profile web add dsh-villager-hmm
安裝完成後,需要重啓該 profile 才能讓插件生效。
- 獲取資源
插件不包含 Minecraft 材質,需要運行以下命令將村民聲音和紋理下載到本地緩存目錄:
npx dsh-villager-hmm-assets
資源默認存儲在 `$DSH_HOME/.dsh-villager-hmm/assets/`。
功能與界面¶
安裝並重啓 profile 後,右上角會出現一個懸浮面板。面板默認位置在右上角,這是爲了避開全寬的輸入框,防止遮擋發送按鈕。
面板支持以下操作:
- 拖拽與復位:按住標題欄可拖動面板位置,雙擊標題欄可復位到右上角。
- 摺疊模式:點擊面板上的按鈕可將面板摺疊,僅保留村民的頭部圖像(32x44 像素)。
- 播放控制:面板底部提供暫停、音量調節、播放一次(測試匹配)等控制項。
- 模式選擇:支持
reasoning-only(僅監聽推理鏈)或both(監聽推理鏈和回覆)模式。默認爲both,以兼容沒有獨立推理流輸出的模型。 - 本地化:界面支持中英文切換。
配置¶
插件的配置項可以在代碼中修改,也可以通過面板界面修改。若需通過配置文件覆蓋默認值,需編輯 $DSH_HOME/profiles/web/cordis.patch.yml:
- insert:
- id: dsh-villager-hmm
name: 'dsh-villager-hmm'
config:
enabled: true
mode: both # 'reasoning' (僅推理鏈) | 'both'
pattern: '(?<![0-9A-Za-z])(?:h+m+|mhm+|m{2,})|[嗯唔哼呃]'
assetDir: 'D:/my-assets'
主要配置項包括:
* enabled: 是否啓用插件。
* mode: 監聽範圍。
* pattern: 正則匹配式。
* assetDir: 自定義資源目錄。
默認匹配模式¶
插件默認使用以下正則表達式來匹配“哼”聲:
(?<![0-9A-Za-z])(?:h+m+|mhm+|m{2,})|[嗯唔哼呃]
該正則的設計邏輯如下:
* 邊界處理:使用 lookbehind (?<![0-9A-Za-z]) 而非 \b,是爲了解決 JavaScript 中 \b 在 CJK 字符(如中文)周圍表現不一致的問題,確保“嗯hmm”也能被正確匹配。
* 中文支持:正則末尾的 [嗯唔哼呃] 直接匹配中文的擬聲詞。
* 英文變體:h+m+ 匹配 hm、hmm、hmmm 等;mhm+ 匹配閉口哼;m{2,} 匹配純 mm。
在面板的“匹配式”字段中可以自定義正則,點擊“應用”生效。
注意事項¶
- 安裝方式限制:必須通過
dsh plugin命令安裝。如果直接使用npm install安裝,插件在 DSH 的 profile 管理下將不可見,無法加載。 - 首次使用:首次使用前必須運行資源獲取腳本,否則插件面板顯示正常,但點擊播放無聲音。
- 位置記憶:面板的位置會保存在瀏覽器的
localStorage中,刷新頁面後位置保持不變。
短結尾¶
dsh-villager-hmm 提供了一種直觀的方式,將模型內部的思考聲音(“哼”)轉化爲可聽、可視的反饋。通過自定義匹配模式和懸浮面板,它既能作爲趣味工具,也能用於調試模型在推理過程中的停頓與發聲習慣。