前言¶
DSH(DeepSeek Harness)采用插件化架构。默认的 Web GUI 通常只绑定本地回环地址,若需在局域网内访问,或需要精细控制监听端口与 IP,官方配置往往不够用。dsh-advanced-listening-settings 插件在 DSH Web GUI 的「设置」菜单中新增了一个独立分区「高级监听设置」,允许你将服务暴露到局域网,精确控制监听范围,并修复远程访问时部分功能失效的问题。
核心功能¶
该插件提供以下控制项:
- 全局监听(0.0.0.0):绑定所有网卡地址。
- 本机 IP 列表:通过复选框选择特定的网卡 IP 地址(默认全不选,仅本机回环)。
- 端口控制:设置对外服务的端口,默认为 3080。命令行
--port参数优先级高于此处。 - 取消鉴权:移除 Token 校验(401),直接访问 IP:端口 即可。注意:Host/Origin 来源校验(403)仍保留。
- 重启 dsh:面板提供二次确认的按钮,用于拉起新实例。
- 访问地址…:列出所有可用的入口 URL,支持一键复制。
- 配置与清理…:查看托管文件位置、清理历史遗留条目、移除托管块或完全清理。
安装与启用¶
安装插件需要以管理员权限运行终端。
dsh plugin --profile web add dsh-advanced-listening-settings
安装完成后,必须重启一次 DSH 才能使新分区生效。重启后,进入 设置 → 高级监听设置 即可进行配置。
- 本地目录安装:如果是从本地目录安装,目录必须保持原位不动。
- 依赖环境:需要 DSH 版本
0.1.5-rc.3,以及 Node.js 版本≥ 22.6。
使用与清理¶
配置完成后,根据需要选择监听地址或端口,并决定是否取消鉴权。
典型用法¶
- 在「本机 IP 列表」中勾选需要对外暴露的网卡 IP。
- 确认端口设置(命令行启动的端口会显示在输入框中并置灰)。
- 点击「访问地址…」,复制生成的 URL 到其他设备进行访问。
- 若需更改监听策略,点击「重启 dsh」生效。
卸载与清理¶
插件设计为默认态零残留,但配置过的内容需要手动清理才能完全卸载。
推荐步骤:
1. 在面板的「配置与清理…」中点击「完全清理(卸载前)」。这会删除托管块、遗留条目和设置文件。
2. 运行卸载命令:
dsh plugin --profile web remove dsh-advanced-listening-settings
- 重启 DSH。
如果忘记清理,也可以使用清理命令从 npm 重新拉取一份插件代码来执行清理:
npx -y dsh-advanced-listening-settings cleanup
安全与权限¶
使用此插件涉及对 DSH 进程的权限覆盖。
- 鉴权风险:一旦取消鉴权,任何能访问该局域网 IP 的人都可以直接操控 DSH(执行命令、读写文件)。请务必仅在完全可信的网络环境中使用此功能,或保留 Token 鉴权作为最后一道防线。
- 来源围栏:取消鉴权只移除了 Token 校验,Host/Origin 的 403 拦截(来源围栏)依然有效。即使关闭鉴权,未受信任的域名访问仍会被拒绝。
- IPv4 限制:插件仅支持 IPv4 网卡。IPv6 地址不会被改写或监听。
- 官方目录:插件不会写入 DSH 的官方安装目录,也不会修改官方源码。
参考资料¶
- GitHub 仓库: https://github.com/jcjyids/dsh-web-advanced-settings
- 插件目录: https://www.skillhub.cn/plugins/jcjyids/dsh-web-advanced-settings