dsh-plugin-auth-webserver:爲 DSH Web 服務增加 Web 登錄、cookie 會話與 Basic Auth 回退

前言

DSH 的插件模式把 Web 服務能力拆成可組合的 bundle。如果你的 DSH 部署需要給 Web 服務增加認證,又不希望只依賴瀏覽器原生認證彈窗,也不犧牲 curl、CLI 工具和自動化 API 客戶端的訪問方式,下面介紹 dsh-plugin-auth-webserver。

這個插件是 DeepSeek Harness(DSH)的原生 Web 認證 bundle。它提供 DSH-themed web login page、HMAC cookie sessions and logout、Web GUI settings card、dual-mode authentication and WebSocket protection、HTTP Basic Auth fallback、remote IP privileged RPC trust delegation、Web Crypto UUID auto-polyfill,並支持 English 和 Simplified Chinese。

這是什麼

  • 插件名:dsh-plugin-auth-webserver
  • 定位:DSH 的原生 Web 認證 bundle
  • GitHub 倉庫:https://github.com/kolawong/dsh-plugin-auth-webserver
  • 許可證:MIT © 2026 kola

核心功能

下面列出的能力來自插件的已覈實描述:

  • DSH-themed web login page:提供 DSH 風格的 Web 登錄頁。
  • HMAC cookie sessions and logout:使用 HMAC cookie 維持會話,並支持登出。
  • Web GUI settings card:在 DSH Web GUI 中提供設置卡片。
  • Dual-mode authentication and WebSocket protection:提供雙模式認證,並覆蓋 WebSocket 保護。
  • HTTP Basic Auth fallback for CLI tools, curl, and automated API clients:爲 CLI 工具、curl 和自動化 API 客戶端保留 HTTP Basic Auth 回退。
  • Remote IP privileged RPC trust delegation:支持遠程 IP privileged RPC trust delegation。
  • Web Crypto UUID auto-polyfill:提供 Web Crypto UUID auto-polyfill。
  • English and Simplified Chinese:支持英文和簡體中文。

安裝與啓用

使用 git-host 方式安裝時,可以指定 commit:

dsh plugin --profile web add github:kolawong/dsh-plugin-auth-webserver#<commit-sha>

這裏的 <commit-sha> 替換爲你要安裝的具體提交號。

安裝完成後,啓動 web profile:

dsh --profile web

然後打開:

http://your-server-ip:3080

即可看到登錄頁。

配置

可以通過 profile 自己的 patch 覆蓋 webserver-auth 行。文件路徑爲:

$DSH_HOME/profiles/web/cordis.patch.yml

需要覆蓋的字段包括:

- id: webserver-auth
  config:
    host: <host>
    port: <port>
    username: <username>
    password: <password>

其中 password 的默認值是 '';留空會禁用認證。

如果在 Web GUI 的設置卡片中修改配置,狀態會保存到:

$DSH_HOME/plugins/dsh-plugin-auth-webserver/state.json

該文件權限爲 0600。

環境變量 DSH_AUTH_USER 和 DSH_AUTH_PASS 會同時覆蓋配置文件和已保存狀態。

API endpoints

插件提供以下接口:

POST /api/auth.login
POST /api/auth.logout
GET /api/auth.get
POST /api/auth.update

適用場景與注意

適合這類使用方式:

  • 給 DSH Web 服務增加 Web 登錄頁。
  • 使用 HMAC cookie 會話和登出能力。
  • 通過 Web GUI 設置卡片管理認證配置。
  • 讓 Web 表單、cookie 會話與 HTTP Basic Auth 共存。
  • 爲 CLI 工具、curl 和自動化 API 客戶端保留 Basic Auth 回退。
  • 需要 WebSocket protection。
  • 需要 remote IP privileged RPC trust delegation。
  • 需要 Web Crypto UUID auto-polyfill。
  • 需要英文和簡體中文界面。

使用注意:

  • 插件會以當前 dsh 進程權限運行。
  • 安裝前應檢查源碼和許可證。
  • 該插件依賴以下 peer dependencies:
@deepseek-ai/cordis >=4.0.0
@deepseek-ai/schemastery >=3.0.0

結尾

dsh-plugin-auth-webserver 的價值在於把 DSH Web 服務的認證能力拆成一個獨立 bundle:Web 登錄頁、cookie 會話、Web GUI 設置、Basic Auth 回退、WebSocket 保護、遠程 IP RPC trust delegation 和 Web Crypto polyfill 放在同一個插件裏提供。

GitHub 倉庫:

https://github.com/kolawong/dsh-plugin-auth-webserver
羽毛球分组比赛记分
小程序二维码

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

小夜