DeepSeek Harness plugin
August 23, 2026 · View on GitHub
dsh-freeweb is a native dsh bundle. It keeps dsh's built-in web_search tool
and citation cards, and replaces only the search provider behind them with a
three-engine keyless consensus fan-out (DuckDuckGo scraper + Startpage proxy +
Perplexity anonymous ask).
Compatibility
Uses exactly three stable surfaces, unchanged through @deepseek-ai/dsh 0.1.1-rc.2:
- npm bundles declare
dsh.bundle.patch(package.json→dsh.bundle.patch). - The web seam accepts
ctx.web.registerSearchProvider(...). - Provider selection reads the
webrow'ssearchProviderconfig.
Composition check (no model, no quota):
npx -y @deepseek-ai/dsh --version
npx -y @deepseek-ai/dsh --profile web --dump-config # expect searchProvider: freeweb
Install
npx -y @deepseek-ai/dsh plugin --profile web add dsh-freeweb@<version> # or a local path
# restart dsh
npx -y @deepseek-ai/dsh plugin --profile web list --depth 0
The bundle contributes two patch operations:
- Sets the web seam's
searchProvidertofreeweb. - Mounts the package root as the
freewebplugin.
Standalone smoke test
No harness needed — the orchestrator exports its search directly:
node test/integration.mjs "your query here"
Troubleshooting
| Symptom | Meaning | Fix |
|---|---|---|
all keyless engines failed | every engine bot-walled or offline this egress | retry later; or disable none / add a keyed provider for that network |
Only perplexity answering | DDG/Startpage challenged from your IP | expected on some datacenter IPs; consensus still returns results+answer |
web seam has no registerSearchProvider in log | surface moved in a newer dsh | check compatibility above |