DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Searxng — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

dsh-searxng

Searxng

由 SearXNG 支持的 DeepSeek Harness Web 能力接口(ctx.web)搜索提供程序

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:rogerdigital/dsh-searxng#1994c4d6c444b1077ea6abc434e1d1caacf4469f
README兼容性版本

兼容性与来源证明

Searxng 以 dsh-searxng 发布,当前版本为 0.4.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/9/20

版本

0.4.0stable
2026/9/13
0.3.0stable
2026/9/3
0.2.1stable
2026/8/31
查看其余 4 个版本收起版本
0.2.0stable
2026/8/31
0.1.2stable
2026/8/30
0.1.1stable
2026/8/18
0.1.0stable
2026/8/16

相关插件

正在加载相关插件…

最新版
0.4.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 7
周下载
471
最近提交
2026/9/20
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 search-research 分类下经过校验的插件。

Weknora@wxg-prc-cpg/dsh-weknora适用于 DeepSeek Harness (dsh) 的 WeKnora 知识检索工具:通过自有知识库进行语义搜索、文档阅读以及 RAG/代理回答。Free Searchdsh-free-searchDeepSeek Harness 的免费网页搜索:13 个引擎(Bing/DuckDuckGo/AnySearch/SearXNG/Exa/Tavily/Keenable/Firecrawl 无需密钥;Parallel/Perplexity/SerpBase/DeepSeek 需要密钥),支持时间筛选、平台搜索和 web_fetch,并提供网页设置界面。Find Plugindsh-find-plugin在代理中查找 DeepSeek Harness 插件——实时搜索 GitHub 上的 dsh-plugin 主题,并按星标数排序。Mimirdsh-mimir用于 DeepSeek Harness 的研究助手插件套件(文献搜索、研究维基、LaTeX 编译、独立子代理审阅)

README

dsh-searxng

A DeepSeek Harness (dsh) plugin that registers a SearXNG-backed search provider into the web capability seam (ctx.web), giving your agent web_search through a free, self-hosted, key-less metasearch instance — instead of the paid Exa/Perplexity APIs.

Quick start

Requirements: Node.js 20 or newer, dsh, Docker Engine or Docker Desktop, and Docker Compose v2.

The setup command installs and attaches dsh-searxng to the selected profile, so no separate plugin-install step is required.

npx dsh-searxng setup
dsh --profile web

setup creates a loopback-only, pinned SearXNG Docker deployment, waits for the JSON API, runs a real search through both SearXNG and the final DSH provider configuration, and only then activates the profile. Repeating the command reuses the same owned container, port, configuration, and secret.

Use another DSH profile or port when needed:

npx dsh-searxng setup --profile research --port 9080
dsh --profile research

Package installation and DSH plugin activation never start Docker. Docker is changed only by an explicit dsh-searxng setup or dsh-searxng remove --service command.

Existing SearXNG

An existing local, remote, authenticated, or independently managed SearXNG instance is a first-class path:

npx dsh-searxng setup --profile web --url https://search.example.com

The endpoint must be HTTP(S), contain no credentials, query, or fragment, and enable JSON search. Existing provider options such as authHeader, language, engines, and categories in the DSH profile are preserved and used by validation. External mode never invokes Docker.

Manual plugin installation

If you manage the DSH profile patch yourself and do not want the setup command to attach it, install only the plugin package:

dsh plugin add dsh-searxng

With a named profile, use dsh plugin --profile <name> add dsh-searxng.

Operations

# Fast health result; stops at the first failure.
npx dsh-searxng status --profile web

# Ordered environment, Docker, ownership, HTTP, JSON, search, profile, and provider checks,
# plus the local privacy posture with its explicit out-of-scope limits.
npx dsh-searxng doctor --profile web

# Read-only engine-health probe battery: per-engine reported failures with reasons,
# result contribution, and evidence limits. Writes nothing.
npx dsh-searxng tune --profile web

# Plan and execute ownership-safe repairs for the managed deployment.
npx dsh-searxng repair --profile web

# Move the managed deployment to a packaged version with verified rollback.
npx dsh-searxng update --profile web

# Detach the profile and remove the plugin package from that profile.
npx dsh-searxng remove --profile web

# Also stop and remove the owned service; keep its data and local state.
npx dsh-searxng remove --profile web --service

# Permanently delete the exact owned data volume and managed directory.
npx dsh-searxng remove --profile web --service --purge-data

Permanent deletion prompts on an interactive terminal. Automation must add --yes. --json is available on setup, status, doctor, repair, update, and remove. Destructive Docker operations run only after the container, network, and volume labels match this DSH home; same-name foreign resources are refused.

Recovery semantics

repair and update journal their progress under $DSH_HOME/dsh-searxng/journal.json between the first mutation and validated completion; setup and remove read that journal to refuse during or clean up after an interruption.

  • setup refuses to run while an interrupted operation is recorded and points at repair.
  • repair takes over when a journal exists: it recomputes the recovery decision from disk (clear the journal, validate the target, or resume the rollback) before any ordinary repair, and also removes quarantined stale locks left by dead processes. doctor reports the interrupted operation's id, kind, phase, and age.
  • update is transactional: the current deployment stays authoritative until the target passes readiness, real-search, and provider validation. Any failure after the first Docker mutation rolls back to the previous image and configuration and revalidates them; same-version updates are rejected with E_DEPLOYMENT_UNSUPPORTED.
  • remove --service clears the journal once the deployment is gone, so a subsequent setup is not refused.

