前言¶
DeepSeek Harness (DSH) 的官方 Web profile 默认不开启访问认证。对于本地开发环境,这通常是可以接受的。但在需要更严格访问控制的场景下,可以通过安装插件来为 Web profile 添加可选的本机 token 与 Cookie 访问认证。该插件由 qipenglin 维护,开源协议为 MIT。
安装与启用¶
插件安装后必须重启 Web Profile 才能生效。
dsh plugin --profile web add github:qipenglin/dsh-web-access
dsh web
使用流程¶
重启后,执行 dsh web 只会输出一条包含 fragment token 的链接。请使用完整链接首次打开页面。
浏览器会在第一次异步操作前清除地址栏 fragment,以 Bearer token 换取 host-only、HttpOnly、SameSite=Strict 的会话 Cookie,然后启动 DSH Connection。以后在同一浏览器会话中,可以直接打开不带 token 的裸地址。
安全与认证机制¶
插件强制要求 WebServer 必须绑定 127.0.0.1,使用 --host 0.0.0.0 会拒绝启动。
在安全行为上,以下资源保持公开,以支持浏览器启动与认证并行执行:
* 静态 HTML
* shell 资源
* boot manifest
* /plugins Client bundle
* /plugins/events HMR graph 元数据
对于敏感路径和连接:
* 匿名 /api、自定义 Connection RPC channel 和两条 Connection WebSocket 下行链路均返回 401。
* Host、Origin 或 Fetch Metadata 不匹配返回 403。
* 每次进程启动都会生成新的 token、Cookie 名和会话 secret,旧 Cookie 在重启后失效。
Host 侧集成¶
安装后,Host 侧会公开 ctx.webAccess,供桌面 runtime 读取。该服务不存在时,是否退化为裸 loopback 服务由桌面 runtime 决定。
注意事项¶
- 版本兼容性:当前版本只兼容官方 DSH
0.1.1-rc.2。 - 部署范围:插件只保护本机 Web profile,不支持局域网或公网部署。
- 启动失败处理:安装后若版本检查、绑定或装配失败,profile 会直接启动失败,不会在同一次启动中自动降级为无认证服务。
- 卸载:卸载并重启后,Web profile 恢复官方
0.1.1-rc.2的无认证行为。
生态背景¶
DeepSeek Harness (DSH) 遵循“一切皆插件”的理念,社区维护了独立的插件目录。本文介绍的插件即为社区生态的一部分,与 DeepSeek 或 幻方无官方从属关系。
该插件通过强制本机认证和精细的 HTTP/WS 层防护,增强了 DSH Web profile 的安全性。如需查看更多详情或反馈,请访问其 GitHub 仓库。
- 目录页:https://www.skillhub.cn/plugins/qipenglin/dsh-web-access
- GitHub:https://github.com/qipenglin/dsh-web-access