🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

局域网手机访问 ZnFr60/dsh-lan-access-for-windows

DeepSeek Harness
ZnFr6071 天前有提交已提供中文文档扫描:未发现敏感能力

让手机浏览器在家庭内网完整操控 DSH 网页界面

28.5/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add ZnFr60/dsh-lan-access-for-windows
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · browser
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 71 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 绑定0.0.0.0监听
  • 手机浏览器操控网页界面

DeepSeek Harness 局域网访问插件包:把 dsh web 绑定到 0.0.0.0,并为手机浏览器补上 crypto.randomUUID 安全上下文垫片。

README

由 DeepSeek 最新模型翻译生成
dsh-lan-access 这是我的第一个个人项目,开发于 2026 年暑假的业余时间。我是一名来自中国的高中生,利用空闲时间进行编程。感谢你的支持!如果你有任何建议、反馈或问题,欢迎随时联系我。 DeepSeek Harness (dsh) 局域网访问插件 — 让手机浏览器在家庭可信内网完整操控 DSH Web GUI DeepSeek Harness 的局域网访问插件 — 在可信家庭网络上通过手机浏览器完整操控 DSH Web GUI。 这是什么 兼容性:本插件通过 DSH 官方插件机制(bundle patch 层 + webServer.tapIndex)工作,适用于 DSH web profile(实测版本:harness v0.18.x / @deepseek-ai/ 0.1.1-rc.2)。 已在本机 dsh web 完整验证:webserver 绑定 0.0.0.0、/api 信任篱笆放行局域网、页面注入 shim 均生效。
展开完整文档(README 剩余 1 节)
dsh-lan-access

这是我的第一个个人项目,开发于 2026 年暑假的业余时间。我是一名来自中国的高中生,利用空闲时间进行编程。感谢你的支持!如果你有任何建议、反馈或问题,欢迎随时联系我。

DeepSeek Harness (dsh) 局域网访问插件 — 让手机浏览器在家庭可信内网完整操控 DSH Web GUI DeepSeek Harness 的局域网访问插件 — 在可信家庭网络上通过手机浏览器完整操控 DSH Web GUI。

这是什么

兼容性:本插件通过 DSH 官方插件机制(bundle patch 层 + webServer.tapIndex)工作,适用于 DSH web profile(实测版本:harness v0.18.x / @deepseek-ai/ 0.1.1-rc.2)。
已在本机 dsh web 完整验证:webserver 绑定 0.0.0.0、/api 信任篱笆放行局域网、页面注入 shim 均生效。

dsh-lan-access 是一个 dsh 插件(bundle 层),解决两个官方限制,实现手机端与电脑端一致的完整操控能力(发指令、审批权限弹窗、查看编译日志):

