Introduction

The built-in web search in DeepSeek Harness is a single fixed channel. dsh-search-hub turns this channel into a configurable search hub, allowing you to manage multiple search endpoints within the same configuration and switch between them as needed.

What Is This

A multi-entry management hub for DeepSeek Harness web search, maintained by Lzh3070. It manages multiple search entries through the Settings page, where each entry maps to a different protocol, model, and API key environment variable, and supports switching the active search channel instantly without restarting.

Core Features

  1. Multi-entry management: Supports adding, editing, and deleting search entries; built-in entries cannot be deleted.
  2. Protocol adaptation: Supports the anthropic and zai protocol adapters.
  3. Instant switching: Managed through tabs in the Settings page; one-click switching without restarting.
  4. Automatic fallback: After uninstalling the plugin, the system automatically falls back to the original search channel from before uninstallation.

Installation and Enablement

  1. Open the Harness Web configuration directory and edit <harness-home>/profiles/web/package.json.
  2. Add the plugin dependency to dependencies and add a bundle entry to dsh.profile.bundles:
    "dependencies": {
      "dsh-search-hub": "git+https://github.com/Lzh3070/dsh-search-hub.git"
    },
    "dsh": { "profile": { "bundles": [
      "dsh-search-hub"
    ] } }
  1. Run the installation command:
    npx -y @deepseek-ai/dsh plugin --profile web install
  1. Restart Harness and select the active search entry under Settings → Search.

Typical Usage

  • Configure a search entry: Use the DeepSeek/GLM/Kimi templates on the Settings page to create an entry, then enter the name, protocol, Base URL, model name, and API key environment variable name.
  • Use the Zai adapter: When configuring the zai protocol, set ZAI_API_KEY in the environment variables.
  • Restore the original channel: To remove the plugin, remove the configuration lines from package.json and reinstall; the system will automatically restore the previous provider.

Notes

  • Environment requirements: The development environment requires Node.js ≥ 22.
  • Billing model: The anthropic adapter bills by full model-call turns; the zai adapter bills by individual retrieval API calls.
  • URL mapping: Zhipu search results may not include URLs; enabling allowLinkless: true maps them to a zhipu-websearch:// placeholder link.
  • Security configuration: Search uses HTTPS calls. Configure baseURL carefully and treat it as a security-sensitive configuration item, equivalent to official providers.

Conclusion

dsh-search-hub provides a lightweight solution for developers who need multi-source search or want to manage different API services. For more details and source code, see GitHub.