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。

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

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

小夜