前言¶
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.yml中web行的searchProvider覆盖;关闭时删除该覆盖块 - 变更后重启 DSH 生效
MCP server¶
MCP server 位于 lib/mcp-server.js,零依赖,不依赖 DSH。
- 暴露
web_search工具 - 参数:
query必填;provider可选,取值parallel/exa;numResults可选 - 传输:stdio 与 HTTP/SSE
- stdio 模式不监听任何端口
- HTTP/SSE 默认地址为
http://127.0.0.1:3100,默认只绑本机回环地址 - 只调用上述免费端点,不读任何文件/环境,除可选
EXA_API_KEY
安装与启用¶
设置卡片要显示,需要满足以下条件:profile 为 web;包已声明进 dsh.profile.bundles;安装后重启 DSH;打开设置前刷新浏览器页面。
- 使用 DSH 官方安装命令安装依赖:
dsh plugin --profile web add @sheep233_/dsh-web-search-free
- 将包名加入
~/.dsh/profiles/web/package.json的dsh.profile.bundles,同时确保dependencies中有同名片名;版本范围以 npm 包当前发布或包管理器记录为准,本文不固定版本号。配置形如:
{
"dsh": {
"profile": {
"bundles": [
"@sheep233_/dsh-web-search-free"
]
}
},
"dependencies": {
"@sheep233_/dsh-web-search-free": "按当前发布填写版本范围"
}
}
-
重启 DSH,并刷新浏览器页面。
-
打开
DSH 设置 → 插件设置 → 可配置 → 免费网页搜索,开启enabled,选择 Parallel 或 Exa,然后重启 DSH。 -
如在本地源码目录做端到端验证,可运行:
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
webprofile 中用免费后端替代官方计费搜索。 - 适合将免费
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。