dsh-web-search-free:DSH 免费网页搜索 provider 与 MCP server

前言

DSH 的 web_search 工具在默认官方搜索下会调用按量计费的 DeepSeek 搜索服务,依赖 DEEPSEEK_API_KEY,并产生余额消耗。若希望在 DSH 内切换到匿名免 key 的免费搜索,并且把同一后端接入 Claude Code / Codex 等 MCP 客户端,dsh-web-search-free 提供了插件开关和 MCP server 两种用法。

这是什么

sheep-programmer/dsh-web-search-free 是 MIT 许可证的 DSH 插件,npm 包名为 @sheep233_/dsh-web-search-free。它提供三件事:DSH 内的免费网页搜索 provider、DSH 设置中的官方/免费切换开关,以及独立的 MCP server。

核心功能

免费后端

  • 免费后端:Parallel(默认)/ Exa(备用)
  • 匿名免 key,无需 API key,不扣任何余额
  • 启用免费后,web_search 请求仅发往 search.parallel.ai / mcp.exa.ai
  • 可选环境变量 EXA_API_KEY 用于提升 Exa 匿名限额

DSH 设置开关

设置路径:DSH 设置 → 插件设置 → 可配置 → 免费网页搜索

  • enabled 开关默认关闭,表示使用官方搜索;开启后使用免费搜索
  • 免费后端单选:Parallel(默认)/ Exa(备用)
  • 变更后会自动维护 profile 补丁文件 ~/.dsh/profiles/web/cordis.patch.ymlweb 行的 searchProvider 覆盖;关闭时删除该覆盖块
  • 变更后重启 DSH 生效

MCP server

MCP server 位于 lib/mcp-server.js,零依赖,不依赖 DSH。

  • 暴露 web_search 工具
  • 参数:query 必填;provider 可选,取值 parallel / exanumResults 可选
  • 传输:stdio 与 HTTP/SSE
  • stdio 模式不监听任何端口
  • HTTP/SSE 默认地址为 http://127.0.0.1:3100,默认只绑本机回环地址
  • 只调用上述免费端点,不读任何文件/环境,除可选 EXA_API_KEY

安装与启用

设置卡片要显示,需要满足以下条件:profile 为 web;包已声明进 dsh.profile.bundles;安装后重启 DSH;打开设置前刷新浏览器页面。

  1. 使用 DSH 官方安装命令安装依赖:
dsh plugin --profile web add @sheep233_/dsh-web-search-free
  1. 将包名加入 ~/.dsh/profiles/web/package.jsondsh.profile.bundles,同时确保 dependencies 中有同名片名;版本范围以 npm 包当前发布或包管理器记录为准,本文不固定版本号。配置形如:
{
  "dsh": {
    "profile": {
      "bundles": [
        "@sheep233_/dsh-web-search-free"
      ]
    }
  },
  "dependencies": {
    "@sheep233_/dsh-web-search-free": "按当前发布填写版本范围"
  }
}
  1. 重启 DSH,并刷新浏览器页面。

  2. 打开 DSH 设置 → 插件设置 → 可配置 → 免费网页搜索,开启 enabled,选择 Parallel 或 Exa,然后重启 DSH。

  3. 如在本地源码目录做端到端验证,可运行:

npm run verify

典型用法:接入 MCP 客户端

stdio 方式

stdio 是默认传输,不需要额外端口。

Claude Code:

claude mcp add dsh-web-search -- npx -y @sheep233_/dsh-web-search-free

Codex:

codex mcp add dsh-web-search -- npx -y @sheep233_/dsh-web-search-free

也可以使用本地源码路径:

claude mcp add dsh-web-search -- node /绝对路径/dsh-web-search-free/lib/mcp-server.js
codex mcp add dsh-web-search -- node /绝对路径/dsh-web-search-free/lib/mcp-server.js

HTTP/SSE 方式

先启动 MCP server:

node /绝对路径/dsh-web-search-free/lib/mcp-server.js --http --port 3100

默认监听 http://127.0.0.1:3100。可用 --host / --port 调整地址和端口。

Claude Code:

claude mcp add --transport http dsh-web-search http://127.0.0.1:3100

Codex:

codex mcp add --transport http dsh-web-search http://127.0.0.1:3100

其他 MCP 客户端如果支持 stdio 或 HTTP/SSE,也可按相同命令或 URL 接入。

回退官方

在设置卡片中关闭 enabled 开关,然后重启 DSH。也可以手动删除 ~/.dsh/profiles/web/cordis.patch.yml# >>> web-search-free# <<< web-search-free 之间的覆盖块。

适用场景与注意

  • 适合在 DSH web profile 中用免费后端替代官方计费搜索。
  • 适合将免费 web_search 工具接入 Claude Code / Codex 或其他支持 stdio / HTTP/SSE 的 MCP 客户端。
  • 插件会运行在当前 DSH 进程环境中,安装前应检查源码与 MIT 许可证。
  • DSH 插件侧无 key、无数据收集、无监听;启用免费搜索后请求仅发往 search.parallel.ai / mcp.exa.ai
  • HTTP/SSE 默认只绑本机回环地址;如修改 --host 暴露到网络,需要自行评估访问控制风险。
  • EXA_API_KEY 为可选项,用于提升 Exa 匿名限额;不设置时使用匿名端点。

结尾

dsh-web-search-free 的价值在于把 DSH 内的免费网页搜索开关、profile 补丁联动,以及可复用的 MCP server 放在同一个包中。GitHub 仓库:

https://github.com/sheep-programmer/dsh-web-search-free

目录页入口请以 DSH 或社区目录提供的内容为准;本文不附未核实的目录页 URL。

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

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

小夜