前言¶
在 DeepSeek Harness 的开发中,插件 @yeesy369/dsh-browser-playwright 提供了基于 Playwright 的浏览器控制能力,但其内置的 SSRF(服务器端请求伪造)保护机制会阻断对本地或局域网地址的访问。这给需要调试本地服务或访问内网页面的开发者带来了不便。dsh-intranet-browser 旨在解决这个问题,它修改了原插件的逻辑,在保持安全性的前提下,允许 Harness 打开本地和局域网资源。
插件定位¶
这是一个基于 @yeesy369/dsh-browser-playwright 修改的插件,由维护者 Short-Arm-Ape 提供。它通过绕过原插件的 SSRF 保护逻辑,为 DeepSeek Harness 启动一个独立的 Playwright 浏览器实例。该实例拥有独立的服务名称、配置文件目录和窗口,专门用于内网和本地页面的调试。
核心功能¶
- 绕过 SSRF 保护:移除了原插件
url-guard.ts中的严格限制,允许访问 localhost 和 LAN 地址。 - 独立实例运行:使用独立的服务名称
intranet-browser和默认配置文件~/.dsh/intranet-edge-profile,与原浏览器插件并行运行。 - 按调用审批:默认情况下,每次调用
intranet_*工具都会触发用户审批提示,确保操作可控。 - 云元数据拦截:默认阻止云元数据端点(如 169.254.169.254),防止意外泄露云服务器信息。
- 工具支持:提供一系列用于页面交互和管理的工具,包括打开、截图、快照、点击、输入、滚动、历史导航、多标签页管理、JS 代码执行以及窗口关闭等。
安装与启用¶
安装过程需要将插件添加到 web 配置文件中。请确保在终端中处于插件的绝对路径下执行以下命令:
dsh plugin --profile web add [absolute path to this package]
安装完成后,必须重启 DeepSeek Harness 才能使插件生效。
典型用法¶
安装并重启后,AI 智能体可以通过调用工具与本地或内网页面交互。
- 打开页面:AI 调用
intranet_open打开一个内网地址。根据默认配置,系统会弹出审批提示,确认后才执行导航。 - 调试页面:导航完成后,可以使用
intranet_snapshot获取页面的无障碍快照,或使用intranet_screenshot截取图片进行视觉调试。
适用场景与注意事项¶
- 适用场景:主要用于智能体开发阶段,调试运行在本地或局域网内的 Web 应用。
- 维护状态:该仓库已停止维护,并合并至
Short-Arm-Ape/dsh-browser-unified插件中。当前仓库仅作为只读归档保留。 - 安全建议:由于插件涉及浏览器行为的修改,安装前建议检查源码和许可证(MIT)。
- 功能限制:
intranet_evaluate工具默认未注册,只有在配置中启用evaluate: true并重启后才会出现。
总结¶
dsh-intranet-browser 为 DeepSeek Harness 提供了一个受控的方案,用于绕过 SSRF 限制以访问内网资源。它通过独立的实例和审批机制,在便利调试的同时保持了安全性。更多细节和源码可参考插件目录页或 GitHub 仓库。