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
P

dsh-plugin-nuaa-search

Plugin Nuaa Search

DSH keyless web search plugin: registers the local-search provider with ctx.web, retrieves real results from Bing Chinese, 360, and SearXNG through a fallback chain, and replaces the official DeepSeek web_search without requiring any API key. Intended for environments such as campus networks where t

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

npx -y @deepseek-ai/dsh plugin --profile web add github:Oxygen640/dsh-plugin-nuaa-search#6dbc7b15bd544f7daf784922874536ea4278c586
READMECompatibilityVersions

Description

DSH keyless web search plugin: registers the local-search provider with ctx.web, retrieves real results from Bing Chinese, 360, and SearXNG through a fallback chain, and replaces the official DeepSeek web_search without requiring any API key. Intended for environments such as campus networks where the official key is unavailable.

Compatibility and provenance

Plugin Nuaa Search is published as dsh-plugin-nuaa-search and currently resolves to version 0.1.2. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
github
Registry updated
10/25/2026

Versions

0.1.2stable
10/25/2026
0.1.1stable
10/25/2026
0.1.0stable
10/24/2026

Related plugins

Loading related plugins…

Latest
0.1.2
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
any
License
MIT
Source
github
GitHub
★ 1
Weekly downloads
0
Last push
10/25/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.

Free Searchdsh-free-searchFree web search for DeepSeek Harness: 27 engines (Bing/DuckDuckGo/AnySearch/SearXNG/Exa/Tavily/Keenable/Firecrawl/Parallel/You.com keyless; Zhihu global/site via MCP and Perplexity/SerpBase/DeepSeek (official + native tools/search)/Baidu/Kimi/Aliyun/DoubaAb Wechat Scrapedsh-ab-wechat-scrape--- description: "The out-of-tree wechat_scrape tool: retrieves WeChat official-account articles, filters promotional blocks, and saves each as a Markdown file, for maintainers of this machine's dsh profiles." kind: "package-reference" ---Ab Market Researchdsh-ab-market-researchAn out-of-tree DeepSeek Harness plugin: the trade_search tool (multi-round aspect-broadening query planning, publisher-tier ranking, source diversity, JSON snapshot) and its browser card in one package.Arisdsh-arisARIS research-workflow skills as a DeepSeek Harness bundle: 82 skills plus cross-model adversarial review through Codex.

README

dsh-plugin-nuaa-search

A zero-key web search provider for DeepSeek Harness's built-in web_search tool.

It registers a search provider (local-search) into the harness's ctx.web seam and answers queries by scraping real search engines — no official DeepSeek API key, no third-party search API key, no settings card.

中文说明见 README.zh.md。

Third-party community plugin, not affiliated with Nanjing University of Aeronautics and Astronautics. The nuaa in the name only helps students find it in the market; the plugin itself is network-agnostic.

Why

@deepseek-ai/dsh-web-search-deepseek sends every search to DeepSeek's official Anthropic-compatible endpoint, which needs an official API key. On a network or plan where that key is unavailable (for example a mainland-China campus gateway that only serves an OpenAI-compatible endpoint), web_search fails. This plugin replaces the provider instead of the endpoint: it implements the harness's own WebSearchProvider interface and fetches results itself.

Install

This package is not published to npm (npm signup was unavailable for the author), so install it from the market or from a prebuilt release tarball — do not run dsh plugin add <package-name>, there is no registry entry behind that name.

From the market (easiest): open DSH → Settings → Plugins, search nuaa, and install. Listing: https://awesome-dsh-plugin.com/p/Oxygen640/dsh-plugin-nuaa-search/

From the prebuilt tarball:

dsh plugin --profile desktop add "https://github.com/Oxygen640/dsh-plugin-nuaa-search/releases/latest/download/dsh-plugin-nuaa-search.tgz"

From source:

dsh plugin --profile desktop add github:Oxygen640/dsh-plugin-nuaa-search

Restart the harness. The bundle patch points web.searchProvider at local-search and disables the official web-search-deepseek row (re-enable it in your profile's cordis.patch.yml if you want it back).

Backends

auto (default) = bing → so360 → searxng: the first backend that returns results wins, so a blocked or broken engine costs one timeout, not the whole search.

Query variants. Chinese long-tail queries break Bing's ranking: 南京航空航天大学图书馆 returns the official library pages, while 南京航空航天大学图书馆 预约座位 returns generic "南京市" pages instead. So each search also runs a second variant with trailing intent words (开放时间, 预约座位, 几点, 怎么…, 地址, …) stripped, and keeps whichever result set is more relevant to the entity phrase (longest-common-substring coverage; ties keep the original query so ordinary searches are unaffected). Measured on the failing case: 1/8 → 7/8 results from nuaa.edu.cn. Turn it off with stripIntent: false.

BackendStatusNotes
bingdefault, ~270msBing China HTML: direct URLs, snippets, publish dates
so360fallback360 Search HTML: direct URLs
searxngneeds your instanceJSON API; the instance must enable format=json
baiduoften blockedreturns [] when the anti-bot page appears, never the challenge page

Config

Passed as the row config in cordis.patch.yml, or via environment variables as fallback.

KeyDefaultMeaning
backendautoone backend or a chain ("bing,so360")
maxResults8cap; the caller's request.maxResults is also honored
deadlineMs20000internal deadline — returns what it has instead of hanging
backendTimeoutMs8000per-backend timeout
searxngUrl—instance base URL
userAgentChrome 126 UAuser agent used for scraping
logtrueone summary line per search in the host log
stripIntenttruealso search the entity phrase with trailing intent words stripped

Environment fallbacks: SEARCH_BACKEND, SEARCH_MAX_RESULTS, SEARCH_DEADLINE_MS, SEARXNG_URL, SEARCH_USER_AGENT.

Test

node --test test/provider.test.mjs

17 tests: backend-chain and config logic, the provider contract, query-variant relevance, live network searches, maxResults, deadline, cancellation (including an already-aborted signal), and query length normalization.

Releasing a new version

No registry is involved, so a release is: bump version in package.json, then build and attach the tarball under the same asset name so the latest/download/ URL keeps working.

npm pack --pack-destination release
ren release\dsh-plugin-nuaa-search-0.1.2.tgz dsh-plugin-nuaa-search.tgz

Then publish a GitHub release and attach dsh-plugin-nuaa-search.tgz.

Limitations

  • HTML scraping: a Bing markup change needs a parser update (switch backend to so360 meanwhile).
  • Bing ranks multi-token Chinese queries badly. It handles a clean entity name (南航图书馆, 南京航空航天大学图书馆) well, but degrades toward generic city pages when extra qualifiers pile up — 南京航空航天大学将军路校区图书馆 already returns "南京市". The query-variant fix covers the common "entity + intent word" shape, not this one.
  • site: queries are not supported by the HTML endpoint and are passed through as plain text.
  • Relevance is the search engine's; results are passed through, not rewritten or summarized.
  • publishedAt is only set when a date is readable at the start of the snippet — never invented.
  • One query per call, no pagination.
  • Queries are truncated to 200 characters, which is where search engines stop honoring them anyway.

License

MIT