DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

zeroUsr0721 /

zeroUsr0721/dsh-web-polysearch

Verified

Multi-source web search tool for DeepSeek Harness — queries DeepSeek / DuckDuckGo / Exa / Google / Bing in parallel, merges results, fetches page content. Part of the [dsh-plugin](https://github.com/topics/dsh-plugin) ecosystem.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@f0b56f07

dsh-web-polysearch

English · 中文

License: MIT DSH plugin

Multi-source web search tool for DeepSeek Harness (DSH).

Queries several search backends in parallel — DeepSeek, DuckDuckGo, Exa, Google, Bing — merges and deduplicates results, and returns a structured answer. Also fetches the full content of a single URL on demand.

Part of the DSH plugin ecosystem. Discovered via the dsh-plugin GitHub topic.

Features

  • Parallel multi-engine search — all enabled backends are queried at once via Promise.allSettled; results are merged and deduplicated by URL
  • Five built-in backends:
    • DeepSeek — uses the DSH built-in web service (no key)
    • DuckDuckGo — scrapes html.duckduckgo.com (no key)
    • Exa — connects directly to the keyless MCP endpoint at https://mcp.exa.ai/mcp (no key)
    • Google Custom Search — requires API Key + Search Engine ID
    • Bing Web Search — requires Azure API Key
  • Direct page fetch — pass url instead of query to fetch a single page's full content
  • Optional content fetching — when fetchContent is on, the top results' body text is fetched in parallel
  • Bilingual settings UI — Chinese and English, registered with the DSH locale service
  • SSE parsing — handles MCP responses in plain JSON and SSE-framed formats

Installation

The plugin is distributed via GitHub. There is no npm release at the moment.

From GitHub (recommended)

dsh plugin --profile web add github:zeroUsr0721/dsh-web-polysearch

dsh plugin forwards the spec to pnpm, which downloads a tarball from GitHub and installs it into the profile. Built artifacts (lib/index.js, lib/client.js) are committed to this repository, so no prepare build step runs at install time and no pnpm-workspace.yaml allow-list is required.

From a local checkout (development)

git clone https://github.com/zeroUsr0721/dsh-web-polysearch.git
dsh plugin --profile web add ./dsh-web-polysearch

pnpm links the checkout via link:, so edits in the source tree take effect after a restart.

Manual edit

Add to your profile's package.json:

{
  "dependencies": {
    "dsh-web-polysearch": "github:zeroUsr0721/dsh-web-polysearch"
  }
}

Then run pnpm install in the profile directory. Add "dsh-web-polysearch" to dsh.profile.bundles if it is not picked up automatically.

Via dshmarket

Once the plugin is admitted to the awesome-dsh-plugin curated registry, it will appear in Settings → Plugins → Plugin Market in the DSH Web GUI for one-click install.

Configuration

Open Settings → Plugins → Web Search Settings in the DSH Web GUI.

Setting Description Default
sources Enabled backends (order matters for merge priority) All five
maxResults Max results returned per call 8
fetchContent Whether to fetch body text for top results false
fetchCount How many top results to fetch body for (1–5) 3
googleApiKey Google Custom Search API Key —
googleCx Google Custom Search Engine ID —
bingApiKey Bing Web Search API Key —

Tool: dsh-web-polysearch

Parameters

Parameter Type Required Description
query string one of query / url Search keywords
url string one of query / url URL whose body to fetch directly
maxResults integer no Max results (default: settings value)
fetchContent boolean no Fetch body text for top results (default: settings value)

The tool always uses the backends configured in the settings page — the model cannot override the source list at call time.

Output

{
  "summary": "Found 5 results (sources: exa, duckduckgo).",
  "sources": [
    { "url": "https://...", "title": "...", "snippet": "...", "source": "exa" }
  ],
  "sourceErrors": [
    { "source": "duckduckgo", "error": "fetch failed" }
  ],
  "searchedSources": ["exa", "duckduckgo"]
}

Examples

Search across all configured backends:

{ "query": "DeepSeek Harness plugins", "maxResults": 10 }

Fetch a specific page's content directly:

{ "url": "https://github.com/topics/dsh-plugin" }

Architecture

  • Host side (src/index.ts) — registers the dsh-web-polysearch tool, implements each search backend, parses MCP/SSE responses, fetches page content
  • Client side (src/client/index.ts) — the Web Search Settings UI: collapsible cards, toggle switches, secret inputs, i18n

The two halves ship as separate bundles (lib/index.js + lib/client.js) and are loaded by the DSH host and browser shell respectively.

Building from source

pnpm install
pnpm run build

Build output: lib/index.js (host) + lib/client.js (client).

Ecosystem

This repository carries the dsh-plugin GitHub topic. Adding the topic to your own plugin repository is the standard way to make a plugin discoverable by:

  • The awesome-dsh-plugin directory and its mirror sites
  • The community-maintained ecosystem indexes
  • Other tooling that consumes the topic as a discovery signal

License

MIT

—/ 5

No ratings yet

Verified DSH bundle

Commit f0b56f07babd

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout