前言¶
把 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、幻方无官方从属关系)。