DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

ds-auths-plugin

Ds Auths Plugin

Fail-closed authentication gateway for DeepSeek Harness Web

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add ds-auths-plugin@0.2.0
READMECompatibilityVersions

Compatibility and provenance

Ds Auths Plugin is published as ds-auths-plugin and currently resolves to version 0.2.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
npm
Registry updated
11/4/2026

Versions

0.2.0stable
10/25/2026

Related plugins

Loading related plugins…

Latest
0.2.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
295 kB
Files
41
Surface
any
License
MIT
Source
npm
Weekly downloads
60
View source ↗Project homepage ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in security-access.

Doctor@linxin666/dsh-doctorTransactional rescue mode for DSH profiles with a supervised launcher, isolated recovery capsule, deterministic repairs, health monitoring, and a local Web recovery consolePocketdsh-pocketPut DeepSeek Harness in your pocket: one package, one settings page, and scan a QR code on your phone to access DSH on your computer in sync (LAN + public network, real-time screen mirroring).Codex Subscriptiondsh-codex-subscriptionUse ChatGPT and Codex subscriptions in DeepSeek Harness with OAuth, quota, safe resets, web search, images and Fast mode, and control DSH from the ChatGPT mobile app (Beta)Xdpooldsh-xdpoolOne DSH model pool for every free quota you have: merge all locally signed-in WorkBuddy accounts with auto-failover, sign in to 13 vendors by QR/web, aggregate 76 vendors' free tiers, plus a usage dashboard, model routing, a local OpenAI-compatible gatewa

README

ds-auths-plugin

DeepSeek Harness Web 的身份认证网关。登录之前,浏览器无法加载 Harness 页面、插件脚本、工作区资源,也无法调用 RPC 或建立 WebSocket。首次启动需要一次性初始化令牌;认证服务故障时拒绝放行。

0.2.0 更新

  • 适配 Harness 0.2.1-rc.3,对照上游 master 的 22ddee3792 补齐资源路由、Peer 页面注入、protocol 与 getOrigin() 接口。
  • 支持 IPv4、IPv6、--host 0.0.0.0 / ::、原生 TLS、--public-url 和 --no-open。
  • 登录后通过 Harness 的公开认证接口在服务器内部完成原生认证衔接。原生 Cookie 不下发给浏览器,Harness 启动 token 也不能替代插件会话。
  • 新增“账号与安全”页面:修改用户名、显示名称、密码,或退出登录。修改凭据要求当前密码和 CSRF 校验,会撤销全部旧会话、关闭其 WebSocket,并为当前浏览器签发新会话。
  • 修复 HTTP 局域网的 Cookie 设置;为缺少 crypto.randomUUID 的浏览器补充基于 crypto.getRandomValues 的实现。
  • 保留 SQLite 持久会话、服务端撤销、scrypt 密码哈希、登录限流和安全审计;本机访问同样要求登录。

安装与升级

需要 Node.js ^22.19.0 || >=24.0.0 和 pnpm。此版本面向 Harness >=0.2.1-rc.3 <0.3.0-0,不再支持旧的 0.1.x 宿主。先升级 Harness,再安装插件;不要在仍运行旧宿主时直接替换认证插件。

# 全局安装的 Harness
npm install -g @deepseek-ai/dsh@next
dsh plugin --profile web add ds-auths-plugin@latest
dsh web --no-open

也可以始终通过 npx 使用对应宿主:

npx @deepseek-ai/dsh@next plugin --profile web add ds-auths-plugin@latest
npx @deepseek-ai/dsh@next web --no-open

升级插件请带 @latest,以更新 profile 中已固定的版本。插件通过 dsh.bundle.patch 自动挂载,无需重复传 --patch。更新后重启 Harness,检查启动日志,并在无痕窗口确认匿名访问会跳转到 /auth/login。超出兼容范围时 Harness 可能跳过 bundle,因此启动成功本身不代表认证已挂载。

现有 auth/v1/auth.db 会保留,账号和密码不用重建。旧版自动 Secure Cookie 的 HTTP 部署升级后需要重新登录;HTTPS 反向代理继续设置 DSH_AUTH_COOKIE_SECURE=required。

首次初始化

  1. 启动时终端输出一次性令牌:ds-auths-plugin is locked. Complete bootstrap with this one-time token: ...。
  2. 访问 Web 地址,进入初始化页。
  3. 输入令牌、用户名、显示名称和密码,创建首位管理员。
  4. 初始化成功后自动登录。其他浏览器使用该账号登录。

也可设置 DSH_AUTH_BOOTSTRAP_TOKEN 预设令牌。令牌默认有效期为 15 分钟,过期后重启可重新签发。用户名为 3–64 位,以小写字母或数字开头,允许字母、数字、点、下划线和连字符;密码为 12–128 个字符。

部署

指定局域网地址

dsh web --host 192.168.1.20 --port 3080 --no-open

具体绑定地址自动加入 Host 信任列表。使用通配监听时,显式声明浏览器访问的 IP 或域名:

dsh web --host 0.0.0.0 --trusted-host 192.168.1.20 --no-open
# IPv6 浏览器地址需方括号,例如 http://[fd00::20]:3080/
dsh web --host :: --trusted-host '[fd00::20]' --no-open

