dsh-auth

by cestbon0309

0 工具与能力github收录于 08-23

可为 dsh webui 配置访问密码的插件

A plugin that allows you to configure access password for dsh webui, and access

安装

dsh plugin --profile web add github:cestbon0309/dsh-auth

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

给 DeepSeek Harness 的 Web GUI 加「鉴权 + 监听所有地址(IPv4+IPv6)」的前置网关插件。

English · Apache-2.0

是什么

DSH 出厂只监听 127.0.0.1,且没有任何鉴权。本插件保持内部服务器仍监听 loopback,在前面再起一个带鉴权的网关,监听 0.0.0.0 / ::(双栈),认证通过后透传到内部(含 WebSocket)。

配置

字段 默认 说明
host :: 前置监听地址(0.0.0.0 / :: / 具体 IP)
port 3081 前置端口(内部 DSH 仍在 3080)
auth.username '' Basic 用户名
auth.password '' Basic 密码
auth.token '' Bearer token(也支持 ?token=)

Basic 与 Bearer 可叠加,任一通过即可;都未配置则启动时失败关闭。也支持环境变量 DSH_AUTH_USERNAME / DSH_AUTH_PASSWORD / DSH_AUTH_TOKEN。

构建

pnpm install && pnpm build

安装

dsh plugin --profile web add "link:<绝对路径>/dsh-auth-gateway"

在 $DSH_HOME/profiles/web/cordis.patch.yml 新增一行:

- insert:
    - id: auth-gateway
      name: dsh-auth-gateway
      config:
        host: '::'
        port: 3081
        auth:
          username: dsh
          password: '你的强密码'

启动 dsh web,浏览器打开 http://<机器IP>:3081。

使用

curl -u dsh:密码 http://<机器IP>:3081/
curl -H 'Authorization: Bearer <token>' http://<机器IP>:3081/

说明

  • 内置 crypto.randomUUID polyfill:走 http://内网IP 时(非安全上下文)会自动注入页面,保证 RPC/会话等功能可用。
  • 仅 HTTP 层鉴权,无 TLS;跨公网请前置 nginx/Caddy 做 HTTPS。

许可

Apache-2.0

原始 README: https://github.com/cestbon0309/dsh-auth/blob/main/README.md ↗