MIT 授權的原生 dsh bundle:在 DSH 路由分派之前包裝其 HTTP 伺服器——未登入時 302/401/中斷 WS 升級——並提供 TOTP、通行金鑰、邀請碼註冊,以及依使用者的工作階段、工作區與模型金鑰隔離。
DSH 整合
原生執行環境
作者聲明
安全稽核
未稽核
最後核實
2026-11-10
授權條款
MIT
01它能幫你完成什麼?
替要暴露到內網或公網的 DeepSeek Harness Web UI 加一道使用者名稱/密碼登入門
登入頁與工作階段 Cookie;未登入時頁面要求 302 跳轉登入頁、API 回傳 401、WS 升級直接斷線
把 DSH 面板暴露到 localhost 之外、需要在面板本身之前加一層驗證的維運人員
讓同一套 DSH 部署上的多個使用者互相看不到對方的工作階段、工作區與模型金鑰
工作階段與工作區依登入使用者記錄歸屬(存取他人物件回傳 403)、模型 provider/金鑰依使用者隔離並以口令衍生金鑰信封加密、管理員分享的金鑰可選用但看不到明文
共用一台 DeepSeek Harness 的團隊或家庭,需要依帳號隔離而不是共用一個登入
02如何將外掛接入 DeepSeek Harness?
先決條件
- web profile 裡的 DSH `>=0.2.0-rc.2 <0.3.0`——v0.7.0 移除了 legacy `0.1.1-rc.2` 傳輸線,缺少現代傳輸能力時外掛程式 fail-closed
- Node.js `^22.19.0 || >=24.0.0`(與 DSH 一致)
- 要使用通行金鑰需支援 WebAuthn 的現代瀏覽器,且存取位址為 `http://localhost:3080` 或網域 + HTTPS——IP 位址不能當作 RP ID
安裝步驟
- 01
從 npm 安裝:`dsh plugin --profile web add dsh-ui-auth`
$ dsh plugin --profile web add dsh-ui-auth
- 02
或固定到某個 GitHub 發行版本:`dsh plugin --profile web add github:0QwQ0/dsh-ui-auth#v0.7.0`
$ dsh plugin --profile web add github:0QwQ0/dsh-ui-auth#v0.7.0
- 03
或從本機目錄安裝:`dsh plugin --profile web add <本插件目錄的絕對路徑>`
$ dsh plugin --profile web add <本插件目錄的絕對路徑>
- 04
重新啟動面板一次——bundle 層在啟動時套用
驗證整合成功
- 開啟面板:會跳轉到 `/auth/login`
- 用 `admin` 與隨機密碼登入;密碼同時輸出在面板主控台日誌(以 `[dsh-ui-auth]` 開頭)與面板行程工作目錄下的 `dsh-ui-auth-bootstrap.txt`
復原
- `dsh plugin --profile web remove dsh-ui-auth` 後重新啟動面板;閘道、設定面板與用戶端模組全部消失,profile 的相依性與 bundle 名單自動還原
- 解除安裝不會刪除帳號資料;如需一併清空,請依 README 的重置步驟操作
03DSH 整合程度與能力邊界
原生 dsh profile bundle:套件內宣告了 `dsh.bundle.patch` 與 `dsh.client`,`dsh plugin` 會自動將它加入 profile 的 bundle 名單。它在 DSH 路由分派之前包裝其 HTTP 伺服器,攔截 `/api/*`、`/plugins/*`、HMR、SPA fallback 與 WebSocket 升級通道。
全介面攔截
任何到達 DSH 的 HTTP 要求或 WebSocket 升級→未登入時頁面 302、API 401、WS 升級斷線;登入後原要求原樣透傳
TOTP 兩步驗證與通行金鑰
驗證器 App(RFC 6238)或 WebAuthn 憑證→「密碼 + 動態碼」登入,或以通行金鑰免密碼登入;一個帳號可綁定多個通行金鑰
私鑰永不離開使用者裝置,伺服器只儲存公開金鑰依使用者隔離的模型金鑰
每個使用者在【設定】→【模型】裡自己的 provider / 模型 / API 金鑰→帶遮罩金鑰與餘額的表格;私有金鑰以口令衍生金鑰加密,未解鎖時伺服器無法解密
查餘額需先解鎖管理員分享的設定可選用、可看餘額但看不到金鑰,撤銷立即失效WebSocket mux 透明代理與逐幀過濾
已登入用戶端發起的 `/api/remote.mux` 升級→透明代理:他人的 `baseline.items`、`upsert.workspace`、`order.workspaceIds` 與工作階段事件被丟棄或裁剪,自己的原樣轉送
`DSH_AUTH_MUX_PROXY=0` 可暫時退避為直通以便排錯,但會重現洩漏中英雙語登入/註冊介面
DSH 的語言設定或瀏覽器的 `Accept-Language`→中文/English 的登入、註冊與註冊引導頁,跟隨 DSH 的 locale 服務即時切換
04適合誰?何時不該用?
適合
- 把 DSH 面板暴露到 localhost 之外、需要在面板本身之前加一層驗證的維運人員
- 共用一台 DeepSeek Harness 的團隊或家庭,需要依帳號隔離而不是共用一個登入
不適合
- v0.7.0 只支援 DSH 0.2.0 線。缺少現代傳輸能力時外掛程式 fail-closed——驗證閘道不建立、面板無法存取——而不會退回舊傳輸線,也不會降級成無門放行。
- 瀏覽器不允許把 IP 位址當作通行金鑰網域:`http://127.0.0.1:3080` 與 `http://內網IP:3080` 都無法使用通行金鑰。本機請用 `http://localhost:3080`,或給面板設定網域並走 HTTPS。
- 隔離範圍是 DSH 的工作階段/工作區資料依登入使用者劃分;它不改變 DSH 自身的行程權限模型,也不能隔離第三方外掛程式自己的資料。多租戶級別的強隔離需要 DSH 側的支援。
05相容性、維護與安全提醒
- v0.7.0 只支援 DSH 0.2.0 線。缺少現代傳輸能力時外掛程式 fail-closed——驗證閘道不建立、面板無法存取——而不會退回舊傳輸線,也不會降級成無門放行。
- 瀏覽器不允許把 IP 位址當作通行金鑰網域:`http://127.0.0.1:3080` 與 `http://內網IP:3080` 都無法使用通行金鑰。本機請用 `http://localhost:3080`,或給面板設定網域並走 HTTPS。
- 隔離範圍是 DSH 的工作階段/工作區資料依登入使用者劃分;它不改變 DSH 自身的行程權限模型,也不能隔離第三方外掛程式自己的資料。多租戶級別的強隔離需要 DSH 側的支援。
- 公網部署應放在 HTTPS 反向代理之後,由代理終結 TLS 並保留 Host,並在反代場景開啟 `DSH_AUTH_TRUST_PROXY=1`,否則登入限流會依代理 IP 聚合。
- 首次啟動會產生含管理員隨機密碼的 `dsh-ui-auth-bootstrap.txt`。README 要求用完即刪,且任一使用者改密成功後該引導檔案會自動刪除。
MIT · 持續維護(最新 release v0.7.1,2026-10-16)· legacy DSH 0.1.1-rc.2 支援已於 v0.7.0 結束
06常見問題
v0.7.x 支援哪些 DSH 版本?
web profile 裡的 DSH `>=0.2.0-rc.2 <0.3.0`。legacy `0.1.1-rc.2` 傳輸線已於 v0.7.0 移除:缺少現代傳輸能力時外掛程式 fail-closed——驗證閘道不建立、面板無法存取——而不是無門放行。
第一次怎麼登入?
使用者表為空時外掛程式會自動建立 `admin` 並產生隨機密碼,同時輸出在面板主控台日誌(以 `[dsh-ui-auth]` 開頭)與面板行程工作目錄下的 `dsh-ui-auth-bootstrap.txt`。開啟面板會跳轉到 `/auth/login`,登入後請立刻在【設定】→【使用者管理】改密碼,引導檔案也會隨之刪除。
為什麼在內網 IP 上用不了通行金鑰?
瀏覽器不允許把 IP 位址當作 WebAuthn 的 RP ID,明文 HTTP 也不是安全上下文。本機請用 `http://localhost:3080`,或給面板設定網域並走 HTTPS。
一般使用者能看到別人的工作階段嗎?
不能。工作階段與工作區在建立時記錄歸屬,清單與搜尋介面依擁有者過濾,直連他人工作階段回傳 403,`/api/remote.mux` 的 WebSocket 由外掛程式透明代理並逐幀過濾。管理員可見全部資料。
它會改變 DSH 自身的權限模型嗎?
不會。它依登入使用者隔離 DSH 的工作階段/工作區資料,但不改變 DSH 的行程權限模型,也不能隔離第三方外掛程式自己的資料。DSH 對 `/api` 的 DNS-rebinding 信任柵欄明確不是驗證——本外掛程式才是前置驗證層。
07相關的 DSH 工作流程
cc-safety-net
作者 kenryu42
面向 AI 编程智能体的执行前安全防护插件,在工具调用前拦截破坏性 Git、文件操作和敏感文件访问,兼容多种编码 Agent 与命令行工具。
dsh-uumit-remote
作者 uumit-ai
为 DeepSeek Harness 提供远程访问能力,支持从其他设备连接和使用会话。
deltabox-lite
作者 delta-box
为 AI 编程代理提供轻量沙箱,可查看文件差异、提交更改或中止操作。
tencentmeeting-cli
作者 tencentcloud
腾讯会议命令行工具(CLI),基于腾讯会议开放平台 OAuth2 授权,支持会议管理、录制管理、参会报告等功能。
08資料與來源
本包是标准的 DSH profile bundle(声明了 `dsh.bundle.patch` 与 `dsh.client`), `dsh plugin` 会自动把它加入 profile 的 bundle 名单:
在 DSH 路由分发之前包装其 HTTP 服务器,覆盖 `/api/*`、`/plugins/*`、HMR、 SPA fallback 与 WebSocket 升级通道,没有旁路。
此頁面根據專案公開文件、儲存庫中繼資料與 DSH Plugins 的結構化解析所產生;最後核實於 2026-11-10。發現錯誤?提交更正。
最佳 DeepSeek Harness 外掛
從全目錄挑出的 12 個值得優先安裝的外掛,涵蓋各個分類。
