dsh-keyless-web-search
Đã xác minhdsh-keyless-web-search · v0.1.0 · MIT
Free keyless web search & fetch provider for DeepSeek Harness (dsh). 四家厂商公共端点轮询+限流故障转移,无需任何 API key.
Cài đặt
dsh plugin add dsh-keyless-web-search Xác nhận layer đã áp bằng dsh --profile default --dump-config — xem hướng dẫn cài plugin.
Mã nguồn
Phát hành lên npm mà không có repository công khai. Hãy kiểm tra nội dung package trước khi cài.
Thẻ
Tác giả
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