
DDDMUC/dsh-free-search
31Last commit Aug 16, 2026
dsh-free-search DSH plugin
dsh-free-search adds a configurable web search provider to DeepSeek Harness, supporting multiple free engines like Bing, DuckDuckGo, and SearXNG. It features a web settings page for engine switching and API key management, automatic fallback between free engines, and additional tools like web_fetch and platform_search. Perfect for users without a DeepSeek API key.
How to install the dsh-free-search DSH plugin
dsh plugin --profile web add /path/to/dsh-free-searchCopying does not run this command. Review the repository and version before installing the dsh-free-search DSH plugin.
dsh-free-search DSH plugin data source
dsh-free-search DSH plugin snapshot date: Aug 16, 2026
discovered
What the dsh-free-search DSH plugin can do
- Multi-engine web search with automatic fallback (Bing, DuckDuckGo, SearXNG, Exa, etc.)
- Web-based settings UI for switching engines and configuring API keys
- Additional tools: web_fetch (fetch web page content) and platform_search (search GitHub, V2EX, Bilibili)
- Engine testing tool (free_search_test) to verify all engines' availability
Where the dsh-free-search DSH plugin fits
- Users without a DeepSeek API key need web search in agent conversations
- Require stable search with automatic fallback when one engine is rate-limited
- Developers want to search GitHub repositories, V2EX topics, or Bilibili videos directly from the agent
- Need to fetch and read full web page content through the agent
Who the dsh-free-search DSH plugin is for
- DeepSeek Harness users who want to avoid using DeepSeek official API key
- Developers and researchers requiring multi-engine search and platform-specific search capabilities
dsh-free-search DSH plugin limitations
- DuckDuckGo engines may experience temporary rate-limiting (anti-bot challenges)
- web_fetch has no SSRF protection, the agent could theoretically access internal addresses
- Free engines like DuckDuckGo may require proxy access in certain regions
dsh-free-search DSH plugin: from the repository README
Quoted from the DDDMUC/dsh-free-search README, the upstream source of the dsh-free-search DSH plugin. Copyright remains with the original authors.
**DeepSeek Harness 免费搜索插件 —— 无需 API key,零成本,多引擎可切换。** 一个给 DeepSeek Harness (dsh) 添加多引擎搜索 provider 的插件,注册进 `ctx.web` seam。内置 `web_search` 工具自动选用,支持网页设置页切换引擎、配置 API key、一键测试所有引擎。 [English](./README.en.md) | 中文 ## 为什么需要它 dsh 默认的搜索 provider 依赖 DeepSeek 官方 API key(`DEEPSEEK_API_KEY`)。如果你: - 没有(或不想用)DeepSeek 官方 key, - 用的是 opencode-go 这类网关(其 OpenAI 兼容端点不支持 `web_search` 工具), ……那么内置搜索必然失败,agent 会告诉你"无法联网"。 这个插件提供多个免费引擎 + 自动回退,彻底摆脱 DeepSeek 官方 key 的依赖。 ## 特性 - **零成本** —— 多个免费引擎,无需 key、无需注册 - **多引擎可选**:DuckDuckGo(html/lite)、Bing、SearXNG(元搜索,支持自定义实例)、Exa、Perplexity、DeepSeek 官方 - **网页设置页** —— 引擎切换 + API key 配置(UI 中 key 脱敏显示"已配置") - **引擎测试工具** —— `free_search_test`,让 agent 一键测试所有引擎可用性 - **自动回退** —— 免费引擎失败/限流时自动切换到下一个可用引擎 - **系统提示词注入** —— agent 知道当前用哪个引擎、哪些需要 key - **免费标注** —— 设置页中免费引擎带绿色 `FREE` 徽章,付费引擎带橙色 `API KEY` 徽章 - **网页抓取(web_fetch)** —— 让 agent 抓取网页内容(官方 `dsh-web-fetch-http` provider,纯 JS,零额外依赖) - **平台搜索(platform_search)** —— 搜 GitHub / V2EX / B站(公开 API,零依赖) - **干净集成** —— 实现官方 `WebSearchProvider` seam 接口,与官方插件共存 ## 引擎列表 | id | 引擎 | 费用 | 说明 | |---|---|---|---| | `ddg` | DuckDuckGo HTML | 免费 | 偶发限流(反爬),解封自动恢复 | | `ddg-lite` | DuckDuckGo Lite | 免费 | 轻量版,同上 | | `bing` | Bing | 免费 | *
Read the full READMERepository license: MIT
dsh-free-search DSH plugin questions
How do I install dsh-free-search?
Clone the repository and run `dsh plugin --profile web add /path/to/dsh-free-search`. Then restart with `dsh web`. The plugin will be available immediately.
Do I need an API key for any engine?
No, the default engine is Bing and it works without any key. Free engines like DuckDuckGo, SearXNG, Exa (anonymous) also don't require keys. Paid engines like Perplexity and DeepSeek official do require their own API keys, but you can ignore them.
How do I switch search engines?
Open Settings → Plugins → Configurable tab, find the Free Search card, and select a new engine from the dropdown. Save and restart `dsh web`. You can also edit `~/.dsh/settings.yaml` directly.
Why is my search failing?
Check if the current engine is rate-limited (DuckDuckGo often is) or if you need a proxy for certain engines. The plugin automatically falls back to other free engines, so you can also run `free_search_test` tool to see which engines work.
Can I use this plugin behind a proxy?
Yes, set environment variables `NODE_USE_ENV_PROXY=1`, `HTTPS_PROXY=http://127.0.0.1:7897` (your proxy address) before starting `dsh web`. This is required for DuckDuckGo and some other engines in China.