前言¶
DeepSeek Harness (DSH) 的插件生态支持高度定制。对于需要联网能力的场景,现有的官方搜索往往需要 API Key,且模型侧的 web_search 工具在 DSH 0.1.5+ 版本中会被预设遮蔽,导致无法传递深度参数。
dsh-web-search-scrape 插件直接通过 Node 内置 fetch 抓取搜索引擎与社交平台的公开结果页,为 ctx.web 注册名为 web-scrape 的 provider,并注册 web_search_deep 工具以绕过遮蔽机制,实现无需 API Key 的本地检索。
核心功能¶
该插件提供以下能力:
* 双后端切换:支持 local(本地抓取,默认)与 official(官方 API)。
* 六档深度控制:T1 极速至 T6 研究,支持显式传参或自动选档。
* 双池引擎:P0 搜索引擎池(Google, Bing, 百度等)+ P1 社交平台池(微博, Bilibili, Reddit 等)。
* 设置页卡片:在浏览器设置中提供可视化的配置卡片,支持持久化。
* 验证机制:T4 以上支持子代理分诊与网页内容核实。
后端与计费¶
搜索后端¶
插件通过设置卡片切换后端。默认为 local,完全免费。
若需使用官方搜索(backend: official),必须在设置中开启 allowOfficial。默认情况下,allowOfficial 为 false,此时即便配置写错也不会产生任何网络请求或计费。
计费控制¶
计费仅发生在以下两种情况,均有硬开关:
1. 官方搜索:开启 allowOfficial 后,按 DeepSeek Messages API Token 计费。
2. 深度子代理:T4 及以上档位会派发 LLM 子代理进行分诊或核验,按当前会话模型计费。
为避免静默产生费用,插件默认将 maxAutoTier 限制为 3(即自动档位最高到 T3,仅纯抓取)。若需恢复 T4-T6 的子代理功能,需显式传入 tier 参数。
推荐配置(免费且安全)¶
backend: local # 使用本地抓取
allowOfficial: false # 禁止官方搜索,防止误触
maxAutoTier: 3 # 限制自动档位,防止静默产生 LLM 费用
档位与工具¶
六档检索深度¶
插件提供 T1 至 T6 六档检索,结果上限默认为 130 条。
| 档位 | 名称 | 耗时量级 | 引擎池 | 社交池 | 验证方式 |
|---|---|---|---|---|---|
| T1 | 极速 | ~4s | 1 个 | 0 | 不验证 |
| T2 | 快速 | ~10s | 2 个 | 0 | 启发式评级 |
| T3 | 标准 | ~20s | 全部 | 1 个 | 启发式评级 |
| T4 | 增强 | ~60s | 全部 | 全部 | 子代理分诊 |
| T5 | 深度 | ~150s | 全部 | 全部 | 子代理 + ≤6 页核实 |
| T6 | 研究 | ~280s | 全部 | 全部 | 子代理 + ≤15 页多轮阅读 |
工具遮蔽处理¶
在 DSH 0.1.5+ 版本中,模型侧的 web_search 工具被移至 agent 预设平面,会遮蔽本插件的同名注册,导致无法传递 tier 参数。
插件通过注册同名的 web_search_deep 工具解决此问题。该工具不受预设遮蔽,且参数与 web_search 一致,可在任何预设下使用。
安装与配置¶
前置条件¶
- DSH 版本需
>= 0.1.5-rc.2。 - 安装时需确保宿主兼容性,特别是
ctx.settings.installSection与createSnapshotStore的 API 版本。
目录结构¶
插件仓库直接提供 ESM 源码,无需构建:
.
├── package.json
├── cordis.patch.yml
└── lib
├── index.js # 宿主侧:Provider 与工具注册
└── client.js # 浏览器侧:设置页卡片
使用示例¶
- 在设置页卡片选择
backend为local。 - 在配置文件中设置
allowOfficial: false以避免计费。 - 在代码或提示词中调用
web_search_deep,传入tier参数(如tier: 5)。 - 使用
maxAutoTier: 3限制自动选档的上限。
适用场景与注意¶
- 场景:需要深度控制检索结果数量(默认 130 条)和深度的开发者;希望避免 API Key 管理或付费的长期运行会话。
- 注意:插件以当前 DSH 进程权限运行。安装前建议检查源码与许可证(MIT)。T4-T6 档位涉及子代理调用,会产生对应的模型 Token 费用,需谨慎配置。
总结¶
dsh-web-search-scrape 提供了一个无需 API Key、可控制检索深度与结果数量的本地抓取方案,并通过工具重命名机制解决了 DSH 新版本的工具遮蔽问题,适合对联网能力有精细化要求的 DSH 用户。