auth-gate:爲 DeepSeek Harness Web 界面加登錄門禁與賬號管理

前言

把 DeepSeek Harness(下稱 DSH)的 Web 界面跑在共享機器或局域網環境裏時,能打開這個地址的人都能直接進入界面操作。如果只想加一層最基礎的賬號門禁,不必改動 DSH 本體,用插件 bundle 就能做到。下面介紹的 @dsh-login-gate/auth-gate(倉庫 javaxiaov/deepseek-herness-login)就是這樣一款插件:未登錄時用全屏登錄頁蓋住整個應用,登錄後可以在系統設置裏改賬號、改密碼、退出登錄。

這是什麼

它是一個爲 DeepSeek Harness Web 界面提供登錄門禁與賬號管理的插件 bundle,作者爲 javaxiaov,包版本 1.0.0,許可證 MIT。Host 端負責賬號存儲與 HTTP 路由,瀏覽器端負責登錄遮罩與賬號設置頁;客戶端 bundle 聲明 platform: web、immediately: true。

倉庫目錄結構如下:

dsh/
  index.js           Host 端:HTTP 路由(登錄/狀態/退出/改密)
  account-store.js   Host 端:scrypt 哈希 + 本地持久化存儲
  client.js          瀏覽器端:登錄遮罩 + 賬號設置頁(lazy-CJS bundle)
cordis.patch.yml     插件裝載配置
package.json         包聲明(dsh.bundle / dsh.client)

核心功能

以下能力均來自倉庫 README:

  • 登錄門禁:未登錄時全屏登錄頁覆蓋整個應用,無法操作任何功能。
  • 賬號設置:系統設置裏新增「賬號設置」頁面,可修改賬號名和密碼。
  • 退出登錄:設置頁頭部和賬號設置頁均有紅色「退出登錄」按鈕,點擊後立即切回登錄頁,只退出賬號,不影響應用。
  • 多語言:跟隨 DeepSeek Harness 界面語言自動切換(設置 → 外觀 → 語言),支持中文與 English。
  • 安全存儲:密碼以加鹽 scrypt 哈希持久化到本地文件,不保存明文。
  • 持久化:賬號、密碼修改重啓應用後依然保留。

安裝與啓用

本插件以用戶 profile 的 bundle 形式安裝。它的 package.json 聲明瞭 private: true,安裝方式是 profile 內本地 link(bundle 引用 + pnpm install),不是 npm 安裝,README 也沒有提供 dsh plugin add 之類的命令。

具體步驟如下:

1、將倉庫內容放入 profile 的 bundles 目錄,例如 ~/.dsh/profiles/web/bundles/auth-gate/。

2、在 profile 的 package.json 中添加 bundle 引用:

{
  "dsh": {
    "profile": {
      "bundles": [
        "@dsh-login-gate/auth-gate"
      ]
    }
  },
  "dependencies": {
    "@dsh-login-gate/auth-gate": "link:./bundles/auth-gate"
  }
}

3、在 profile 目錄執行下面的命令建立鏈接:

pnpm install

4、重啓 DeepSeek Harness 應用。經過上面的步驟,未登錄狀態下打開 Web 界面會先看到全屏登錄頁,默認賬號 admin,密碼 admin123。

賬號數據與接口

賬號數據保存在 <profile 目錄>/login-gate-accounts.json,密碼字段只存加鹽 scrypt 哈希:

{
  "username": "admin",
  "password": "scrypt$16384$8$1$<salt>$<hash>",
  "sessionToken": null
}

Host 端(dsh/index.js + account-store.js)暴露四個接口:

方法 路徑 說明
GET /login-gate/status?token=... 校驗會話
POST /login-gate/login 登錄,返回 token
POST /login-gate/logout 退出登錄,清空會話
POST /login-gate/update 修改賬號名/密碼(需當前密碼)

適用場景與注意事項

適合把 DeepSeek Harness Web 界面跑在共享機器或局域網、需要一層賬號門禁的場景;它只做登錄與賬號管理,不需要引入額外服務。

使用前注意以下幾點:

1、默認賬號 admin / 密碼 admin123 公開寫在 README 裏,安裝後第一件事應是通過「賬號設置」修改。
2、修改賬號名或密碼時,接口要求提供當前密碼。
3、插件以當前 dsh 進程的權限運行,安裝前建議先通讀倉庫源碼,並確認許可證條款(MIT,詳見倉庫 LICENSE 文件)。
4、客戶端 bundle 平臺爲 web,適用於 Web 界面。

小結

auth-gate 用一個 bundle 解決了 DSH Web 界面的訪問門禁與賬號管理:放入 bundles 目錄、在 package.json 里加引用、執行 pnpm install 後重啓即可生效,密碼以加鹽 scrypt 哈希落盤、重啓不丟失。

倉庫地址:https://github.com/javaxiaov/deepseek-herness-login ;社區插件目錄收錄頁:https://www.skillhub.cn/plugins/javaxiaov/deepseek-herness-login (獨立社區站點,與 DeepSeek、幻方無官方從屬關係)。

羽毛球分组比赛记分
小程序二维码

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

小夜