dsh-web-search-searxng
DiscoveredSearXNG-backed search provider plugin for DeepSeek Harness (ctx.web) — no auth, no API key
dsh-web-search-searxng
SearXNG-backed search provider plugin for DeepSeek Harness.
Registers a WebSearchProvider into ctx.web so that the existing web_search model tool routes through your SearXNG instance. No auth, no API key, no model calls — just a plain HTTP GET against SearXNG's JSON endpoint.
Install
npm install @jaco-tech/dsh-web-search-searxng
Configure
1. Install the package
npm install @jaco-tech/dsh-web-search-searxng
2. Add it to your DSH profile
Edit ~/.dsh/profiles/web/cordis.patch.yml (create it if it doesn't exist) and add:
- insert:
- id: web-search-searxng
name: '@jaco-tech/dsh-web-search-searxng'
config:
# Required: point at your SearXNG instance
baseURL: 'http://your-searxng-instance:8888'
# Optional filters:
language: 'en'
categories: 'general'
timeRange: ''
If you have multiple search providers registered, pin ctx.web to use this one:
- replace:
- id: web
config:
searchProvider: searxng
3. Restart DSH
Stop your running dsh process and start it again:
npx @deepseek-ai/dsh web
The plugin will be loaded automatically. The web_search tool in your agent will now use your SearXNG instance.
4. (Optional) Configure via the Web UI
Once DSH is running, go to Settings → Plugins in the Web UI. You'll see a "web-search-searxng" card where you can edit the baseURL and filter settings without editing YAML files.
How it works
This is a Cordis plugin that implements the WebSearchProvider interface from @deepseek-ai/dsh-web:
export const name = "web-search-searxng"
export const inject = ["web"]
export function apply(ctx, config) {
ctx.web.registerSearchProvider({
id: "searxng",
available() { /* URL.canParse(config.baseURL) */ },
async search(request, signal) {
// GET /search?q=<query>&format=json
// maps response to WebSearchResult
}
})
}
The existing @deepseek-ai/dsh-tool-web consumer calls ctx.web.search() — your SearXNG instance serves the results automatically.
Provider interface
| Method | Behavior |
|---|---|
available() | Returns true when baseURL is a valid URL |
search(request, signal?) | GET /search with q, format=json, optional language/categories/time_range params. Dedupes results by URL. Surfaces answers and infoboxes as provider-generated answer text. |
Upstream
This plugin communicates with SearXNG via its JSON API (/search?format=json). SearXNG is a free internet metasearch engine which aggregates results from more than 70 search services. You need a running SearXNG instance to use this plugin.
Release process
# Tag and push — the CI workflow builds and publishes to npm automatically
git tag v0.1.0
git push origin v0.1.0
Requires the NPM_TOKEN secret to be set in the repository.
Development
npm install
npm run build
License
MIT
Comments
Loading…
Similar plugins
by rogerdigital
DeepSeek Harness (dsh) plugin that adds a SearXNG-backed web_search provider to the ctx.web seam — free, self-hosted, key-less search instead of paid Exa/Perplexity APIs.
★ 7
↓ 449/wk
MIT
TypeScript
Sep 21, 2026
dsh plugin --profile web add dsh-searxngby maxwell-feng
DeepSeek Harness plugin: back the native web_search / web_fetch tools with your self-hosted SearXNG instance — keyless, private, no third-party search vendor.
★ 7
↓ 144/wk
MIT
TypeScript
Sep 13, 2026
dsh plugin --profile web add dsh-searxng-webby acdcgz
SearXNG-backed WebSearchProvider for DeepSeek Harness (ctx.web) — self-hosted, zero per-search model cost, multi-engine aggregation
★ 6
MIT
JavaScript
Aug 15, 2026
dsh plugin --profile web add @deepseek-ai/dsh-web-search-searxngby kkgace
Self-hosted SearXNG web search provider for DeepSeek Harness (dsh). No API key or vendor account.
★ 0
MIT
JavaScript
Sep 17, 2026
dsh plugin --profile web add dsh-web-searxng-searchby d3cker
A standalone SearXNG-backed web search provider for the DeepSeek Harness web profile. It plugs into the harness's web-search seam (ctx.web), so the agent's web_search tool searches through your own se
★ 4
↓ 831/wk
MIT
JavaScript
Aug 14, 2026
dsh plugin --profile web add dsh-web-search-searxngSearXNG search and Scrapling multi-tier fetch provider bundle for DeepSeek Harness ctx.web with SSRF protection and markdown conversion.
★ 0
dsh plugin --profile web add dsh-webstack