局域网访问:Web GUI 绑定 0.0.0.0 + crypto.randomUUID polyfill(修复非安全上下文下 RPC 崩溃)。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-lan-access
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:Leon0555/dsh-lan-access
GitHub 来源的插件在安装时会在你的机器上执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
让 DeepSeek Harness Web GUI 可在局域网内被其他设备访问的 DSH 插件(可信内网专用)。
- npm: https://www.npmjs.com/package/dsh-lan-access
- GitHub: https://github.com/Leon0555/dsh-lan-access
功能
- 局域网绑定:把 webserver 的
host改为0.0.0.0,手机/其他电脑可通过http://<Mac局域网IP>:3080访问(查 IP:ipconfig getifaddr en0)。 - crypto.randomUUID polyfill:浏览器只在安全上下文(HTTPS/localhost)暴露
crypto.randomUUID,局域网明文 HTTP 下不存在,会导致 DSH 的 RPC 全部失败 (项目/会话列表加载不出、无法添加工作区)。本插件向每次返回的 index.html 注入兜底实现,任何设备的浏览器访问都正常。
安装(从 npm)
dsh plugin --profile web add dsh-lan-access
需要 pnpm(
npm i -g pnpm)。本地开发安装可用dsh plugin --profile web add file:/path/to/dsh-lan-access。
安装后重启服务生效:
launchctl kickstart -k gui/$(id -u)/com.dsh.web # 如果用 launchd 常驻
卸载
dsh plugin --profile web remove dsh-lan-access
卸载后 webserver 恢复默认仅 127.0.0.1,polyfill 不再注入。
安全提醒
- 绑定
0.0.0.0后,同一网络内任何设备都能连接 DSH(无认证), 等于整网都能触达本机的命令执行能力。仅限家庭/公司可信内网使用, 公共 WiFi 请勿开启。 - 建议:路由器/防火墙限制来源 IP;出外网访问请叠加 Tailscale 等隧道。
技术说明
- 绑定:以 bundle patch 覆盖
webserver行(host: 0.0.0.0,port 保持ctx.webStartup.port ?? 3080表达式)。 - polyfill:代码行注入
webServer,用官方预留的tapIndex钩子向 index.html<head>注入内联脚本;带幂等守卫,非安全上下文才生效, 本机 localhost 访问不受影响。
许可证
MIT © Leon0555
链接
同类插件
hust-open-atom-club/oh-dsh★ 161
社区发行版:TUI、桌面端与 Web UI 统一体验,分层安装、一步到位。
Jayden-X-L/forkprobe★ 65
同一任务并行试跑多个技能,对比结果选出最优。
vlln/plugin-registry★ 33
插件生态基建:浏览器面板管理官方 repository 插件(0 patch)+ make-dsh-plugin 插件开发引导技能。
forrestchang/dsh-multica-runtime★ 28
让 dsh 运行时跑在 Multica 上。
DietCokewithSugar/dsh-user-experience★ 18
帮你发现项目中可能存在的用户体验问题:自动走查 React/TypeScript 源码,定位问题并给出具体优化建议。
omdsh-dev/dsh-plugin-check★ 17
插件健康检查:扫描清单协议/patch 格式/构建陷阱,零依赖只读。