dsh-web-search-local
在终端中运行以下命令:
dsh plugin install gausszhou/dsh-web-search-local
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在终端执行 dsh plugin install gausszhou/dsh-web-search-local 即可安装并自动激活该插件,其开源地址为 https://github.com/gausszhou/dsh-web-search-local 。
插件介绍
dsh 内置的 web_search 工具本身是模型无关的,但默认搜索 provider 会把每次查询发给 DeepSeek 的服务器端搜索 API,必须持有 DEEPSEEK_API_KEY 才能工作。一旦切换到 Ollama 等本地模型,搜索能力就彻底失效。dsh-web-search-local 正是为这个断层而生:它在 ctx.web 接口上注册了搜索和页面抓取两个 provider,全部使用 node 原生 HTTP 完成,不依赖任何 API key,也没有第三方运行时依赖。
搜索走一条三层引擎链:SearXNG 私有实例 → Google / DuckDuckGo / Mojeek → Bing / Baidu / Sogou / 360。同一层的引擎并行查询、轮询合并,某一层无结果时自动降级到下一层,确保任何一层被墙或被封都不会拖垮整条链路。provider 还会自动探测本机 Clash、v2rayN 等代理端口,但只把全球引擎的请求走隧道,国内引擎和私有 SearXNG 始终直连,避免境外出口 IP 触发百度验证码墙或搜狗反爬。引擎被限流时熔断器使其冷却跳过,DuckDuckGo 还内置了 lite 端点回退,保证单个引擎故障不会导致整体搜索失败。
这套方案最适合在本地运行 Ollama 或其他开源模型、又不想注册任何搜索 API 的 dsh 用户,也适合网络环境复杂、需要同时覆盖中美两侧搜索源的场景。安装后自动接管 web profile,无需手动编辑配置文件,各项设置可通过 dsh 的 settings 面板热更新,下一次搜索立即生效。
使用场景
- 使用 Ollama 等本地模型运行时,需要联网搜索但无法调用 DeepSeek 服务器端搜索的场景
- 网络环境复杂,需要同时覆盖 Google、DuckDuckGo 等全球引擎和百度、搜狗等中文引擎并自动降级的场景
- 希望搜索与页面抓取能力完全自主可控,不依赖任何第三方 API 服务或密钥的场景
适合人员
- 运行 Ollama、llama.cpp 等本地大模型的 dsh 用户
- 追求无密钥、无第三方运行时依赖的独立开发者
- 网络受限、需要多引擎并行搜索与熔断降级的用户