DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Search Switcher — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
S

dsh-search-switcher

Search Switcher

One-click web search-engine switcher beside the DeepSeek Harness model picker.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:Hudson-Junior-Wang/dsh-search-switcher#33012f4f0e004be60e72ef71106a3c50df8869fe
READMECompatibilityVersions
TriggerEngine menu

Compatibility and provenance

Search Switcher is published as dsh-search-switcher and currently resolves to version 0.3.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
9/2/2026

Versions

0.3.0stable
9/2/2026
0.2.0stable
9/1/2026

Related plugins

Loading related plugins…

Latest
0.3.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 1
Weekly downloads
0
Last push
9/1/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in search-research.

Anysearch Dsh@anysearch/anysearch-dshAnySearch web search and fetch providers plus advanced tools for DeepSeek HarnessIndustry Researchdsh-industry-researchIndustry and company research domain pack for DeepSeek Harness: methodology skills, an industry-chain structure model (industry_map), public-source policy/news tracking over ctx.web (industry_track), company scan cards (company_scan), and auditable researZoterodsh-zoteroLet agents search, read, and cite your local Zotero library: find papers, browse notes and annotations, pull evidence by question, open the source document, generate citations.Browser@anweat/dsh-browserSelf-contained browser runtime plugin for DeepSeek Harness (scoped @anweat) — bundles Playwright (chromium) and OpenCLI as plugin-local dependencies (with global-reuse fallback), exposes a `browser` service and interactive browser tools.

README

dsh-search-switcher

A compact web-search-engine switcher for the DeepSeek Harness composer. It renders immediately to the left of the model picker and changes the preferred engine without opening Settings or typing a slash command.

中文:在 DeepSeek Harness 输入栏的模型切换器左侧提供搜索引擎热切换下拉菜单,无需打开设置或输入命令。

Features

  • Composer control next to the model picker via conversation.input.right.
  • Scrollable engine list with the current engine marked.
  • Reads and writes the free-search.provider setting through the loopback bridge.
  • Supports the ten engines exposed by dsh-free-search:
    • DuckDuckGo HTML
    • DuckDuckGo Lite
    • Bing
    • AnySearch AI
    • SearXNG
    • Exa
    • Tavily
    • Keenable
    • Perplexity
    • DeepSeek Official
  • Uses the Harness theme variables.
  • Full keyboard support: Arrow keys open the menu from the trigger and move between engines, Home/End jump to the first/last entry, Enter/Space activate, Escape dismisses and returns focus to the trigger.

Requirements

  • DeepSeek Harness Web profile with Node.js 20 or newer.
  • dsh-free-search >=0.4.7, which owns the settings bridge and the search provider.

The switcher only changes the preferred provider. It does not bypass provider authentication, API-key requirements, or network restrictions.

Compatibility with dsh-free-search 0.4.22

dsh-free-search 0.4.22 registers its settings namespace through the SettingsProvider.installSection() method, which only exists in @deepseek-ai/dsh-settings >= 0.1.2-alpha.2. On older harness runtimes (DSH Desktop 0.7.1 bundles 0.1.2-alpha.1; any dsh before alpha.2) that registration throws and is contained by Cordis, so the free-search namespace is never exposed: the settings bridge answers /describe with an empty namespaces list and /mutate with settings-not-exposed. The switcher then cannot read or write the provider — since v0.3.0 the menu shows that exact diagnosis instead of a generic "switch failed".

dsh-free-searchHarness dsh-settings <= 0.1.2-alpha.1Harness dsh-settings >= 0.1.2-alpha.2
<= 0.4.21✅ works❌ fails to load (installSettingsSection removed)
0.4.22❌ settings-not-exposed✅ works

Fix options:

  1. Upgrade DSH Desktop / the harness runtime to a build bundling @deepseek-ai/dsh-settings >= 0.1.2-alpha.2 (preferred — dsh-free-search 0.4.22 works there as-is).
  2. On the old runtime, patch the installed dsh-free-search 0.4.22 locally: replace its sctx.settings.installSection(...) block with the exported installSettingsSection(ctx, ...) helper (identical semantics, present in the old runtime). The exact two-line diff is in the bug report on DDDMUC/dsh-free-search — please report it there so upstream ships a version compatible with both runtimes.
  3. Or pin dsh-free-search at 0.4.21 or older while staying on the old runtime.

Blocked-network use case

Overseas university and campus networks often block api.deepseek.com, which makes the DeepSeek Official provider unavailable while the rest of the harness keeps working. This switcher exists so you can fall back to Bing, DuckDuckGo, SearXNG, or another reachable provider in one click — no Settings page, no provider editing by hand.

Screenshots

The trigger beside the model picker, and the open engine menu:

Trigger

Engine menu

Install

Using the Harness plugin CLI:

dsh plugin --profile web add https://github.com/Hudson-Junior-Wang/dsh-search-switcher.git

If your CLI uses the profile as the current default, this is equivalent:

dsh plugin add https://github.com/Hudson-Junior-Wang/dsh-search-switcher.git

Install dsh-free-search as well if it is not already present:

dsh plugin --profile web add https://github.com/DDDMUC/dsh-free-search.git

Then restart the Harness host or reload the Web UI. The new control appears immediately left of the model selector in an active conversation.

Manual profile installation

Add the package to the profile dependencies and add dsh-search-switcher to dsh.profile.bundles. The package's cordis.patch.yml loads its entry automatically.

If the profile already contains a manually inserted dsh-search-switcher entry, remove that manual patch before using dsh plugin add; otherwise the same loader entry can be registered twice.

Development

npm test          # bundle smoke test (manifest, patch, syntax)
npm run check     # node --check on both lib files

The client bundle is intentionally a self-contained ModuleLoader bundle so it can be served by the Harness client-module system without a separate build step.

License

MIT