Provider configuration

The setup command manages the web-search-searxng row in $DSH_HOME/profiles/<name>/cordis.patch.yml. These optional values can be added to that row:

KeyDefaultMeaning
baseURLmanaged or --url endpointSearXNG base URL.
languagenoneSearXNG language, for example zh-CN or en-US.
enginesnoneComma-separated engine allowlist.
categoriesnoneComma-separated category filter.
authHeadernoneAuthorization header for a protected external instance.
cacheTtlMs600000Cached query result lifetime in milliseconds; 0 disables caching.
minIntervalMs1500Minimum spacing between network requests; 0 disables pacing.
queueCapacity8Requests that may wait for a pacing slot before the provider rejects with backpressure.
totalBudgetMs15000Wall-clock budget for one search call, spanning pacing wait, backoff, and network attempts.

Repeated queries are served from an in-process cache scoped to the provider instance (nothing is written to disk); a cache hit performs no network request. Concurrent searches pass a token bucket (burst 2, then one request per minIntervalMs), and a full queue rejects immediately with a retryable error instead of holding the caller. Failed responses and empty result pages are never cached — a cached empty page would mask upstream recovery for the whole TTL — and an empty result page is returned as-is: the engines/categories allowlist is never silently widened to chase results. When the instance answers HTTP 429, the provider honors Retry-After and retries at most once within the remaining budget.

Per-query controls

SearXNG supports per-query routing inside the query string itself; the provider passes query syntax through untouched:

  • :zh-CN / :en — select the result language for this query (: prefix).
  • !bing / !news — select one engine or category for this query (! prefix).
  • site:example.com — restrict results to one domain (engine-dependent support).

For example, the query :zh-CN 大模型 排行榜 searches in Chinese regardless of the profile's language, and !github compose network mapping uses only the GitHub engine. Verify engine names against your instance's engine list.

If several DSH search providers are available, select this one with DSH_WEB_SEARCH_PROVIDER=searxng or the corresponding searchProvider DSH web configuration.

Troubleshooting

  • E_DOCKER_MISSING / E_DOCKER_OFFLINE: install or start Docker.
  • E_COMPOSE_UNSUPPORTED: enable Docker Compose v2.
  • E_JSON_DISABLED: add json to SearXNG search.formats.
  • E_AUTH_FAILED: check the external instance's authHeader configuration.
  • E_TLS_FAILED: the endpoint's TLS certificate failed validation; check the certificate chain and retry.
  • E_RATE_LIMITED: adjust the instance limiter or upstream engine selection.
  • E_RESOURCE_FOREIGN: a same-name Docker resource does not carry this installation's ownership labels; it is never modified automatically.
  • E_BUNDLE_DAMAGED: the generated configuration bundle is incomplete or mismatched; repair rebuilds it from the packaged assets while preserving the existing secret.
  • E_DEPLOYMENT_UNSUPPORTED: the packaged deployment catalog cannot satisfy the request (unknown or same version requested, or an entry incompatible with the current state); upgrade dsh-searxng or choose an available version.
  • E_PROFILE_CONCURRENT_MODIFICATION: the DSH profile changed during the operation; review it and retry.

doctor --json returns the complete redacted check list and actionable error codes.

Runtime support

  • Node.js: 20 and newer.
  • CLI, tests, build, and packed artifact: verified on Linux, macOS, and Windows in CI.
  • Managed Docker journey (including repair and update rollback) and Docker adapter integration: verified in opt-in Linux CI with Docker Engine and Compose v2. The release certification runner is also exercised there; CI provides no Docker Desktop and uses a stub dsh, so it is not a formal certification.
  • Certified Docker environments per release: only those with a complete passing report from the release tarball in docs/release-certification.md — one each from macOS + Docker Desktop, Windows + Docker Desktop + WSL2, and Linux + Docker Engine + Compose v2.
  • Docker Desktop on macOS is certified for 0.3.0 (docs/certification/v0.3.0-darwin-arm64.json). The 0.4.0 report is pending: upstream search engines were in a network-wide cooldown at release time, so the platform run could not complete its real-search validation; the claim will be added together with its evidence. Docker Desktop on Windows is compatible (same engine, same Compose v2 plugin) but uncertified until its report exists for a given release.
  • External SearXNG mode does not require Docker and works on any platform with Node.js 20+.
  • Podman and Podman Compose are not supported in the managed path.

setup selects the deployment to install from the packaged deployment catalog (newest entry compatible with the current state schema) and reuses a healthy existing deployment that is still listed in the catalog; use update to move between deployment versions.

dsh is in developer preview with breaking changes expected. Version 0.4.0 supports @deepseek-ai/dsh-web >=0.1.0-rc.6 <0.2.0 and @deepseek-ai/dsh-launch-environment >=0.0.1-rc.3 <0.2.0.

Development

pnpm install
pnpm verify

The repository Docker example is development-only. The packaged setup path is the supported quickstart because it pins the image, generates a private secret, labels every owned resource, and validates the final provider before activation. The opt-in Linux CI job runs both real Docker release checks:

DSH_SEARXNG_E2E=1 pnpm test:e2e
DSH_SEARXNG_DOCKER_INTEGRATION=1 pnpm test -- test/cli/docker.integration.test.ts

Platform certification of a packed tarball runs on each release host:

pnpm pack --pack-destination ./node_modules/.cache/pack
pnpm certify:platform -- --tarball ./node_modules/.cache/pack/dsh-searxng-<version>.tgz

License

MIT