按需切换 GUI 的访问范围,兼顾手机与局域网
30/100
综合分
0
GitHub 星标
56
npm 周下载
—/5
用户评分
数据截至 2026/9/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/czhzz/dsh-net-access.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
生态插件
可安装,未声明 dsh 能力
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 47 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(runtime_boot_failed · 2026/10/29) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-net-access @ 0.1.2
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/8 06:34:02
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 切换访问范围
- 支持本机与局域网
- 支持Tailscale
控制 DeepSeek Harness Web GUI 的可访问方式:仅本机、Tailscale、所有本地网络,或关闭。
README
由 DeepSeek 最新模型翻译生成dsh-net-access
npm
license
node
GitHub stars
从设置页控制 DeepSeek Harness Web GUI 的访问范围。
想在手机上通过 Tailscale 打开 GUI、想开放给整个局域网、或者只想锁死在本机——一个设置项、四种模式,并且会明确告诉你什么时候需要重启才生效。
在 设置 → 远程访问 中配置。
四种模式
| 模式 | 监听套接字 | 信任的授权来源 | 能否热切换 |
| 仅本机(默认) | 所有网卡 | 仅回环地址 | 能 |
| 仅 Tailscale | 所有网卡 | tailnet 地址 | 能 |
| 所有本地网络 | 所有网卡 | 所有本地 IPv4 | 能 |
| 关闭 | 127.0.0.1 | 回环地址 | 否 —— 需重启 |
为什么只有一种模式需要重启
DSH 在服务器启动时只绑定一次 HTTP 监听端口,且 dsh-host-webserver 只接受 127.0.0.1 和 0.0.0.0 两个绑定地址。进程运行期间没有重新绑定的路径,所以已经绑定到回环的套接字无法再次打开。
本插件把这个限制变成设计,而不是与之对抗:
- 三种模式让套接字保持在所有网卡上,改为在 /api 的信任围栏(trust fence)上表达访问决策。
展开完整文档(README 剩余 1 节)
dsh-net-access npm license node GitHub stars 从设置页控制 DeepSeek Harness Web GUI 的访问范围。 想在手机上通过 Tailscale 打开 GUI、想开放给整个局域网、或者只想锁死在本机——一个设置项、四种模式,并且会明确告诉你什么时候需要重启才生效。 在 设置 → 远程访问 中配置。 四种模式 | 模式 | 监听套接字 | 信任的授权来源 | 能否热切换 | | 仅本机(默认) | 所有网卡 | 仅回环地址 | 能 | | 仅 Tailscale | 所有网卡 | tailnet 地址 | 能 | | 所有本地网络 | 所有网卡 | 所有本地 IPv4 | 能 | | 关闭 | 127.0.0.1 | 回环地址 | 否 —— 需重启 | 为什么只有一种模式需要重启 DSH 在服务器启动时只绑定一次 HTTP 监听端口,且 dsh-host-webserver 只接受 127.0.0.1 和 0.0.0.0 两个绑定地址。进程运行期间没有重新绑定的路径,所以已经绑定到回环的套接字无法再次打开。 本插件把这个限制变成设计,而不是与之对抗: - 三种模式让套接字保持在所有网卡上,改为在 /api 的信任围栏(trust fence)上表达访问决策。该围栏按请求求值,因此「仅本机」「仅 Tailscale」「所有本地网络」这三种模式可以在设置页热切换。 - 关闭是唯一改变绑定地址的模式:它把套接字收回回环。它也是唯一让端口在端口扫描中不可见的模式——这正是它值得重启一次的原因。 设置页会读取当前服务器启动时使用的模式,并在选择尚未生效时明确提示,而不是报告一个不会发生的切换。 需要接受的取舍 仅本机模式让端口保持对所有网卡开放,只在应用层拒绝除回环之外的一切请求。这在一个具体方面弱于回环绑定: | | 关闭 | 仅本机 | | 局域网端口扫描能看到端口 | 否 | 是 | | 局域网设备能完成 TCP 握手 | 否 | 是 | | 局域网设备能访问 GUI | 否 | 否(403) | 如果你需要端口本身不可达,请使用关闭并接受重启——或者添加一条主机防火墙规则。仅本机模式适用于:你想保留较宽的监听,但又不希望其他设备穿过它。 可达性是如何被强制执行的 信任围栏位于 dsh-client-connection。在认证之前,每个请求都必须提供回环地址或已声明的授权 Host;其他一律返回 403,已信任但未认证的请求返回 401。 在一台同时具备 Tailscale、局域网、VMware 和 WSL 网卡的机器上、处于仅 Tailscale模式时实测(下表用文档示例地址代替实测时的真实地址): | Host 请求头 | 结果 | 含义 | | 100.64.0.10:3080 | 401 | 已信任(tailnet)—— 进入令牌认证 | | localhost:3080 | 401 | 已信任(回环) | | 192.0.2.10:3080 | 403 | 被拒绝(局域网) | | 198.51.100.10:3080 | 403 | 被拒绝(VMware 虚拟网卡) | | 203.0.113.10:3080 | 403 | 被拒绝(WSL 虚拟网卡) | | evil.com | 403 | 被拒绝(DNS 重绑定) | 这个围栏拦的是浏览器访问,不是 TCP 可达性。 在三种「所有网卡」模式下,其他网络上的设备仍然可以与端口完成 TCP 握手,只是无法穿过围栏。 认证与可达性相互独立:URL 中打印的进程令牌才是授权浏览器的凭据。 Tailnet 地址探测 插件不硬编码任何 IP,因此在任何机器上都能工作: 1. 先按网卡名查找 Tailscale 网卡(Tailscale、tailscale0 等),客户端在 Windows、macOS、Linux 上命名一致。 2. 找不到网卡时,接受 Tailscale 100.64.0.0/10 范围内的任意地址。 网卡名优先于网段,因此运行第二个 CGNAT 覆盖网络的机器仍能解析出正确地址。当探测结果不可能正确时(例如你通过 MagicDNS 域名而非 IP 访问该节点),在设置页手动填写 Tailnet 地址。 在仅 Tailscale模式下,若机器上不存在 tailnet 地址,插件会回退到「关闭」并记录原因,而不会静默放宽为「所有本地网络」。 安装 推荐从 npm 安装: dsh plugin --profile web add dsh-net-access 包内已含构建产物,因此这条命令不需要本地构建,也不需要 allowBuilds 授权。 其他安装方式 从 GitHub 安装 —— 想跟未发布的提交时用: dsh plugin --profile web add github:czhzz/dsh-net-access 从本地目录安装 —— 改代码时用: cd dsh-net-access npm run build dsh plugin --profile web add /absolute/path/to/dsh-net-access 重启生效 安装后重启一次 GUI,让 profile 加载新的组合包: dsh --profile web 启动时会打印可访问的 URL,适用时包含局域网形式: dsh web: http://127.0.0.1:3080/?token=…(局域网:http://100.x.y.z:3080/?token=…) 配置 设置页是常规路径。相同的值也可以写在 cordis.patch.yml 中该行的 config 块里,它作为设置页覆盖的基础层。 | 字段 | 默认值 | 含义 | | mode | local | local、tailscale、all 或 off | | address | "" | 固定 tailnet 地址;留空表示自动探测 | | extraTrustedHosts | [] | 额外接受的 host[:port] 授权 | 命令行传入的 --trusted-host 授权会合并进所有模式。 已知限制 - 「仅本机」需要重启。 绑定地址在监听器打开时就固定了。 - 不自动重启。 设置页只显示重启命令,而不是替你重启:插件运行在 DSH 进程内部,退出以重启会杀掉当前会话以及其中运行的所有任务,且没有任何机制把它带回来。 - 地址按请求采样,但绑定地址不会。 运行中切换网络会立即反映到「所有本地网络」,但不会移动套接字。 - 无 TLS。 Tailscale 会加密节点间流量,但 GUI 本身使用 HTTP。 - 仅 IPv4。 不探测 Tailscale 的 IPv6 网段。 开发 npm run build # 宿主部分直接复制;客户端部分用 esbuild 打包 npm test # 16 项行为测试,覆盖四种模式 客户端部分被打包成 DSH 模块加载器所要求的单文件工厂。React 与 @deepseek-ai/dsh-client-ui-primitives 保持为外部依赖——由浏览器的模块表提供,姿态选择条复用共享的 Pill 控件而非另带一份副本。CSS Modules 经 lightningcss 编译,并通过带 data-plugin-css 标记的 元素按插件注入一次。 测试直接运行文件而非通过 node --test,因为测试运行器会派生子进程,而这在受限文件系统沙箱下会被拒绝。 许可证 MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
czhzz/dsh-net-access
按需切换 GUI 的访问范围,兼顾手机与局域网
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,344已汉化DSH
71.5
终端编码代理esengine/DeepSeek-Reasonix
· 指南 · ACP · 扩展开发 · 规格 · 官方网站 · Discord · QQ
★ 36,045已汉化DSH
71.2
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,202已汉化DSH
71.1
这是你的仓库?认领条目