DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
W

dsh-web-search-9router

Web Search 9router

9router-backed web search + fetch providers for DeepSeek Harness (ctx.web). Wires the native web_search/web_fetch tools to 9router's /v1/search and /v1/web/fetch endpoints.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:rebron1900/dsh-web-search-9router#80d1798ef24e73f5c0cb4b571c7b6eb88406e2d6
READMECompatibilityVersions

Compatibility and provenance

Web Search 9router is published as dsh-web-search-9router and currently resolves to version 0.2.4. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
10/19/2026

Versions

0.2.4stable
10/19/2026
0.2.3stable
10/1/2026
0.2.2stable
9/29/2026
Show 1 more versionCollapse versions
0.1.1stable
9/19/2026

Related plugins

Loading related plugins…

Latest
0.2.4
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
10/19/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in search-research.

Arisdsh-arisARIS research-workflow skills as a DeepSeek Harness bundle: 82 skills plus cross-model adversarial review through Codex.Dejadsh-dejadeja-vu memory for DeepSeek Harness: the session history of forty-two other coding agents, searchable and recalled before each step — a local index, no LLM.Builtin Browserdsh-builtin-browserShared real browser plugin for DeepSeek Harness: install-and-use — a visible native browser the human can take over, driven by the agent over CDP. DOM-level interaction (React/Vue safe), per-task session isolation, cookie persistence (dsh_browser_auth), CBailian Kb Dshbailian-kb-dshBailian knowledge-base tools for DeepSeek Harness: kb_search and kb_chat over the DashScope RAG API, plus the bl CLI management skill.

README

🌐 dsh-web-search-9router

Web search & fetch for DeepSeek Harness, powered by 9router. Wires the native web_search and web_fetch tools into 9router's /v1/search and /v1/web/fetch endpoints — no server-side search tool required.

🇺🇸 English · 🇨🇳 简体中文


✨ What it does

  • 🔎 Search provider — routes DSH's native web_search through 9router's /v1/search, returning deduplicated WebSource results (title, snippet, published date).
  • 📄 Fetch provider — routes DSH's native web_fetch through 9router's /v1/web/fetch, returning clean text/markdown bodies.
  • 🎛️ Bundle settings — configure the API key, base URL, models, and limits directly on the plugin's bundle detail page.
  • 🔐 Credentials-aware — stores API keys through DSH's credentials service and resolves the configured credential reference (NINE_ROUTER_API_KEY by default).
  • 🧱 Zero build — pure ESM, plain JavaScript, no bundler required.

🧭 Why this plugin

DSH's default web_search uses the web-search-deepseek provider, which requires the upstream service to implement Anthropic's web_search_20250305 server-side search tool and return web_search_tool_result blocks.

9router is an OpenAI-compatible gateway: it passes that tool definition to the model as a regular function instead of executing searches server-side — so it cannot provide native search by itself.

web-search-deepseek (default)9router (this plugin)
RequiresAnthropic web_search_20250305 server-side toolAny 9router-compatible gateway
Works with 9router❌✅
Search endpointmodel-providedPOST /v1/search
Fetch endpointmodel-providedPOST /v1/web/fetch

This plugin calls 9router's own endpoints directly and maps their responses to the WebSource and WebFetchBody types expected by the DSH web seam.

⚙️ How it works

 web_search / web_fetch (native DSH tools)
            │
            ▼
        ctx.web seam
            │  provider = "9router"
            ▼
  dsh-web-search-9router
   ├── search  → POST {baseURL}/search      → WebSource[]
   └── fetch   → POST {baseURL}/web/fetch   → WebFetchBody
            │
            ▼
      9router gateway (9router)

Errors surface as machine-routable WebError codes (WEB_PROVIDER_ERROR, WEB_PROVIDER_CREDENTIAL_MISSING, WEB_ABORTED), and non-2xx fetch responses come back as results — never silent throws.

🚀 Quick start

Requirements: DSH >=0.2.0-rc.2 and Node.js 20 or later.

1. Install the plugin

npx @deepseek-ai/dsh plugin --profile web add github:rebron1900/dsh-web-search-9router

2. Enable the plugin bundle

Installing and enabling the bundle automatically selects 9router for both search and fetch. Disable the whole bundle in Plugins to restore the providers selected by the remaining configuration layers (normally deepseek-official and http).

If you previously selected providers explicitly in your profile, home configuration, or launch overrides, those higher-priority choices still win. Remove the old id: web provider config override to let bundle enablement control selection.

3. Configure the plugin

Restart DSH and refresh the browser. Open Plugins, select dsh-web-search-9router, and configure it directly on the bundle detail page. Entering an API key stores it in DSH credentials under the selected credential reference; the key is never written to plugin settings.

🔒 Reproducible installs — append a release tag to pin an exact version:

npx @deepseek-ai/dsh plugin --profile web add github:rebron1900/dsh-web-search-9router#v0.2.4

🛠️ Configuration

KeyTypeDefaultDescription
baseURLstring9router default endpointBase URL of your 9router-compatible API (NINE_ROUTER_BASE_URL env also honored)
searchModelstringsearch-comboModel name for the search endpoint
fetchModelstringfetch-comboModel name for the fetch endpoint
searchTypestringwebsearch_type sent to the search endpoint
maxResultsnumber8Max sources per search
timeoutMsnumber30000Per-request timeout
API keycredential—Write-only field stored by the DSH credentials service, not in plugin settings
apiKeyEnvcredential-refNINE_ROUTER_API_KEYCredential reference used to store and resolve the API key

🧪 Development

pnpm install   # install dependencies
pnpm test      # run the test suite (node:test)

Repository layout

dsh-web-search-9router/
├── src/index.js       # plugin entry: search + fetch providers
├── client.js          # bundle detail settings form
├── cordis.patch.yml   # bundle patch registering the plugin
├── test/              # node --test suite
└── package.json       # ESM plugin manifest

🌱 Ecosystem & releases

  • 📦 Distribution — the GitHub repository is the only distribution source; stable versions ship as v<version> GitHub Releases.
  • 📚 Directory — listed in awesome-dsh-plugin.
  • 🐛 Issues & requests — open an issue.

📄 License

MIT