DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-web-search-router

M

dsh-web-search-router

Manifest valid

Channel-aware web search routing for DeepSeek Harness: official DeepSeek search or your own Parallel-compatible endpoint, with readable failure reasons.

UI (client)hasBundlePatch

dsh-web-search-router

中文 | English

搜索路由插件:按「用的是哪个模型通道」决定走官方搜索还是你自己的搜索服务,并且在两者都不可用时给出可读的原因,而不是一句 500。

为什么需要

DSH 自带的搜索只对官方 DeepSeek 账号通道生效。用第三方模型通道时搜索会静默失败,用户看到的只是一个模糊的错误。这个插件把两种情况都接上:

当前通道走哪条路
官方 DeepSeek 账号Anthropic Messages 协议里的 web_search 工具
第三方通道你自己配置的搜索服务(Parallel 兼容接口)

配置

设置 → 搜索,填搜索服务的 API Key 与接口地址。

凭据按以下顺序解析,前一个取不到就用下一个:

  1. 账号令牌
  2. 凭据存储里的 DEEPSEEK_API_KEY
  3. 启动环境变量

失败提示

搜索失败时右下角弹提示,说明具体是哪一步不行:

  • 没配 Key → 「还没有可用的搜索服务。请到「设置 → 搜索」填写 API Key。」
  • 请求被拒 → 带上游返回的状态与原因
  • 超时 / 网络错误 → 单独区分,不混为一谈

提示 12 秒自动消失,也可以手动确认。

安装

推荐:内置插件安装程序。 打开「设置 → 内置插件」,粘贴包名,点安装,再重启应用:

dsh-web-search-router

安装程序会自动写进 dsh.profile.bundles,不用手改任何文件。

命令行方式(先完全退出应用):

cd ~/.dsh/profiles/desktop
pnpm add dsh-web-search-router

然后把包名加进 dsh.profile.bundles,重启应用。

注意

如果你的 profile patch 里 web 这一行被 base 包写死了 searchProvider: deepseek-official,需要在 profile 的 cordis.patch.yml 里覆盖它,否则这个插件注册的 provider 不会被选中:

- id: web
  name: "@deepseek-ai/dsh-web"
  config:
    searchProvider: custom-search
    fetchProvider: http

原因:resolveProvider 只在 configuredId === undefined 时才遍历 provider 列表找可用项。一旦配置里写死了名字,插件的 available() 根本不会被调用。


English | 中文

Channel-aware search routing for DeepSeek Harness: which provider a search uses depends on which model route is active, and when neither side is usable you get a readable reason instead of a bare 500.

Why it exists

The built-in search only works on the official DeepSeek account route. On a third-party model route it fails silently, leaving the user with a vague error. This plugin wires up both sides:

Active routeWhat gets used
Official DeepSeek accountThe web_search tool over the Anthropic Messages protocol
Third-party routeYour own search endpoint (Parallel-compatible API)

Configuration

Settings → Search, then fill in the API key and endpoint of your search service.

Credentials resolve in this order; the first one that exists wins:

  1. Account token
  2. DEEPSEEK_API_KEY in the credential store
  3. Launch environment variable

Failure reporting

When a search fails, a notice appears in the bottom-right corner and names the step that failed:

  • No key configured → "No search service is available yet. Set an API key in Settings → Search."
  • Upstream refused → status and reason from the upstream response
  • Timeout / network error → reported separately, never lumped together

Notices disappear after 12 seconds, and can also be dismissed manually.

Install

The built-in plugin installer is the recommended way. Open Settings → Built-in Plugins, paste the package name, press install, then restart the app:

dsh-web-search-router

The installer writes the entry into dsh.profile.bundles for you; no manual file edits.

From the command line (quit the app completely first):

cd ~/.dsh/profiles/desktop
pnpm add dsh-web-search-router

Add the package name to dsh.profile.bundles and restart the app.

Notes

If your profile patch has the web row hard-coded to searchProvider: deepseek-official by the base bundle, override it in the profile's cordis.patch.yml — otherwise the provider this plugin registers is never selected:

- id: web
  name: "@deepseek-ai/dsh-web"
  config:
    searchProvider: custom-search
    fetchProvider: http

Why: resolveProvider only walks the provider list looking for an available one while configuredId === undefined. Once a name is hard-coded in configuration, the plugin's available() is never even called.

Comments

Loading…

Similar plugins

dsh-web-search-router

by chenyuhao0628

Free multi-provider web search router for DeepSeek Harness (DSH)

Terminal & ClientsManifest valid

★ 0

MIT

JavaScript

Sep 30, 2026

dsh plugin --profile web add dsh-web-search-router

by RailgunHamster

A DeepSeek Harness plugin for selecting and routing web search providers.

Manifest valid

★ 0

JavaScript

Sep 29, 2026

dsh plugin --profile web add dsh-web-search

by Kerberos255

Priority-ordered multi-provider web_search router for DeepSeek Harness with automatic fallback.

Tools & CapabilitiesManifest valid

★ 1

MIT

JavaScript

Aug 21, 2026

dsh plugin --profile web add dsh-web-search-router

by vitas

Grounded web search for DeepSeek Harness on any OpenRouter-compatible gateway: the built-in web_search tool runs on the same endpoint and key as your chat models.

Tools & CapabilitiesDevelopment & InfrastructureManifest valid

★ 2

↓ 26/wk

Apache-2.0

JavaScript

Sep 30, 2026

dsh plugin --profile web add @samebits/dsh-web-search-openrouter

by kkgace

Self-hosted SearXNG web search provider for DeepSeek Harness (dsh). No API key or vendor account.

Manifest valid

★ 0

MIT

JavaScript

Sep 17, 2026

dsh plugin --profile web add dsh-web-searxng-search

by ForeverYoungPp

Multi-provider third-party web search for the DeepSeek Harness: routes the native web_search tool through a configurable provider fallback chain, with an isolated provider settings page.

Terminal & ClientsManifest valid

★ 0

MIT

JavaScript

Sep 1, 2026

dsh plugin --profile web add @deepseek-ai/dsh-web-search