前言¶
DSH(DeepSeek Harness)可以通過插件擴展 Web 側能力。對於需要通過公網域名或局域網 IP 訪問 DSH Web 的場景,遠程 /api 訪問如果沒有密碼門禁,默認放行會把遠程訪問直接暴露出來。dsh-access-gate 是爲這類場景做的認證門禁插件:配置密碼後限制非本機直連訪問,同時保留本機使用體驗,並在卸載時還原副作用。
這裏提到的 DSH 插件生態強調“一切皆插件”;社區目錄是獨立站點,不代表官方應用商店。
這是什麼¶
dsh-access-gate 是 DSH 遠程訪問認證門禁插件,維護者爲 bamboostrip,許可證爲 MIT。它主要爲遠程 /api 訪問提供密碼門禁,默認無密碼,並提供本機原生目錄選擇與零殘留卸載能力。
核心能力¶
下面介紹已覈實的功能點。
- 默認無密碼:未配置密碼時,遠程直接放行。
- 遠程密碼門禁:配置密碼後,非本機直連訪問需要密碼登錄,登錄使用 HttpOnly Cookie,默認 7 天有效。
- 本機目錄選擇:本機添加工作區時可打開官方原生目錄對話框;遠程自動降級爲應用內瀏覽器。
- 替代
dsh-lan-access:提供webserver 0.0.0.0綁定和crypto.randomUUIDpolyfill。 - 安全處理:密碼比較使用
sha256和timingSafeEqual,幷包含防開放重定向、Host 欺騙封死等安全處理。 - 源碼與卸載:提供 TypeScript 源碼和編譯產物,外部 API 契約集中在
src/types.ts;卸載時通過ctx.effect清理回調還原副作用,聲稱不修改 DSH 源碼、不寫入用戶配置文件。
安裝與啓用¶
先安裝插件:
dsh plugin --profile web add dsh-access-gate
安裝後重啓 DSH 生效。默認情況下沒有密碼,遠程可以直接訪問。
如果需要啓用密碼門禁,可以二選一:
- 通過 DSH 設置界面 → 插件配置 → 訪問認證 卡片設置密碼。保存後會寫入
~/.dsh/.credentials.yaml,並即時生效。 - 使用環境變量
DSH_GATE_PASSWORD設置密碼。該來源優先於文件層,重啓 DSH 後生效。
已覈實的密碼來源優先級爲:
config.password > DSH_GATE_PASSWORD > ~/.dsh/.credentials.yaml > .env
如果 npm 國內鏡像同步存在延遲,導致安裝報找不到包,可按文檔改用 GitHub 方式安裝。
典型用法¶
登錄行爲¶
- 默認無密碼時,遠程訪問可以直接進行。
- 配置密碼後,非本機直連訪問需要密碼登錄。
- 登錄態保存在內存中,DSH 進程重啓後需要重新登錄。
- 登錄有效期默認爲 7 天,可通過
tokenTtlMs調整。
可選配置¶
可選配置項集中在 auth-gate,包括 password、trustedRemotePrefixes、tokenTtlMs。示例如下:
- id: auth-gate
config:
# password: 'xxx'
trustedRemotePrefixes: ['10.144.144.0/24']
tokenTtlMs: 604800000
其中 trustedRemotePrefixes 可用於內網網段免密,tokenTtlMs 用於設置登錄有效期;password 可作爲配置層密碼來源。
適用場景¶
- 通過 nginx 公網域名訪問 DSH Web。
- 通過局域網 IP 訪問 DSH。
- 需要替代
dsh-lan-access的0.0.0.0綁定與crypto.randomUUIDpolyfill。 - 本機添加工作區時希望使用原生目錄對話框。
注意事項¶
- 插件以當前 DSH 進程權限運行,安裝前建議先檢查源碼與許可證。
- 默認無密碼時,遠程訪問等價於本機操作權限。公網暴露前建議配置強密碼,並建議在 nginx 層加 IP 白名單 / Basic Auth。
- 建議配合 nginx HTTPS 使用,防止密碼與 Cookie 明文傳輸。
- 登錄接口沒有失敗次數限制,這是已知邊界,可參考 NOTES §5。
package.json聲明engines.node爲>=22。- v0.6.0 起要求 DSH 0.1.0-rc.7+;如果 DSH 是 rc.6,請使用 v0.5.0。
- 登錄態在內存中,DSH 進程重啓後需要重新登錄。
卸載¶
dsh plugin --profile web remove dsh-access-gate
卸載後,相關副作用通過 ctx.effect 清理回調還原;插件聲稱不修改 DSH 源碼、不寫入用戶配置文件。
鏈接¶
- GitHub:https://github.com/bamboostrip/dsh-access-gate
- 目錄頁:https://www.skillhub.cn/plugins/bamboostrip/dsh-access-gate(該 URL 來自插件線索,未在本次抓取資料中直接出現)