DeepSeek Harness plugin

dsh-search-switcher

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

Jump to install

Source facts

Repository
Hudson-Junior-Wang/dsh-search-switcher
Latest update
Aug 19, 2026
Category
Docs & Rendering
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/Hudson-Junior-Wang/dsh-search-switcher
Plugin: dsh-search-switcher
Author: Hudson-Junior-Wang

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

dsh-search-switcher

![DeepSeek Harness plugin](https://github.com/topics/dsh-plugin)

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 and supports keyboard escape/outside-click dismissal.

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. On networks that block api.deepseek.com, use Bing, DuckDuckGo, SearXNG, or another reachable provider instead of DeepSeek Official.

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

node --check lib/client.js
node --check lib/index.js

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](./LICENSE)