Skip to content
dsh-market Browse plugins GitHub 中文

bug-huntter/web-search-advanced

Switchable web-search provider for DSH: native DeepSeek web search or an OpenAI-compatible custom backend. Installation automatically routes DSH web searches to the plugin; only provider, API key and model are required. Published on npm as @lp181818/web-search-advanced@0.1.3.

Stars ★ 0 Category Browser & Web Listed 2026-09-05 npm @lp181818/web-search-advanced

Install

Inside DeepSeek Harness, with dsh-market

dsh plugin --profile web add dshmarket

Or from the command line

dsh plugin --profile web add @lp181818/web-search-advanced

Installing runs third-party code with your own permissions — it can read your files, use your credentials and reach the network. Review the source first, and pin a commit (github:owner/repo#sha) when you can.

README

Advanced web search plugin for DeepSeek Harness (DSH), supporting both native DeepSeek search and OpenAI-compatible "Custom" search providers.

Features

  • Provider selector: deepseek (native) or custom (OpenAI-compatible, e.g. OpenRouter)
  • Settings section: provider choice, endpoint URL, model, API key, max searches
  • Two search backends: native DeepSeek web_search_20250305 or an OpenAI-compatible web plugin
  • Automatic retry (v0.1.4): transient failures (HTTP 429 / 5xx / network errors) are retried with exponential backoff, honoring the server Retry-After header (configurable maxRetries, default 3)
  • Test before save (v0.1.4): the settings card probes the configured endpoint (/chat/completions for Custom, /messages for DeepSeek) with the current draft values before saving; real config errors (bad endpoint/model/key) block the save, transient 429/5xx only warn

DSH compatibility

DSH version Compatibility
0.1.7-rc.2 Verified on this machine: host half exports a Config schema with .volatile() fields; browser half binds the settings form through the configForms service
0.1.2-rc.1 and current 0.1.2 rc Still uses the legacy settings.register/settingsScope API; theoretically compatible, verify before claiming
0.1.0-rc.7 through pre-0.1.2-alpha Uses the shared settings.register/installSection service API; theoretically compatible
before 0.1.0-rc.7 / 0.0.x Not supported; those DSH versions lack the settings/section mechanism

The current source no longer imports the removed settingsNamespace, installSettingsSection, or @deepseek-ai/dsh-client-runtime APIs. Since v0.2.0 it also no longer uses the settings.register / settingsScope APIs removed in DSH 0.1.7-rc.2; the settings namespace is the plugin's exported Config schema (entry id web-search-advanced), and saving hot-reloads the plugin fiber with the fresh config.

Enabling this provider in DSH

Installing this package automatically routes the DSH web service to web-search-advanced; no manual cordis.patch.yml edit is required. After installation, restart dsh web and configure the package in the Web Search settings section.

Only the provider, API key, and model are required. The endpoint is optional: DeepSeek uses https://api.deepseek.com/anthropic/v1, while Custom uses https://openrouter.ai/api/v1 when the endpoint is left blank. Inside the web-search-advanced settings namespace:

  • searchProvider: deepseek uses this plugin's DeepSeek branch.
  • searchProvider: custom uses the configured OpenAI-compatible baseURL / model, for example OpenRouter.
  • maxRetries: 3 (optional) — exponential-backoff retries for transient failures (429 / 5xx / network), default 3.

Settings persist in ~/.dsh/settings.yaml under the web-search-advanced namespace and survive DSH restarts until deleted.

The package patch also selects the built-in http fetch provider so search results can be opened without an additional profile change.

Build

This repository includes the prebuilt lib/ artifacts required by DSH skill hub validation. Direct GitHub installs also have a prepare script that can rebuild them.

DSH resolves @deepseek-ai/* packages as runtime peers, so local installs should not make npm resolve them:

npm install --legacy-peer-deps
npm run build

Build output:

  • lib/index.js - DSH host/plugin half
  • lib/client.js - DSH web client bundle

After a build, sync into an installed DSH profile:

npm run sync

If no profile has the package installed yet, install it first:

dsh plugin --profile web add github:bug-huntter/web-search-advanced

Then restart DSH and apply the profile patch:

dsh web

The plugin registers its provider through ctx.web, registers the web-search-advanced settings namespace, and exposes that namespace to the web client through the configurable-provider registry.

Content from the project README on GitHub ↗

Comments

Comments live in GitHub Discussions. Sign in with GitHub to post or react.