1. 绕过 host 绑定限制:官方 dsh web 出于安全原因在 CLI 硬编码拒绝 --host 0.0.0.0(见 dsh-web-app/lib/startup.js)。本插件在官方支持的组合(composition)层把 webserver 行的 host 覆盖为 0.0.0.0,让服务器监听所有网卡; --port 参数仍生效。
2. 修复安全上下文导致的网页接口报错:手机浏览器经 http://:3080 访问时处于
非安全上下文,crypto.randomUUID() 是 undefined,而 DSH 客户端 mintRpcId()
直接调用它(见 deepseek-harness discussion #4209),导致整个 RPC 层崩溃。本插件向每个 index.html 注入 shim,用 crypto.getRandomValues() 兜底实现 UUID v4(原生存在时不覆盖)。
3. 信任篱笆自动放行:绑到 0.0.0.0 后,dsh 自带 web-runtime 会自动把本机所有非内网 IPv4 加入 /api browser-trust 篱笆的 trustedHosts,手机请求无需额外 --trusted-host。

安装

方式 0 — 一键脚本(推荐):下载 install.ps1 直接运行(自动检查/补装 pnpm、安装插件、重启 dsh web、验证,可选加防火墙):

下载并运行(Windows) Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/ZnFr60/dsh-lan-access/main/install.ps1" -OutFile install.ps1 .\install.ps1 # 默认 GitHub 源 .\install.ps1 -Source gitee # 换 Gitee 源 .\install.ps1 -AddFirewallRule # 同时添加局域网防火墙规则(需管理员)

方式 A — 从 git 托管仓库安装(官方 dsh plugin 机制,需 pnpm):

GitHub 托管(本仓库)
dsh plugin --profile web add github:ZnFr60/dsh-lan-access#main
Gitee 托管(镜像)
dsh plugin --profile web add git+https://gitee.com/mnrf/dsh-lan-access.git

方式 B — 本地 link 安装(开发/内网):

git clone https://gitee.com/mnrf/dsh-lan-access.git
dsh plugin --profile web add link:/绝对/路径/dsh-lan-access

方式 C — npm 包安装(发布到 npm 后):

dsh plugin --profile web add dsh-lan-access

需要 pnpm:corepack enable 或参考 pnpm 安装。

安装完成后重启 dsh web:

dsh web --no-open

使用方法(Usage)

适用对象:本插件是 web profile 专用插件,请务必安装到 --profile web。
(它需要 web profile 里的 webserver 行,若装进无 web 层的通用 profile 会提示 entry "webserver" not found,属预期警告,并非装错。)

前置条件
- 已安装 DSH 并可用 dsh web;
- 已安装 pnpm(dsh plugin 依赖,corepack enable 即可)。

完整安装步骤

1) 安装插件到 web profile(git 托管 / npm / 本地 link 三选一)bash
dsh plugin --profile web add github:ZnFr60/dsh-lan-access#main # GitHub
或: dsh plugin --profile web add git+https://gitee.com/mnrf/dsh-lan-access.git # Gitee 或: dsh plugin --profile web add dsh-lan-access # npm(发布后)
或(本地开发): dsh plugin --profile web add link:/绝对/路径/dsh-lan-access

2) 重启 web 使插件生效
dsh web --no-open

验证生效 bash ① 组合配置:webserver.host 应为 0.0.0.0,且出现 lan-access 行
dsh --profile web --dump-config

② 页面 HTML 应含 randomUUID shim(说明安全上下文修复已注入)
curl -s http://127.0.0.1:3080/ | grep -o "randomUUID"

③ 手机访问(局域网 IP 换成你的): http://:3080 应能完整操作:发指令、审批权限弹窗、查看编译日志,与电脑端一致

卸载 bash
dsh plugin --profile web remove dsh-lan-access
然后重启 dsh web 即恢复默认回环访问

手机访问地址

- 服务器本机:http://127.0.0.1:3080
- 局域网:http://:3080(手机与电脑连同一路由器/交换机、同网段)

卸载 bash
dsh plugin --profile web remove dsh-lan-access
然后重启 dsh web

原理(如何兼容 DeepSeek Harness)

dsh 用 profile + bundle patch 层组合应用。package.json 声明
dsh.bundle.patch: "./cordis.patch.yml",dsh plugin add 会把它识别为 profile 层并自动并入 dsh.profile.bundles。cordis.patch.yml: yaml
- id: webserver
config:
host: '0.0.0.0'
port: !!js ctx.webStartup.port ?? 3080
- insert:
- id: lan-access
name: 'dsh-lan-access'

lib/index.js 用 webServer.tapIndex() 向每个 index.html 注入 shim(在 app 模块执行前运行,见 index.html 的 与 type="module" 延迟执行特性)。

文件结构

dsh-lan-access/
├── package.json # 声明 dsh.bundle.patch,dsh 插件清单 ├── cordis.patch.yml # bundle patch:覆盖 webserver host + 挂载 lan-access 行 ├── lib/ │ ├── index.js # 插件主体:注入 randomUUID shim、打印 LAN URL │ └── index.d.ts # 类型声明 ├── install.ps1 # 一键安装脚本(自动补 pnpm + 安装 + 重启 + 验证) ├── LICENSE # MIT └── README.md

安全注意事项

- 仅监听 0.0.0.0;不要配置任何端口转发、隧道或公网绑定。
- 建议配合防火墙只放行局域网网段(示例,Windows 以管理员执行): powershell netsh advfirewall firewall add rule name="dsh-lan-3080" dir=in action=allow protocol=TCP localport=3080 remoteip=LocalSubnet
- /api 信任篱笆仍会拒绝非受信 Host(DNS 重绑定防护保持有效)。

功能说明

兼容性:通过官方 DSH 插件机制(bundle patch 层 + webServer.tapIndex)为 DSH web profile 工作(已在 harness v0.18.x / @deepseek-ai/ 0.1.1-rc.2 上验证):webserver 绑定 0.0.0.0,/api 信任篱笆接受局域网主机,页面附带 shim。

dsh-lan-access 是一个 dsh bundle 插件,它解锁两项官方限制,让你可信家庭网络中的手机浏览器能够像桌面端一样完整操作 DSH Web GUI (发送命令、批准权限提示、查看构建日志):

1. 绕过主机绑定守卫:官方 dsh web CLI 出于安全考虑硬性拒绝 --host 0.0.0.0。此插件在受支持的组合层将 webserver 行的 host 覆盖为 0.0.0.0;--port 仍然有效。
2. 修复安全上下文崩溃:在纯 HTTP(http://:3080)下,浏览器处于非安全上下文,此时 crypto.randomUUID() 为 undefined。
DSH 的 mintRpcId() 直接调用它(讨论 #4209),导致整个 RPC 层崩溃。本插件会向每个 index.html 注入一个 shim,基于 crypto.getRandomValues() 实现 UUID v4 的 polyfill(原生实现保持不变)。
3. 信任围栏自动放行:绑定 0.0.0.0 会让 dsh 自带的 web-runtime 将所有本地 IPv4 字面量加入 /api 浏览器信任的 trustedHosts,因此无需额外的 --trusted-host。

安装

方式 0 —— 一键脚本(推荐)。下载 install.ps1 并运行(检查/安装 pnpm、安装插件、重启 dsh web、验证;可选防火墙): powershell Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/ZnFr60/dsh-lan-access/main/install.ps1" -OutFile install.ps1 .\install.ps1 # 默认:GitHub 源 .\install.ps1 -Source gitee # 或 Gitee 源 .\install.ps1 -AddFirewallRule # 同时添加仅限局域网的防火墙规则(管理员)

目标:这是一个 web-profile 插件 —— 请安装到 --profile web。它需要只有 web profile(通过 dsh-web-app)才提供的 webserver 行;安装到通用 profile 会打印 entry "webserver" not found,这是预期行为。

需要 pnpm。从本仓库安装(官方 dsh plugin 机制): bash GitHub 托管(本仓库)
dsh plugin --profile web add github:ZnFr60/dsh-lan-access#main
Gitee 托管(镜像)
dsh plugin --profile web add git+https://gitee.com/mnrf/dsh-lan-access.git
npm(发布后)
dsh plugin --profile web add dsh-lan-access
本地链接(开发)
dsh plugin --profile web add link:/abs/path/dsh-lan-access

安装后重启 web 服务器: bash
dsh web --no-open

使用 / 验证 bash
1) 组合配置:webserver.host 应为 0.0.0.0,且存在 lan-access 行
dsh --profile web --dump-config

2) index.html 应包含 randomUUID shim
curl -s http://127.0.0.1:3080/ | grep -o "randomUUID"

3) 从手机打开:http://:3080 完全控制:发送命令、批准权限提示、读取构建日志

手机 URL

- 本地服务器:http://127.0.0.1:3080
- 局域网:http://:3080(手机和电脑在同一局域网/子网)

卸载 bash
dsh plugin --profile web remove dsh-lan-access

安全

- 仅绑定 0.0.0.0;不进行端口转发 / 隧道 / 公网暴露。
- 考虑添加限定到本地子网的防火墙规则(示例见上)。
- /api 信任围栏仍会拒绝不受信任的 Host(DNS 重绑定防护保持开启)。

许可证

MIT
预览分享卡片长什么样 ↓ZnFr60/dsh-lan-access-for-windows
分享 · DeepSeek Harness Hub
ZnFr60/dsh-lan-access-for-windows

让手机浏览器在家庭内网完整操控 DSH 网页界面

这是你的仓库?认领条目

回到顶部