Maintained fork of godchen520/dsh-web-search-bing adapted to DSH 0.1.5-rc.1: Bing-backed provider for the built-in web_search tool, scraping the public cn.bing.com HTML results page with no API key, reachable from mainland China, and keeping searches off the model's own search quota. Endpoint and result count configurable.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-bing-search
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:whiteS18/dsh-bing-search
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
Free Bing-backed web search provider for DeepSeek Harness (DSH). No API key needed, no search quota consumed.
This is a maintenance fork of godchen520/dsh-web-search-bing, compatible with DSH
>=0.1.5-rc.1 <0.3.0(including0.2.0-rc.1). The package isdsh-bing-searchbecausedsh-web-search-bingis taken on npm anddsh-websearch-bingwas rejected as too similar.
Features
- Completely Free — Uses Bing's public HTML search page, no API key required
- China Accessible — Defaults to
cn.bing.com, works in mainland China - Zero Quota — Doesn't consume DeepSeek or any LLM search quota
- Plug & Play — Switches
web_searchtobing-freeafter install - Configurable — Switch endpoints, language, and result count
Installation
npm:
dsh plugin --profile desktop add dsh-bing-search
GitHub:
dsh plugin --profile desktop add github:whiteS18/dsh-bing-search
Use web instead of desktop for the web profile. Restart DSH after install.
Or install by hand in the profile directory:
cd $DSH_HOME/profiles/desktop # usually ~/.dsh/profiles/desktop for the desktop app
pnpm add dsh-bing-search
Then add "dsh-bing-search" to dsh.profile.bundles (after @deepseek-ai/dsh-web-app) and restart DSH.
Note: the directory name under node_modules must equal package.json name. Do not link this package as dsh-web-search-bing, or the desktop app will fail with profile package identity is invalid.
Configuration
The configuration UI depends on the DSH version:
- DSH >= 0.1.6: the plugin detail page under Settings → Plugins provides a config form (endpoint URL, parse limit, result language). Saving takes effect immediately — all three fields are volatile and hot-reloaded, no restart needed.
- DSH <= 0.1.5: the plugin auto-generates a settings section via
settings.installSection. You can also edit~/.dsh/settings.yamldirectly (hot-reloaded):
bing-search:
endpoint: https://cn.bing.com/search
maxResults: 20
ensearch: 0
Or override in the profile cordis.patch.yml and restart:
- id: bing-search
config:
endpoint: https://cn.bing.com/search
maxResults: 15
ensearch: 0
| Option | Default | Description |
|---|---|---|
endpoint |
https://cn.bing.com/search |
Search endpoint (must be a valid URL, otherwise the provider reports unavailable) |
maxResults |
20 |
Max results parsed per search (positive integer, min 1) |
ensearch |
0 |
0 = Chinese results, 1 = English |
The Web Search card under Settings → Plugins → Plugin configuration belongs to official web-search-deepseek, not this plugin.
How to confirm Bing is in use
Temporarily set endpoint to an invalid URL and search again. If the error names bing-search and the endpoint you set, this provider handled the request. Restore the endpoint afterwards.
Errors are WebErrors (code WEB_PROVIDER_ERROR / WEB_ABORTED) whose messages include recovery guidance. If the error mentions a captcha/anti-bot gate, Bing has triggered human verification — retry later or temporarily switch back to the official search.
Restoring the default search
This plugin switches the web row's searchProvider to bing-free (the provider id). To restore: change searchProvider in this plugin's patch back to deepseek-official (or remove this package from bundles) and restart.
[!WARNING] The bundled
cordis.patch.ymlreplaces the wholewebrow, so it must restatefetchProvider: http. If you customize the patch and only writesearchProviderwithoutfetchProvider, you will lose the default fetch configuration.
How It Works
Queries cn.bing.com/search (with a desktop Chrome UA and accept-language: zh-CN) → parses HTML result blocks (<li class="b_algo">, deduplicating URLs, decoding entities, dropping non-http(s) links) → extracts title/URL/snippet → returns to DSH's web_search tool.
License
Links
More in this category
Tencent/BrowserSkill#dsh-plugin-browserskill★ 9785
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★ 941
Chrome sidebar extension that lets DSH operate your browser directly, no vision capabilities required.
liustack/modsearch★ 875
Web search bridge for text-only agents: ask the web or X, get structured JSON evidence (search, fetch, citations).
DDDMUC/dsh-free-search★ 742
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.
Fisfzy/dsh-ego-browser★ 358
Drive a real Chrome/Chromium browser from DeepSeek Harness with 35 structured tools for navigation, snapshots, clicks, forms, JavaScript/CDP, screenshots, downloads and tabs; a live sidebar mirrors the page and accepts mouse and keyboard input. It ships a managed CDP runtime, keeps login state across calls, and can import cookies from your everyday Chrome through a companion extension.
wqty123/dsh-browser★ 154
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.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.