信任 Host 仅解决地址校验,不会绕过登录。支持规范 IPv4/IPv6 地址,不支持带 %接口 的 zone ID。

原生 HTTPS

dsh web --host 0.0.0.0 --trusted-host harness.example \
  --tls-cert ./cert.pem --tls-key ./key.pem \
  --public-url https://harness.example:3080/ --no-open

证书和私钥必须成对提供。证书不可读、为空或不匹配时启动失败,不会降级到 HTTP。TLS 监听始终使用 Secure Cookie。

HTTPS 反向代理

DSH_AUTH_COOKIE_SECURE=required dsh web \
  --host 127.0.0.1 --trusted-host harness.example \
  --public-url https://harness.example/ --no-open

代理需保留浏览器的 Host / Origin 并支持 WebSocket。--public-url 只设置对外展示地址,不授予 Host 信任。目前支持站点根路径部署,不接受 /harness/ 等路径前缀。HTTP 明文不提供传输加密;远程部署应使用 HTTPS 或受信网络。

账号管理

登录后的 Harness 页面右下角有“账号与安全”入口,也可以直接访问 /auth/account。保存修改时必须填写当前密码;新密码留空即保留原密码。旧会话全部被撤销,当前浏览器自动续签。

退出会在服务器端撤销当前会话并关闭其 WebSocket,不只是删除浏览器 Cookie。默认空闲超时 8 小时,绝对超时 24 小时。已经发起的普通 HTTP 请求不会因之后退出而回滚。

忘记密码时,可在停止 Harness 后备份并移走认证数据库,再重启重新初始化。这会清空插件账号、认证会话和认证审计,不删除 Harness 的工作区或对话数据。

配置

环境变量默认值作用
DSH_AUTH_DATABASE_PATH$DSH_HOME/auth/v1/auth.dbSQLite 数据库;未设 DSH_HOME 时使用 Harness 默认目录
DSH_AUTH_BOOTSTRAP_TOKEN自动生成首次初始化令牌
DSH_AUTH_HOST--host 或 127.0.0.1覆盖绑定地址,并同步到宿主启动配置
DSH_AUTH_PORT--port 或 3080覆盖监听端口,0 表示自动分配
DSH_AUTH_TRUSTED_HOSTS空逗号分隔,与 --trusted-host 合并
DSH_AUTH_COOKIE_SECUREautoauto 随监听协议;required 用于 HTTPS 代理;development 允许 HTTP,原生 TLS 仍强制 Secure

更细的会话时长、初始化令牌时长、scrypt 参数可通过 profile 的 cordis.patch.yml 覆盖 dsh-auth 配置,字段见 AuthGateway Config。

接口与安全机制

方法路径访问要求
GET/auth/login公开登录 / 初始化页
GET/auth/v1/health/live公开存活检查
GET/auth/v1/bootstrap/status公开初始化状态和预认证 CSRF token
POST/auth/v1/bootstrap/complete初始化令牌、同源与 CSRF
POST/auth/v1/login账号密码、同源与 CSRF
GET/auth/account插件会话
GET/auth/v1/session插件会话
POST/auth/v1/account插件会话、当前密码、同源与 CSRF
POST/auth/v1/logout插件会话、同源与 CSRF

除上述公开端点外,HTTP 和升级连接统一通过认证网关。会话及 CSRF token 在数据库中仅存 SHA-256 哈希;Cookie 使用 HttpOnly、SameSite=Lax、Path=/,TLS 或 required 模式使用 __Host- 前缀与 Secure。认证页面设置严格 CSP、禁止嵌框及缓存;账号密码不会写入浏览器存储。

密码使用 scrypt(默认 N=32768、r=8、p=1、32 字节输出)。未知账号同样执行密码哈希校验;失败按账号、来源、账号与来源组合进行限流,429 返回 Retry-After。不信任客户端提供的转发 IP 头。数据库目录和文件权限分别为 0700、0600。

本插件控制对整个 Harness 实例的访问,不提供不同账号之间的工作区隔离。本地能读写进程内存、配置或数据库的程序不在网络认证的防护范围内。版本兼容性和验证范围见 兼容说明。

开发与验证

pnpm install
pnpm check                       # 类型检查、单元/HTTP/TLS 测试、构建
pnpm preview                     # 隔离 DSH_HOME 下启动真实 Harness
ORIGIN=http://127.0.0.1:34753 pnpm verify:preview
npm pack --dry-run               # 运行 prepack 并检查发布内容

TLS 测试需本机有 openssl。预览默认使用 .local/dsh,可以用 DSH_HOME、HOST、PORT 覆盖;验证脚本只应对测试实例执行,会初始化测试账号或登录该账号,再验证退出撤销。生产实例不要使用预览令牌或密码。

本地源码安装前先 pnpm build,再执行 dsh plugin --profile web add ./;修改源码后重新构建并重启。发布包含预构建的 lib/,无需用户本地编译。

参考与许可

本次更新参考 dsh-web-startup-auth 的远程启动、原生认证衔接、账号管理和 HTTP 浏览器兼容思路,并对照 DeepSeek Harness 的最新代码。

MIT。采用的上游页面注入渲染代码及其许可见 THIRD_PARTY_NOTICES.md。