在本地運行 DeepSeek Harness (DSH) Web 配置文件時,直接暴露服務端口往往缺乏精細的訪問控制。對於單操作員場景,需要一個輕量級的“門”,既能管理密碼、通行密鑰和 IP 白名單,又能不干擾 DSH 原生的工作區和會話管理。
dsh-local-hanaccount 是一個爲本地 DSH Web 配置文件設計的單操作員訪問網關插件。由維護者 Z-6354 開發,它提供了一套統一的登錄機制,將密碼、通行密鑰和 SSH 密鑰整合在一個入口,並支持 IP 白名單、黑名單統計以及 Nginx 集成。
核心功能¶
統一登錄與多因子支持
插件提供統一的登錄頁面。支持密碼登錄(使用 scrypt 哈希,5 次失敗鎖定)和通行密鑰登錄(WebAuthn,需 HTTPS 或 localhost)。此外還支持 SSH 公鑰登錄,適用於 CLI 或腳本場景。
全路由保護與失敗關閉
默認保護所有插件 webServer 前綴。配置的 excludePrefixes 無法豁免需要認證的業務路由,只允許內置資源和插件包在通過 IP 和入口檢查後匿名訪問。這意味着業務路由採用“失敗關閉”策略。
會話與權限管理
支持登出撤銷(關閉活躍套接字)。password-native-v1 橋接機制在建立網關會話的同時也建立官方主機會話,確保兼容性。會話包含密碼版本綁定和服務器端絕對/空閒生命週期。
IP 與網絡控制
支持 IP 白名單(信任 IP 可跳過登錄日誌)和黑名單(永久拒絕並記錄統計)。支持 LAN 模式(禁用白名單,顯式拒絕 + 強制認證)。
集成能力
提供 Nginx 反向代理配置片段(含 X-Real-IP 設置),便於在公網環境部署。
安裝與啓用¶
安裝插件後需重啓 DSH Web 配置文件才能生效。
dsh plugin --profile web add dsh-local-hanaccount
如果本地已有源碼,也可以直接添加路徑:
dsh plugin --profile web add /path/to/dsh-local-hanaccount
典型用法¶
- 安裝並重啓 DSH Web 配置文件後,直接在瀏覽器打開
localhost(不經過反向代理),在登錄頁設置初始密碼。 - 進入 DSH 的設置界面,在“訪問控制”中添加當前 IP 到白名單。
- 對於遠程訪問,必須使用 HTTPS 和受信任的反向代理。通行密鑰功能僅在 HTTPS 或
http://127.0.0.1/localhost環境下可用。
適用場景與注意¶
適合需要本地運行 DSH Web 配置文件,並希望爲單用戶或小團隊提供可控訪問入口的場景。
- 權限與依賴:該插件以 DSH 進程的權限運行,安裝前應檢查源碼與許可證。
- 會話管理:工作區和會話由 DSH 原生管理,插件不干預。
- 持久化限制:目錄的 fsync 和電源故障持久化在 Windows 上未做保證。
- 通行密鑰檢測:通行密鑰的可用性取決於當前 URL 的
isSecureContext,與域名無關。
通過 dsh-local-hanaccount,可以在不改變 DSH 核心架構的前提下,爲本地 Web 服務增加一道可控的訪問鎖。它通過標準化的接口整合了多種認證方式,適合追求安全與簡潔並重的開發者。項目源碼與文檔可在其 GitHub 倉庫查閱。