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.

Web Search Bocha — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

@bocha-ai/dsh-web-search-bocha

Web Search Bocha

Bocha-backed WebSearchProvider and installable profile bundle for DeepSeek Harness

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

npx -y @deepseek-ai/dsh plugin --profile web add @bocha-ai/dsh-web-search-bocha@0.1.0
READMECompatibilityVersions

Compatibility and provenance

Web Search Bocha is published as @bocha-ai/dsh-web-search-bocha and currently resolves to version 0.1.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
npm
Registry updated
9/20/2026

Versions

0.1.0stable
8/14/2026

Related plugins

Loading related plugins…

Latest
0.1.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
33.5 kB
Files
10
Surface
any
License
MIT
Source
npm
GitHub
★ 1
Weekly downloads
133
Security scan
✓ v0.1.0 scan passed
Last push
8/14/2026
View source ↗Project homepage ↗
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.

Browser Skill Dsh Plugin@wxg-prc-cpg/browser-skill-dsh-pluginDeepSeek Harness tool plugin that exposes BrowserSkill browser automation (browser_* tools) to the modelWeknora@wxg-prc-cpg/dsh-weknoraWeKnora knowledge retrieval tools for DeepSeek Harness (dsh): semantic search, document reading and RAG/agent answers over your own knowledge bases.Free Searchdsh-free-searchFree web search for DeepSeek Harness: 13 engines (Bing/DuckDuckGo/AnySearch/SearXNG/Exa/Tavily/Keenable/Firecrawl keyless; Parallel/Perplexity/SerpBase/DeepSeek with key) + time filtering + platform search + web_fetch, with web settings UI.Find Plugindsh-find-pluginFind DeepSeek Harness plugins inside the agent — live GitHub dsh-plugin topic search, ranked by stars.

README

@bocha-ai/dsh-web-search-bocha

English | 中文

A Bocha Web Search-backed WebSearchProvider and installable Profile bundle for DeepSeek Harness. The package registers provider id bocha, calls Bocha's POST /v1/web-search endpoint, and carries a dsh.bundle patch that selects the provider after installation.

The package supplies search only. DeepSeek Harness continues to own the model-facing web_search tool, result limits, citations, provider selection, and error presentation through its web capability.

Install

Install the bundle into a Profile:

dsh plugin --profile web add @bocha-ai/dsh-web-search-bocha

Optionally inspect the composed configuration; this prints it and exits:

dsh --profile web --dump-config

Start the Web app with:

dsh --profile web

Configure the API key with either option below. You do not need both.

Option 1: DSH credentials document

Store the key in $DSH_HOME/.credentials.yaml (normally ~/.dsh/.credentials.yaml):

BOCHA_API_KEY: your-api-key

On POSIX, the file must be owner-only:

chmod 600 ~/.dsh/.credentials.yaml

The plugin resolves this reference through the Harness credentials service for every search, so a stored key rotation applies to the next request without a restart.

Option 2: Environment variable

For CI, containers, or a per-run override, export the key before starting Harness:

export BOCHA_API_KEY='your-api-key'

If both options configure BOCHA_API_KEY, the inherited environment variable takes precedence over the managed credentials document.

Removing the package removes its provider row and bundle layer:

dsh plugin --profile web remove @bocha-ai/dsh-web-search-bocha

Bundle behavior

cordis.patch.yml replaces the base web row's complete config with searchProvider: bocha and inserts a web-search-bocha row that loads this package. Existing providers remain mounted, but ctx.web routes search to bocha. Profile, Harness-home, and command-line patch layers applied later can replace either row.

Config

KeyDefaultMeaning
apiKey—Optional literal Bocha API key. It is redacted from settings descriptions, but the credentials service is preferred so no plaintext key enters a Profile patch.
apiKeyEnvBOCHA_API_KEYCredential reference resolved through the Harness credentials service for every search.
baseURLhttps://api.bocha.cnAPI base; /v1/web-search is appended.
freshnessnoLimitTime filter sent on every search: noLimit, oneDay, oneWeek, oneMonth, oneYear, one date such as 2025-04-06, or a range such as 2025-01-01..2025-04-06.
summarytrueRequests Bocha's longer per-page summary.
count10Default count when the Harness request has no maxResults; integer from 1 through 50.

A later Profile patch can configure the inserted row without changing the package:

- id: web-search-bocha
  config:
    freshness: 2025-01-01..2025-04-06
    summary: true
    count: 10

Mapping and failures

The provider reads data.webPages.value[]. It maps url to WebSearchSource.url, name to title, summary to snippet with snippet as the fallback, and datePublished to publishedAt; an entry without a non-blank URL is dropped. Bocha does not return one generated answer for this endpoint, so WebSearchResult.content is omitted.

The request's maxResults overrides count and is capped at Bocha's maximum of 50 before the request is sent. The Harness web capability still enforces its own final source bound.

HTTP errors, provider-declared non-200 codes, network failures, and unprocessable response bodies surface as WebError WEB_PROVIDER_ERROR. Error messages retain Bocha's log_id when present. Abort-shaped failures surface as WEB_ABORTED, and redirects are rejected before their target is contacted.

The provider resolves the referenced credential at each search entry, so a key stored or rotated through the UI takes effect on the next request without restarting or re-registering the provider. A missing referenced credential surfaces as WEB_PROVIDER_CREDENTIAL_MISSING.

Development

Install development dependencies, run the keyless tests, build, and inspect the npm payload:

npm install
npm test
npm run build
npm pack --dry-run

Run the live smoke only when a Bocha key is available:

BOCHA_API_KEY='your-api-key' npm run test:e2e

Model Experience

Indirectly, through DeepSeek Harness dsh-tool-web, which renders this provider's bounded URLs, titles, summaries or snippets, and publication dates under the stable web_search tool contract.

KV Cache effect

No direct invalidation; the Harness tool consumer owns any request-prefix changes.

Known Limitations and Deferred Work

  • Current upstream DSH does not expose third-party search settings in its built-in Plugins UI — that card and the Host settings allowlist are internal to DSH. Configure this package through its Profile row and store BOCHA_API_KEY in the credentials document or launch environment; publishing this npm package does not require a patched DSH checkout.
  • Freshness is deployment configuration rather than a model-facing argument — every request from one mounted provider uses the same freshness value because the provider-neutral Harness request currently carries only query and maxResults.
  • Bocha-specific siteName and other media fields are omitted — the portable Harness source type has no site-name, image, or video fields.
  • One API call returns at most 50 sources — a larger Harness maxResults request is capped at Bocha's documented maximum before transport.