bocha-ai/dsh-web-search-bocha
DeepSeek Harness Web Search Plugin
dsh-web-search-bocha is a Bocha Web Search-backed WebSearchProvider for DeepSeek Harness: the package registers provider id bocha, calls Bocha's /v1/web-search endpoint, and its dsh.bundle patch selects the provider after installation (cordis.patch.yml replaces the base web row's searchProvider with bocha and inserts the web-search-bocha row; existing providers remain mounted but ctx.web routes search to bocha). Harness continues to own the model-facing web_search tool, result limits, citations, provider selection and error presentation. Config covers apiKey/apiKeyEnv, baseURL, freshness (noLimit/oneDay/oneWeek/oneMonth/oneYear/date/range), summary and count; maxResults overrides count and is capped at Bocha's 50. Sources map url/name/summary/datePublished into the Harness source type; HTTP errors surface as WEB_PROVIDER_ERROR with Bocha's log_id retained, aborts as WEB_ABORTED, redirects are rejected, and a missing credential surfaces as WEB_PROVIDER_CREDENTIAL_MISSING.
Install
dsh plugin --profile web add @bocha-ai/dsh-web-search-bochanpm @bocha-ai/dsh-web-search-bocha 0.1.0 verified 2026-09-02 (repository field → github.com/bocha-ai/dsh-web-search-bocha; README bilingual EN/zh). Install: dsh plugin --profile web add @bocha-ai/dsh-web-search-bocha; optionally dsh --profile web --dump-config; start with dsh --profile web. Configure the key either in the DSH credentials document ($DSH_HOME/.credentials.yaml, chmod 600 on POSIX) or via the BOCHA_API_KEY environment variable (env wins if both). Removing the package removes its provider row and bundle layer.
Compatibility
DSH profile bundle registering provider id bocha; calls Bocha POST /v1/web-search; baseURL https://api.bocha.cn; needs a Bocha API key.
Details
- Repo: bocha-ai/dsh-web-search-bocha
- Category: Other
- Stars: 1
- Version: npm @bocha-ai/dsh-web-search-bocha 0.1.0
- Last push: 2026-08-14
- First seen: 2026-08-14
Recent updates
Bocha web-search provider (provider id bocha); automatic searchProvider selection on install; credentials-document or env key; freshness filter; source mapping; cap-50; clean error taxonomy.
FAQ
- Does the plugin replace Harness's web_search tool?
- No — the package supplies search only: DeepSeek Harness continues to own the model-facing web_search tool, result limits, citations and error presentation; ctx.web simply routes to the bocha provider.
- How is the API key stored?
- Either in the DSH credentials document (~/.dsh/.credentials.yaml, owner-only) referenced as BOCHA_API_KEY, or as an environment variable; the env value wins if both are set.
- What limits apply?
- The request's maxResults overrides count and is capped at Bocha's maximum of 50 before transport; Harness's web capability still enforces its own final source bound.
Alternatives
LTctfer/dsh-web-search-brave · nitrazepam01/dsh-web-search-tavily · TonyDua/dsh-web-search-exa