前言¶
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 来自插件线索,未在本次抓取资料中直接出现)