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.
Install
# from npm (prebuilt)
dsh plugin --profile web add @lp181818/web-search-advanced
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:bug-huntter/web-search-advanced
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
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) orcustom(OpenAI-compatible, e.g. OpenRouter) - Settings section: provider choice, endpoint URL, model, API key, max searches
- Two search backends: native DeepSeek
web_search_20250305or 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-Afterheader (configurablemaxRetries, default 3) - Test before save (v0.1.4): the settings card probes the configured
endpoint (
/chat/completionsfor Custom,/messagesfor 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: deepseekuses this plugin's DeepSeek branch.searchProvider: customuses the configured OpenAI-compatiblebaseURL/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 halflib/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.
Links
More in this category
Tencent/BrowserSkill#dsh-plugin-browserskill★ 9229
BrowserSkill bridge for controlling visible Chrome and Edge Agent Windows from DeepSeek Harness, with native browser tools, accessibility and VOM observations, screenshots, owned multi-session control, and a live Web UI overlay.
omdsh-dev/dsh-browser#packages/browser/bridge-browser★ 857
Chrome sidebar extension that lets DSH operate your browser directly, no vision capabilities required.
liustack/modsearch★ 769
Web search bridge for text-only agents: ask the web or X, get structured JSON evidence (search, fetch, citations).
DDDMUC/dsh-free-search★ 505
Free, keyless web search for DSH: 7 engines (DuckDuckGo/Bing/SearXNG free + Exa/Perplexity/DeepSeek paid), auto-failover, settings-page UI with API key inputs and official links, web_fetch, and an engine test tool.
wqty123/dsh-browser★ 126
Shared real browser for DSH: a native Electron window the human can watch and take over, driven by the agent over CDP with 20 browser_* tools (open/snapshot/execute/fill/screenshot/download/auth), per-task session isolation, cookie persistence, CAPTCHA detection; self-hosts on plain dsh web without a desktop shell.
Tabbit-Browser/dsh-tabbit★ 112
Gives DeepSeek Harness control of the Tabbit Browser: auto-loads the tabbit-browser skill on install, detects official Tabbit and Tabbit Browser releases (>= 1.9.0), checks the tabbit-cli persistent runtime, diagnoses the per-platform DSH sandbox mode needed to call the CLI, and downloads the region-matched official installer via a background job when no qualifying version is present.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.