前言¶
DeepSeek Harness(DSH)的默认 deepseek-official 提供方把一次搜索实现成一次完整的模型调用,每次 web_search 都真实扣 DeepSeek 余额,不管聊天用的是哪个模型。本插件通过直接读取搜索结果页,归一成 ctx.web 的 WebSearchResult,无需密钥、不调模型、不计费。
是什么¶
dsh-web-search-edge 是一个零密钥、零费用的 web_search 后端,给 DeepSeek Harness 用。它使用本机浏览器渲染或 HTTP 抓取,按引擎选择通道:神马走浏览器渲染,Bing 走 HTTP。支持 Edge / Chrome / Chromium / Brave / Vivaldi 等任意 Chromium 内核浏览器。
核心功能¶
- 零密钥、零费用:不调用模型,不使用 API key,只读取搜索结果页。
- 多浏览器支持:通过
browserPath、环境变量或自动探测指定浏览器,优先级从高到低:插件配置 > 环境变量(DSH_SEARCH_BROWSER或DSH_EDGE_PATH)> 自动探测。 - 三种 transport 模式:
auto(默认):每个引擎走自己能用的通道(神马走浏览器渲染约 4–5 秒,Bing 走 HTTP 约 0.3 秒)。browser:全部走浏览器渲染,最慢但完全不受 HTTP 层拦截影响。http:全部走普通抓取,最快;客户端渲染的引擎会明确报告需要渲染。- 相关性闸门:按稀有度加权,标题命中权重 2、URL 1.5、摘要 1,至少落在有区分度的词上才保留结果。
- 答非所问提示:当结果没有覆盖查询里的区分性词时,在
content里写提示,让模型决定是否换词重查。 - 限流冷却:被限流后默认 10 分钟内不再问该引擎,避免 IP 关联更久。
- 同站限额:默认同一注册域最多占 3 条,超出名额在别的站不够用时再回填。
- Volatile 配置:所有配置字段在运行时以活访问器下发,修改后下一次搜索即生效,无需重启 DSH。
安装与启用¶
本插件通过 cordis patch 配置,安装后写入 cordis.patch.yml:
- id: web
config:
searchProvider: free-scrape
fetchProvider: http
- id: web-search-deepseek
disabled: true
- id: web-deepseek-api
disabled: true
- insert:
- id: web-search-free
name: dsh-web-search-edge
config:
engines: [shenma, bing]
transport: auto
配置完成后重启 DSH 生效。
典型用法¶
- 指定浏览器:
config:
browserPath: "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"
- 调整返回上限与同站限额:
config:
maxResults: 8
maxPerSite: 3
- 调试 DOM:填一个目录把每次渲染的 DOM 存下来:
config:
debugDomDir: "/tmp/dsh-web-search-dom"
适用场景与注意¶
适合个人低频率查询使用,适合需要零成本搜索的场景。注意:
- 内核要求 DSH >= 0.2.1-rc.1(
ctx.web的 Config 从这一版起支持.volatile())。 - 安装前应检查源码与许可证(MIT)。
- 结果就是引擎给的结果:标题、URL、摘要,永远没有合成答案(
content只用来放提示)。 - 抓取受各引擎自身条款约束,不是批量爬取工具。
短结尾¶
本插件通过浏览器渲染或 HTTP 抓取,为 DSH 提供零密钥、零费用的搜索能力。目录页与 GitHub 链接:
- 目录页:https://www.skillhub.cn/plugins/ztc1522021381/dsh-web-search-edge
- GitHub:https://github.com/ztc1522021381/dsh-web-search-edge