前言¶
DeepSeek Harness (DSH) 的插件生态允许开发者为智能体扩展能力。在进行网络搜索或网页抓取时,公共搜索 API 通常需要密钥、受区域限制或存在频率上限。这个插件通过 Chrome DevTools Protocol (CDP) 直接控制你本地已安装的浏览器,为 DSH 智能体提供无需 API Key 的搜索与抓取能力。
插件定位¶
- 插件名称:
dsh-local-browser-search - 维护者:YUANMINGXUE
- 开源协议:MIT
- 核心功能:为 DSH 智能体注册两个工具——
browser_search(网页搜索)和browser_fetch(页面抓取)。
安装与启用¶
使用 DSH 的 CLI 安装该插件。安装后需要重启 web 进程,工具才会生效。
dsh plugin --profile web add dsh-local-browser-search
安装完成后,重启 dsh web。插件会在智能体的工具集中注册上述两个工具。
配置项¶
插件默认配置保存在 cordis.patch.yml 中。你可以根据网络环境调整以下参数:
| 配置项 | 默认值 | 说明 |
|---|---|---|
headless |
true |
是否无头运行(false 会打开可见窗口)。 |
engine |
bing |
默认搜索引擎:bing、duckduckgo 或 google。 |
maxResults |
8 |
单次搜索返回结果的上限。 |
timeoutMs |
30000 |
工具调用的超时时间(毫秒)。 |
browserPath |
null |
浏览器可执行文件路径。未设置时自动检测(Edge → Chrome → Brave)。 |
此外,你可以在环境变量中设置 DSH_BROWSER_PATH 来强制指定浏览器。
工作原理¶
插件运行在 DSH 进程上下文中,通过 Node.js 内置模块调用本地浏览器:
- 检测并定位本地已安装的 Chromium 浏览器(Windows 上默认为 Edge)。
- 以无头模式启动浏览器,并附加
--remote-debugging-port,同时挂载一个临时的用户配置文件。 - 利用 Chrome DevTools Protocol (WebSocket JSON-RPC) 驱动浏览器:
- 访问搜索引擎,执行提取逻辑。
- 读取返回的 JSON 数据(标题、URL、摘要)。
- 任务结束后,关闭浏览器进程并清理临时配置文件。
安全与权限说明¶
- 数据隐私:插件不会使用任何已保存的用户配置文件、Cookie 或浏览历史。每次调用都会使用全新的临时配置文件。
- 权限范围:作为 DSH 插件,该代码在 DSH 进程中运行,拥有与当前 DSH 进程相同的权限。它调用的浏览器是你本地已经在运行的浏览器。
- 安全建议:在使用前建议检查源码,确保符合你的安全策略。
参考资料¶
- 插件目录:https://www.skillhub.cn/plugins/YUANMINGXUE/dsh-search
- 源代码:https://github.com/YUANMINGXUE/dsh-search