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: webimmediately: 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、幻方无官方从属关系)。

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

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

Xiaoye