前言¶
DeepSeek Harness (DSH) 網頁版在無人值守或多人共用一臺機器時,存在被直接操作的風險。dsh-lock 插件通過全屏遮罩和密碼驗證,在用戶訪問 DSH 前加了一道門禁,只有輸入正確密碼才能進入工作區。
功能概覽¶
- 全屏遮罩:未解鎖時覆蓋整個界面,阻止直接操作會話。
- 手動鎖定:隨時通過側邊欄按鈕或快捷鍵立即鎖定。
- 自動鎖定:可配置空閒時長,超時後自動鎖定。
- 密碼安全:僅存 scrypt 單向哈希(N=2^15, r=8, p=1),永不保存明文。
- 界面中英雙語:跟隨 DSH 的界面語言設置實時切換。
安裝與啓用¶
在終端執行以下命令安裝插件:
dsh plugin --profile web add github:felixpu/dsh-lock
安裝完成後需重啓宿主進程。
使用方法¶
- 解鎖:打開頁面時顯示鎖定界面,輸入密碼即可解鎖。
- 立即鎖定:
- 點擊側邊欄底部的「鎖定」按鈕。
- 使用快捷鍵:macOS / Windows 爲
Ctrl/Cmd + Shift + L;Linux 爲Ctrl/Cmd + Shift + .。
- 自動鎖定時長:進入「設置 → 插件 → dsh-lock」面板配置。
安全機制¶
- 存儲方式:密碼以 scrypt 算法加鹽哈希存儲,比對使用常量時間比較,僅存哈希值,不保存明文。
- 令牌機制:解鎖後簽發的是短期令牌,而非保存密碼本身。
- 卸載安全:存儲在插件私有目錄下,卸載插件不會把密碼留在會話或配置裏。
- 安全邊界:這是界面門禁,不是磁盤加密。它防的是「別人走到你電腦前直接操作 DSH」,不能防止能讀取你用戶目錄下文件的攻擊者。
注意事項¶
- 錯誤代碼:不產出面向用戶的自然語言,路由響應只回機器可讀的代碼,如
invalid-password/too-many-attempts/locked。 - Locale 配置:爲確保中英雙語正常工作,必須在
package.json的exports裏導出locale/*.json,且files字段需包含locale目錄。這是兩個容易漏掉的點,漏掉會導致靜默失效。
總結¶
dsh-lock 是一個輕量級的界面安全插件,適合需要在公共設備上臨時離開或多人協作時保護 DSH 會話安全。其代碼託管在 GitHub,遵循 MIT 許可證。