Leon0555
dsh-lan-access
No description
- Stars
- 1
- Language
- JavaScript
- Created
- Aug 14, 2026
- Updated
- Aug 14, 2026
Introduction
dsh-lan-access
让 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