鱼皮AI导航
鱼皮AI导航
  • 主页
  • 社区
  • AI工具
  • AI知识库
  • AI提示词
  • MCP
  • Skills
  • AI学习资源
  • AI资讯
  • GitHub开源
登录/注册

dsh-searxng

基于 SearXNG 的 web_search provider:通过自建实例的 JSON API 实现免费、免密钥的元搜索,附仅绑定回环地址的 docker-compose 示例。

网页浏览
访问 GitHub
文档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.

Install

▼
sh
复制代码
dsh plugin add dsh-searxng

(With a named profile: dsh plugin --profile <name> add dsh-searxng.)

Quick start

  1. Run a SearXNG instance with the JSON format enabled. If you installed only the plugin, clone the repository example first:

    ▼
    sh
    复制代码
    git clone --depth 1 https://github.com/rogerdigital/dsh-searxng.git dsh-searxng-example docker compose -f dsh-searxng-example/examples/docker/docker-compose.yml up -d curl 'http://127.0.0.1:8080/search?q=test&format=json'

    From an existing source checkout, you can instead run docker compose up -d in examples/docker. This repository example is loopback-only and pre-configures search.formats with json — the one setting most public instances deliberately disable.

  2. Point the plugin at it. Either set an environment variable before launching dsh:

    ▼
    sh
    复制代码
    export SEARXNG_BASE_URL=http://127.0.0.1:8080 dsh

    …or override the plugin row in your profile's cordis.patch.yml ($DSH_HOME/profiles/<name>/cordis.patch.yml):

    ▼
    yaml
    复制代码
    - id: web-search-searxng config: baseURL: http://127.0.0.1:8080 language: zh-CN
  3. Ask your agent something that needs the web. If this is the only search provider you have installed, the seam auto-selects it. If you also have Exa/Perplexity installed, select it explicitly with export DSH_WEB_SEARCH_PROVIDER=searxng (or set searchProvider: searxng in the web row's config).

Until baseURL is set, the provider registers as unavailable — no public instance is assumed, because most disable the JSON format and rate-limit heavily.

Configuration

All keys are optional; all live on the web-search-searxng row's config.

KeyDefaultMeaning
baseURL$SEARXNG_BASE_URLBase URL of the instance, e.g. http://127.0.0.1:8080. Must be http(s), contain no query or fragment, and have json in search.formats.
languagenoneLocale passed as SearXNG's language parameter, e.g. zh-CN, en-US.
enginesnoneComma-separated engine allowlist, e.g. bing,duckduckgo.
categoriesnoneComma-separated category filter, e.g. general,it.
authHeadernoneAuthorization header value, for instances fronted by an API-key gate. Sent verbatim.

The result count is not configurable here: dsh-tool-web owns the bound (searchMaxResults, default 8) and the seam truncates to it.

Troubleshooting

  • HTTP 403 — the instance does not enable the JSON format. Add json to search.formats in its settings.yml (see the repository example), then restart the instance.
  • HTTP 429 — the instance's rate limiter. For a local instance set limiter: false, or raise its limits.
  • Provider unavailable / never selected — baseURL is not set, is not an absolute http(s) URL, or contains a query or fragment.
  • WEB_PROVIDER_AMBIGUOUS — more than one search provider is installed and available; select one via DSH_WEB_SEARCH_PROVIDER=searxng.

Compatibility

dsh is in developer preview with breaking changes expected. This table tracks tested pairings:

Plugin version@deepseek-ai/dsh-web@deepseek-ai/dsh-launch-environmentNotes
0.1.1>=0.1.0-rc.6 <0.2.0 (tested against 0.1.0-rc.6)>=0.0.1-rc.3 <0.2.0 (tested against 0.0.1-rc.3)First-round hardening
0.1.0>=0.1.0-rc.1 <0.2.0>=0.0.1-rc.1 <0.2.0Initial release

Develop

▼
sh
复制代码
pnpm install pnpm test # vitest pnpm build # tsdown → lib/

Integration check against a live instance:

▼
sh
复制代码
cd examples/docker && docker compose up -d node -e "import('./lib/index.mjs').then(m => new m.SearxngSearchProvider({ baseURL: 'http://127.0.0.1:8080' }).search({ query: 'deepseek harness' }).then(r => console.log(r.sources.slice(0, 3))))"

License

MIT

网页浏览

快捷安装

复制到终端去安装插件

dshplugin--profilewebadddsh-searxng

温馨提示

装插件等于在本机跑第三方代码,权限与你相同,能读文件、用凭据、访问网络,工具审批管不到。请只装可信来源,并尽量锁定 commit。

站长:程序员鱼皮 老鱼简历 商务合作 增值电信业务经营许可证
2026 鱼皮AI导航 | 沪ICP备19026706号-6
站长:程序员鱼皮 老鱼简历 商务合作 增值电信业务经营许可证
2026 鱼皮AI导航 | 沪ICP备19026706号-6
🔥热门工具
朱雀AI检测朱雀AI检测
朱雀AI检测助手朱雀AI检测助手
LovartLovart
老鱼简历老鱼简历
WritePass官网WritePass官网
面多多面多多
CursorCursor
星月写作星月写作
零感AI零感AI
墨得问题墨得问题
dsh 插件推荐
dsh-chrome-cdp
Chrome DevTools Protocol 插件 for DeepSeek Harness。通过 chromremote-interface 以 CDP 连接并操控 Chrome。连接带有图形界面。
dsh-webmcp
WebMCP 桥接器:让 agent 通过内置无头 Chromium,发现并调用网站按 W3C WebMCP 协议暴露的站点工具。
dsh-web-search-ollama
让 DSH 的 web_search 工具走 Ollama 联网搜索 API,复用 OLLAMA_API_KEY,无需 DeepSeek 官方 Key。
dsh-web-search-tavily
为原生 web_search 提供 Tavily 搜索后端,并在设置 → 插件中提供 API Key 管理与是否替换 DeepSeek 的开关。
dsh-search-hub
可配置的原生 web_search 后端:在 DeepSeek 官方原生搜索与智谱 GLM web_search 之间切换当前生效入口,并在设置页管理搜索入口与凭证引用。