Skip to content

dsh-keyless-web-search

Verified

dsh-keyless-web-search · v0.1.0 · MIT

Free keyless web search & fetch provider for DeepSeek Harness (dsh). 四家厂商公共端点轮询+限流故障转移,无需任何 API key.

Install

dsh plugin add dsh-keyless-web-search

Confirm the layer applied with dsh --profile default --dump-config — see the install guide.

Source

Published to npm without a public repository. Inspect the package contents before installing.

Tags

Creators

Readme

dsh-keyless-web-search

DeepSeek Harness (dsh) 的免费无密钥网络搜索 + 网页抓取 provider 插件——不需要任何 API key。

Free keyless web search & fetch provider plugin for DeepSeek Harness (dsh) — zero API keys required.

原理 / How it works

搜索(web_search):在四家厂商的公共免费端点之间轮询(每进程随机起点分摊流量),哪家限流(429 / rate limit)自动故障转移到下一家,全部失败才报错:

厂商 端点
Firecrawl api.firecrawl.dev/v2/search(不带 Authorization 头)
Exa mcp.exa.ai/mcp(MCP web_search_exa
Parallel search.parallel.ai/mcp(MCP web_search
Keenable api.keenable.ai/v1/search/public(需 X-Keenable-Title 头)

抓取(web_fetch):Node 内置 fetch 直抓优先(跟随重定向、按 Content-Type 自动分类 html/text、500K 字符截断、10M 大小上限);直抓失败或被反爬拦截时,回退到 Firecrawl keyless scrape(返回 markdown)。

思路移植自 Hermes Agent (Nous Research) 的 keyless 搜索层(plugins/web/keyless_mcp.py),用 TypeScript-free 的纯 ESM 重写为 dsh 插件。

安装 / Install

dsh plugin --profile web add dsh-keyless-web-search -w
systemctl restart dsh-web   # dsh web 由 systemd 托管时;否则重启你的 dsh web 进程

要求:Node >= 22,dsh 0.1.x。

自动路由接管(零配置)

插件的 bundle patch 会把 dsh 的 web 能力接缝(ctx.web)的 searchProvider / fetchProvider 都指向本插件注册的 free-keyless,覆盖 dsh-base 默认钉死的 deepseek-official(没配 DEEPSEEK_API_KEY 时后者会报 WEB_PROVIDER_CONFIGURED_MISSING: configured web provider "deepseek-official" is not registered)。

  • 覆盖写在插件自己的 bundle 层——dsh 升级/重装后无需重新配置
  • 卸载本插件即自动恢复 dsh 原状;
  • 内部 provider id 为 free-keyless(与包名无关,不会随改名变化)。

验证 / Verify

dsh --profile web --dump-config | grep -E 'searchProvider|fetchProvider'
# 应看到两行均为 free-keyless

注意事项 / Caveats

  • 免费公共端点存在限流与可用性风险;高并发或生产场景请改用带付费 key 的 provider(Tavily / Exa 等)。
  • 各端点行为由对应厂商控制,可能随时变化。
  • 本插件不做内网 SSRF 拦截(设计前提:dsh agent 本就拥有完整本机 shell,provider 层拦截不设防);仅屏蔽云厂商元数据端点 169.254.169.254

License

MIT