dsh-search-tools: Pluggable Search and Fetch Backends for DeepSeek Harness

thzxxart/dsh-search-tools

Tools & CapabilitiesVerified
Listed on 2026-10-23
Page last updated 2026-10-26

Adapter-first web search and readable page fetching for DeepSeek Harness, with SearXNG search and Readability extraction configured entirely in the DSH Web settings page.

dsh-search-tools is a DSH plugin that replaces the default search and fetch backends in DeepSeek Harness, letting search traffic go through your own SearXNG instance or a proxy while fetched pages come back as clean article text. It decouples backends from the core and registers stable provider ids, so switching backends needs no config change or restart. Everything is configured in the Web settings page with instance cards, inline tests, a text reader and diagnostics, plus a research tool that searches and fetches in one call.

How to Install

install
npmdsh plugin --profile web add dsh-search-tools
Category
Tools & Capabilities
Platform
DSH Plugin
Author
thzxxart
Distribution
Plugin

dsh-search-tools Key Features

Stable provider ids, swappable backendsSearXNG multi-instance search with failoverReadability extraction with raw fallbackweb_research search plus page fetchingInline testing and diagnostics in Web settings
Listed on dsh-plugin.org

dsh-search-tools Repo Summary

What Does It Do?

Search Tools is a DSH plugin for DeepSeek Harness that decouples web search and page fetching backends from the harness core. It solves the problem of a default backend that does not fit everyone: users with their own SearXNG instance, users who need search traffic to go through a proxy, and users who want clean article text instead of full-page HTML can pick and test a backend entirely in the Web settings page. The plugin registers stable provider ids so switching backends never changes the harness search configuration, and it adds a research tool that searches and fetches the top N pages in one call.

Core Features

  • Stable providers: one search and one fetch provider id that never change when the backend changes, with no restart or re-registration needed.
  • SearXNG search adapter: multiple instances, sequential or round-robin, failover, JSON/HTML, GET/POST, Bearer/Basic auth, proxy, cache, pagination and domain filtering.
  • Readability fetch adapter: reuses the harness secure HTTP layer, extracts article text with Readability, and falls back to the raw page when extraction fails.
  • web_research tool: searches, fetches the top N pages concurrently, truncates by per-page and total budget, and returns sources with their text.
  • Web settings page: five tabs for overview, search, fetch, research and diagnostics, with instance cards, inline tests, a text reader, budget bars, field-level errors and cache clearing.
  • Credential isolation and takeover: search tokens go to harness credentials, never YAML or logs; optionally route the built-in search and fetch through this plugin and restore the previous provider when disabled.

How to Use This Plugin?

After enabling it on the Plugins page of the DSH Web GUI, open Settings → Search Tools; the settings page appearing means both the host and browser halves are loaded. On the search tab, enter your SearXNG instance address and run the inline connection test; on the fetch tab, confirm the Readability fetch options; on the overview tab, enable takeover if you want the built-in web_search and web_fetch to use this plugin. Models can call web_research directly to get page text, and the diagnostics tab shows the version, config file path, runtime status and cache statistics. Note that internal network addresses are rejected by the harness SSRF protection, and the plugin does not execute page JavaScript.

How to Troubleshoot This Plugin?

When the search test fails, check the instance address and auth method in the settings page, confirm the SearXNG instance is reachable, and review the field-level error messages. If the built-in search points to a missing provider, takeover was likely still enabled when the plugin was removed; reinstall it or restore the previous search provider as described in the official instructions. If fetching fails, confirm the target is a public http(s) page, since internal addresses are blocked by SSRF protection; when text extraction fails, the raw page is returned instead.

This page is an independent rewrite of the plugin's official README — for authoritative documentation and the latest changes, refer to the source: thzxxart/dsh-search-tools. The plugin is third-party code that runs on your machine once installed; inclusion does not imply endorsement — please review the source before installing.

Install, update, and uninstall this plugin in the Plugin Market of DeepSeek Harness's DSH Plugin Hub

DSH Plugin FAQ