dsh-auth
在终端中运行以下命令:
dsh plugin install radaren/dsh-auth
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 终端中运行 dsh plugin install radaren/dsh-auth 即可安装该鉴权插件,完整源码见 https://github.com/radaren/dsh-auth 。
插件介绍
DeepSeek Harness 0.1.0-rc.6 的内置 webServer 只提供具名路由、upgrade 路由和一个 SPA fallback,没有 HTTP 中间件机制。这意味着即使加一条 /login 路由,也无法同时守住已有的 /api 端点、静态管理页和 WebSocket 连接。dsh-auth 以 bundle 形式替换内置 webServer,插入一个提供相同服务面的认证宿主,把 SPA、HTTP API 与 WebSocket upgrade 统一置于一个共享 token 登录层之后,用一条路径完成鉴权闭环。
登录流程保持极简:插件从 token 文件读取或自动生成 32 字节随机值(权限 0600),内建 /auth/login 页面在验证通过后写入 HttpOnly、SameSite=Strict Cookie;登出仅清除当前浏览器会话,替换 token 文件并重启即可全局轮换。对明文 LAN 场景,它还在客户端注入基于 crypto.getRandomValues() 的 UUID v4 兼容实现,避免浏览器在非安全上下文下调用 crypto.randomUUID() 而报错。需要强调的是,它只修复 API 兼容性,并不把 HTTP 变成安全传输——公网使用必须前置 HTTPS 反向代理并启用 Secure Cookie。
适合谁用?如果你正在用 Harness 的 Web 管理界面做远程运维、团队协作或自动化集成,但又不想引入一整套 OIDC 或 OAuth2 基础设施,dsh-auth 提供了一个刚好够用的单 token 门禁:不读 .credentials.yaml 里的模型密钥,不动现有 HMR、connection、modules 插件,装上就能用。它不是多用户权限系统,也不终止 TLS,只回答一个问题——谁有权打开这个 Harness 实例。
使用场景
- 为 Harness Web 管理界面添加一条单 token 登录门禁,同时守住 SPA、/api 与 WebSocket
- 在局域网内部署 Harness 时,阻止未授权浏览器直接访问管理端点和远程调度 API
- 作为 HTTPS 反向代理后方的一层轻量认证,让外部流量在到达 Harness 前必须先验 token
适合人员
- 用 Harness Web UI 做远程运维、团队协作但不想搭建完整 OIDC 的开发者
- 在 LAN 部署 Harness 并希望用最小改动拿到认证隔离的团队
- 只需一个共享 token 门禁、不关心多用户 RBAC 的运维人员