前言¶
在 DeepSeek Harness(DSH)里让智能体联网查资料,常见做法是依赖内置搜索。对已抓取资料的对照可知:内置搜索只在官方 DeepSeek 账号通道上可用;换用第三方模型通道时,搜索容易静默失败,界面上往往只剩模糊错误,难以判断是未配置、上游拒绝还是网络问题。
下面介绍社区插件 dsh-web-search-router(维护者 MCJF28,分类:联网工具)。它按当前模型通道在「官方 DeepSeek 搜索」与「自建 Parallel 兼容搜索服务」之间做路由,并在两侧都不可用时给出可读失败原因,而不是笼统的 500。
这是什么¶
dsh-web-search-router 是 DSH 的搜索路由插件:根据「当前用的是哪条模型通道」决定搜索走哪条路,并在失败时通过右下角提示说明具体环节。
| 当前通道 | 搜索路径 |
|---|---|
| 官方 DeepSeek 账号 | Anthropic Messages 协议中的 web_search 工具 |
| 第三方通道 | 你在「设置 → 搜索」中配置的搜索服务(Parallel 兼容接口) |
插件以 npm 包名 dsh-web-search-router 发布(README 中版本为 1.0.0,许可证 MIT)。目录页:SkillHub 插件页;源码与说明:GitHub 仓库。
核心功能¶
通道感知路由¶
官方账号通道走 DSH 侧已接好的 web_search;第三方通道走你填写的 API Key 与接口地址,接口需与 Parallel 兼容。这样同一套 Harness 配置不必为「换通道就换搜索实现」反复手改。
搜索服务配置与凭据解析¶
在应用内打开 设置 → 搜索,填写搜索服务的 API Key 与接口地址。
凭据按以下顺序解析,前一个取不到再用下一个:
- 账号令牌
- 凭据存储中的
DEEPSEEK_API_KEY - 启动环境变量
可读失败提示¶
搜索失败时,右下角弹出提示,区分不同原因,例如:
- 未配置 Key:提示到「设置 → 搜索」填写 API Key
- 上游拒绝:带上游返回的状态与原因
- 超时或网络错误:单独说明,不与其它错误混写
提示约 12 秒后自动消失,也可手动确认关闭。
安装与启用¶
推荐:内置插件安装程序。 完全按 README 原文操作:
- 打开「设置 → 内置插件」
- 粘贴包名并安装
- 重启应用
包名:
dsh-web-search-router
安装程序会把条目写入 dsh.profile.bundles,无需手改该文件。
命令行方式(须先完全退出 DSH):
cd ~/.dsh/profiles/desktop
pnpm add dsh-web-search-router
再把包名加入 dsh.profile.bundles,重启应用。
典型用法与配置注意¶
日常使用无需额外命令:安装并重启后,在对应通道下发起需要联网的会话即可;第三方通道使用前务必在「设置 → 搜索」填好 Key 与 endpoint。
若 profile 的 patch 里 web 一行被 base 包写死为 searchProvider: deepseek-official,需要在 profile 的 cordis.patch.yml 中覆盖,否则插件注册的 provider 不会被选中。README 给出的示例:
- id: web
name: "@deepseek-ai/dsh-web"
config:
searchProvider: custom-search
fetchProvider: http
原因是:resolveProvider 仅在 configuredId === undefined 时才会遍历 provider 列表并调用各插件的 available();配置里一旦写死 provider 名称,本插件的可用性检查不会执行。
适用场景与注意¶
适合同时混用官方 DeepSeek 账号与第三方模型通道、又希望联网搜索行为随通道自动切换的 DSH 用户;也适合希望搜索失败时能直接看到「缺 Key / 上游状态 / 网络」而不是模糊报错的场景。
DSH 生态强调「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。插件在当前 DSH 进程权限下运行,安装前请自行查阅仓库源码与 MIT 许可证,确认接口与凭据处理方式符合你的环境策略。
结尾¶
dsh-web-search-router 把「官方通道用内置 web_search、第三方用自建 Parallel 兼容搜索」固化成路由逻辑,并补齐失败时的可读提示。需要安装或细节时,可看 SkillHub 目录页 与 GitHub README。