前言¶
DeepSeek Harness(DSH)里,Agent 通过 ctx.web 做联网检索时,默认会走内置供应商 @deepseek-ai/dsh-web-search-deepseek。该实现把模型固定为 deepseek-v4-flash,且只对接 DeepSeek 官方的 Anthropic 兼容端点(https://api.deepseek.com/anthropic/v1),既不跟随 Web UI 里选中的模型,也只消耗 DeepSeek 官方额度。
若你已经在「模型」页配置了 ClinePass 或其它 OpenAI 兼容网关,并希望联网搜索与主对话共用同一路由、走网关自带的供应商端搜索工具(例如 vercel:perplexity_search),就需要换一套 ctx.web 搜索供应商。下面介绍社区插件 dsh-web-search-clinepass(维护者 qujinting),它在 DSH 插件目录中归类为「联网工具」。
这是什么¶
dsh-web-search-clinepass 是 DSH 插件:注册 id 为 clinepass 的 ctx.web 搜索供应商,替代内置的 DeepSeek 专用实现。搜索请求发在你配置的 OpenAI 兼容网关(如 ClinePass)上,不占用 DeepSeek 官方 API key,也不把搜索回合塞进主对话上下文。
仓库:https://github.com/qujinting/dsh-web-search-clinepass
目录页:https://www.skillhub.cn/plugins/qujinting/dsh-web-search-clinepass
当前 package 版本为 0.3.2,许可证 MIT,运行环境要求 Node ≥ 22。
核心功能¶
插件安装后会通过 bundle 里的 cordis.patch.yml 做两件事:把 web.searchProvider 设为 clinepass,并插入组件 web-search-clinepass。仅「注册新供应商」不够——@deepseek-ai/dsh-base 默认把 searchProvider 写死为 deepseek-official,必须靠 patch 显式切换。
一次搜索的大致流程如下:
- 从当前会话请求头读取这一步实际使用的
provider/model; - 从
llm-pi-ai配置解析该路由的baseURL、apiKeyEnv(与 Web「模型」页一致); - 向
{baseURL}/chat/completions发起 OpenAI 兼容请求,在tools中携带网关的供应商端搜索工具(默认可用vercel:perplexity_search等四种); - 解析模型回答末尾
Sources:段落,转成ctx.web需要的来源列表。
内置 web-search-deepseek 仍会保留在系统中,只是不再是默认选中项;需要时可改回官方供应商。
安装与启用¶
按你使用的 dsh 版本选一条路径。两条路径安装的是同一个 bundle,差别在于谁改写 profile 清单,以及装完后配置入口在哪。安装后需重启 dsh 才会生效(bundle 在启动时组装)。可用 dsh --profile web --dump-config 查看拼装结果,不会启动服务。
dsh 0.1.7 及以后(含 0.2.0,内置插件管理器)¶
从 npm 安装(profile 名按你的环境替换,桌面版常用 desktop):
dsh plugin --profile web add dsh-web-search-clinepass
从本地 checkout 安装(示例路径来自 README,请换成你的目录):
dsh plugin --profile web add file:D:/project/qujinting/dsh-plugin/web-search
补充说明(均来自 README):
- 0.2.0-rc.2 起
dsh命令随桌面版打包;首次使用可在菜单栏点 「Manage dsh command」 加入 PATH。 - 插件管理器会通过 pnpm 把包装进
<DSH_HOME>/profiles/web/node_modules,并把包名追加到该 profile 的dsh.profile.bundles(安装前会备份package.json)。 - 配置入口:左侧「插件」→ 已安装 →
dsh-web-search-clinepass→ 组件行web-search-clinepass的「配置」。 - 卸载:
dsh plugin --profile web remove dsh-web-search-clinepass。
dsh 0.1.5¶
在插件目录执行:
node install.mjs --profile web
dsh --profile web --dump-config
dsh web
install.mjs 会在 <DSH_HOME>/profiles/web/node_modules/dsh-web-search-clinepass 建立目录联接(junction)指向插件目录,并更新 dsh.profile.bundles。开发时改仓库代码后刷新浏览器或重启 host 即可,无需重复 add。配置在 设置 → 插件 → 插件配置,写入 <DSH_HOME>/settings.yaml 的 web-search-clinepass: 段。卸载:node install.mjs --profile web --uninstall。
配置要点¶
设置命名空间:web-search-clinepass。多数场景无需改动:当会话模型走 clinepass 等 OpenAI 兼容网关时,端点与凭据从 llm-pi-ai.providers.<route> 自动解析(dsh 0.1.5 用 settings.get,0.1.7+ 用 settings.describe())。
| 字段 | 默认 | 说明 |
|---|---|---|
enabled |
true |
关闭后供应商报告为不可用 |
tool |
vercel:perplexity_search |
网关侧搜索工具 id,共四种可选 |
provider / model |
空 | 非空则钉死路由,不再跟随 UI |
baseURL / api / apiKeyEnv / apiKey |
空 | 非空则钉死端点与凭据 |
timeoutMs |
90000 |
单次搜索超时 |
maxTokens |
8192 |
搜索回合输出上限;过小可能截断末尾 Sources: |
maxSources |
10 |
返回来源上限 |
网关 Chat Completions 文档列出的四种服务端搜索工具均可通过改 tool 切换;具体单价与必填参数见仓库 README「工具选择与花费」一节。
dsh 0.1.7+ 上曾出现的不可用错误¶
0.3.0 在 0.1.7 上若仍只用 settings.get 读 llm-pi-ai,会导致 available() 恒为 false,搜索报错:configured web provider "clinepass" is registered but unavailable。0.3.1 起已改为同时支持 describe()。若暂时无法升级插件,可在 profile 的 cordis.patch.yml 里临时钉死 web-search-clinepass 的 provider、model、baseURL、apiKeyEnv 等(见 README 示例);升到 0.3.1 后删除该段即可恢复跟随会话模型。
典型用法¶
- 在 DSH Web「模型」页配置好 OpenAI 兼容网关(如 ClinePass)及环境变量(如
CLINEPASS_API_KEY)。 - 按上文命令把 dsh-web-search-clinepass 装进对应 profile,重启 dsh。
- 在 Agent 或支持
ctx.web的流程中触发联网搜索;供应商应已为clinepass,搜索走当前会话模型与所选tool。
无需单独写调用代码:插件替换的是 Harness 内部的 web 搜索供应商,行为与内置搜索工具链接一致,只是后端路由与计费账户换成你的网关。
适用场景与注意¶
适合谁: 已在 DSH 里用 ClinePass、Vercel AI Gateway 等 OpenAI 兼容网关作为主模型,希望联网搜索与主对话同路由、用网关原生搜索工具,并避免固定 DeepSeek 官方 flash 模型的团队或个人开发者。
权限与安全: 插件在 当前 dsh 进程权限 下运行,会读取 llm-pi-ai 路由与环境变量中的 API 配置。安装前应阅读仓库源码与 MIT 许可证,确认符合你的合规要求。社区目录 SkillHub 与 DeepSeek / 幻方无官方从属关系;DSH 生态强调「一切皆插件」,本文介绍的是第三方维护的联网工具类插件。
版本兼容: 同一 npm 包同时适配 dsh 0.1.5 与 0.1.7+(含 0.2.0-rc.2 行为与 0.1.7 设置模型一致);设置落盘位置因版本不同而异(settings.yaml 与 profile 下 cordis.patch.yml),以 README 对照表为准。
结尾¶
dsh-web-search-clinepass 把 ctx.web 从「DeepSeek 官方固定模型」改成「当前会话模型 + 网关供应商端搜索工具」,并通过 bundle patch 正确切换默认 searchProvider。若你正在 SkillHub 或 GitHub 上选型 DSH 联网插件,可从这里入手: