DeepSeek Harness (DSH) Web 搜索插件:零成本替换官方搜索

前言

DeepSeek Harness (DSH) 的设计理念是「一切皆插件」。DSH 自带的搜索路由 (deepseek-official) 在执行 web_search 时,会调用昂贵的模型(如 deepseek-v4-flash)进行完整的一轮对话,无论当前会话模型是什么。这会带来不必要的 Token 消耗和成本。

dsh-web-search-ddg 是 DeepSeek Harness 的一个联网工具插件,由 aooyoo 维护。它提供零 Token 的 Web 搜索能力,通过本地无头浏览器和 API 调用替换了 DSH 内置的高成本搜索路由。

核心功能

  1. 替换路由:将 DSH 内置的搜索路由替换为零成本引擎(Bing 和 DuckDuckGo)。
  2. 零成本:不消耗模型 Token,无需 API 密钥,不发起辅助模型请求。
  3. 零依赖:仅使用 Node.js 内置模块,无需 Playwright 或 Puppeteer 等外部依赖。
  4. 回退机制:引擎回退机制(先成功者胜出),若一个引擎被阻断或 HTML 变更,另一个引擎会接管。
  5. 保留兼容:保留内置提供者注册,切换回官方搜索只需一行配置。

安装与启用

在 DSH 的 profile 目录(例如 ~/.dsh/profiles/web)中,以离线插件的形式安装:

pnpm add dsh-web-search-ddg

在 profile 的 package.json 中声明 bundle,使 DSH 将其加载为一级层(在插件管理器可见,可干净移除):

"bundles": [..., "dsh-web-search-ddg"]

在 profile 的 cordis.patch.yml 中选择 provider:

# 选择该提供者供模型侧的 web_search 工具使用。
- id: web
  config:
    searchProvider: ddg-browser

注意:patch 行会替换目标行的整个配置(不支持深度合并),因此 web 行必须重申所有键。内置的 web-search-deepseek 行保持不变,切换回官方搜索只需将 searchProvider 改回 deepseek-official。

典型用法

  1. 安装:执行 pnpm add dsh-web-search-ddg。
  2. 声明:在 profile package.json 的 bundles 中加入 "dsh-web-search-ddg"。
  3. 配置:在 cordis.patch.yml 中设置 searchProvider: ddg-browser。

适用场景与注意

  • 环境要求:需要一个 DSH 主机环境(版本 ≥ 0.1.0-rc)和 Node.js ≥ 18。
  • 本地浏览器:DuckDuckGo 引擎需要本地 Chromium 家族浏览器。插件会自动检测 macOS 上的 Chrome、Edge、Chromium 或 Linux 上的 /usr/bin/chromium//usr/bin/google-chrome。Bing 引擎不需要浏览器。
  • Cookie 依赖:Bing 引擎的质量依赖于 Cookies。插件会在会话期间访问 Bing 首页并注入 Cookie;如果结果为空,会重新引导 Cookie。
  • 权限:插件以主机权限运行,安装前请务必检查源码与许可证。

结尾

该插件通过本地引擎和浏览器解决了 DSH 官方搜索的高成本问题,同时保留了良好的灵活性和回退机制。相关文档与源码位于 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