AllDSH
EN

DSH Free Search

DDDMUC · DDDMUC/dsh-free-search

为 DeepSeek Harness 提供多引擎网页搜索:内置免费引擎、默认 Bing,安装即用无需 API key。

DSH Free Search 是 DDDMUC 开发的 DSH 插件,为 DeepSeek Harness 提供多引擎网页搜索:内置免费引擎、默认 Bing,安装即用无需 API key。收录于工具与能力,适合网页搜索。验证等级 L3(安装命令可解析),安全扫描尚未完成,兼容目标是 DeepSeek Harness 0.1.1-rc.1 || 0.1.1-rc.2 || 0.1.2-alpha.2 || 0.1.2-alpha.3 || 0.1.2-alpha.4 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2,条目最后核查于 2026-09-18,采用 MIT 许可。安装命令:dsh plugin --profile web add dsh-free-search

本条目由 赤榆 核查,数据更新于 · 引用规则

L3active
DSH Free Search 验证面板:验证等级 L3(共 5 级)——安装命令可解析,已声明 DSH 目标版本。安全扫描:未验证(未运行扫描)。兼容目标:DeepSeek Harness 0.1.1-rc.1 || 0.1.1-rc.2 || 0.1.2-alpha.2 || 0.1.2-alpha.3 || 0.1.2-alpha.4 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2。许可:MIT。GitHub 星标:201。条目最后核查 2026-09-18。
DSH Free Search 的验证面板。该条目处于 5 级验证中的 L3 级:安装命令可解析,已声明 DSH 目标版本。安全扫描:未验证(未运行扫描);兼容目标:DeepSeek Harness 0.1.1-rc.1 || 0.1.1-rc.2 || 0.1.2-alpha.2 || 0.1.2-alpha.3 || 0.1.2-alpha.4 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2;许可:MIT;条目最后核查于 2026-09-18。 验证规则说明

实际使用截图

本站截图:插件跑在一次性 DeepSeek Harness 里、任务跑在自动生成的演示项目上,不是你的机器,也不是作者提供的图。点击任意一张可看大图。

DSH Free Search — 安装并启用后的样子:「设置 → 插件 → 插件列表」中展开的条目,含完整包名、配置状态与运行状态。
安装并启用后的样子:「设置 → 插件 → 插件列表」中展开的条目,含完整包名、配置状态与运行状态。

由 AllDSH 于 2026-09-19 在 DSH 0.1.5-rc.1 上截取,视口 1920×1080,包版本 dsh-free-search@^0.4.32。

安装命令

dsh plugin --profile web add dsh-free-search

需要先启动 harness:npx @deepseek-ai/dsh web,然后执行上面的命令。第一次用?先看安装教程。

它是什么,接在哪条缝上

DSH Free Search 是一个已发布到 npm 的包,包名 dsh-free-search,当前版本 0.4.26,MIT 许可,作者 DDDMUC。它自己的 README 称它为「DeepSeek Harness 免费搜索插件」,而它要解决的问题写得相当具体:dsh 默认的搜索 provider 依赖 DeepSeek 官方 API key,所以既没有官方 key、又用着 opencode-go 这类 OpenAI 兼容端点(该端点不支持 web_search 工具)的用户,会遇到内置搜索必然失败、agent 只好说「无法联网」的情况。

接入点就是 Harness 自己的扩展缝。README 的原话是这个插件「注册进 ctx.web seam」,并且更具体地说明它实现官方 WebSearchProvider 接口(id / available() / search()),因此内置的 web_search 工具会自动选用它。这个区别很关键:它不是让模型新学一个工具,而是插进 Harness 本来就会查询的一条缝;README 也表示它刻意与官方插件共存。

包的 dsh 字段声明了 bundle patch(cordis.patch.yml)、一个注入 @deepseek-ai/dsh-client-runtime 的 web 平台客户端、>=0.1.1-rc.1 的 Harness 下限,以及一张兼容表——其中标为兼容的版本从 0.1.1-rc.1 一直到 0.1.5-rc.2。除原生搜索行之外,README 还记录了三个宿主端工具:advanced_search、platform_search、free_search_test。需要单独点明的是,它宣传的网页抓取能力来自官方 dsh-web-fetch-http provider,并不是这个包自己提供的——功能列表把它们写成了一整块,容易让人误读。

引擎清单、默认值与切换方式

README 列出了十二个引擎 id。免费的有 ddg、ddg-lite、bing、anysearch、searxng、exa、tavily、keenable、firecrawl;付费的有 parallel、perplexity、deepseek-official。

默认引擎是 bing,README 说它最稳定,并通过 zh-CN 市场做了中文优化——不是 DuckDuckGo。DuckDuckGo 是以 HTML 与 Lite 两个变体的形式存在,README 对这两者都标注了偶发的反爬限流。因此,把这款插件描述成「后端是 DuckDuckGo」既低估也误述了它,本目录原先的 tagline 已按来源更正。

切换引擎有三条路。设置卡片上的 Search engine 下拉框,保存即生效;旁边的 Use Bing default 按钮把首选引擎切回 Bing。聊天框里输入 /free-search-engine 会弹出引擎选择窗口,交互与 /model 选模型一致,当前引擎会被标记出来。也可以直接改 ~/.dsh/settings.yaml 里的 free-search: 段:provider: 放引擎 id,旁边还有 lang:、bingMarket:、region:、searxngInstances: 以及各引擎的 API key 字段。此外 tools/ 目录附带一个零依赖的 Windows 启动器和一个无界面的 PowerShell 脚本,做的是同一件事。

自动回退,以及「无需 key」到底指什么

README 的主打说法是零成本、无需 key、无需注册。仔细读会发现,这个说法针对的是免费引擎和开箱即用的体验——包描述本身就写着「Bing/DuckDuckGo/AnySearch/SearXNG/Exa/Tavily/Keenable/Firecrawl keyless; Parallel/Perplexity/DeepSeek with key」。十二个引擎里有三个是要 key 的:Parallel 需要 PARALLEL_API_KEY,Perplexity 需要 PERPLEXITY_API_KEY,DeepSeek 官方需要 DEEPSEEK_API_KEY。谁把「无需 API key」推广到整张引擎表,谁就超出了来源。

让无 key 路线成立的是统一回退。任何引擎失败——免费或付费、缺 key、401、限流、网络错误、反爬挑战——都会把这次搜索交给下一个引擎。README 描述的顺序是:先试配置的首选引擎,再试其他引擎,其中 exa、tavily、keenable、firecrawl 即使没配 key 也会被尝试,因为它们自带 keyless 匿名额度;最后试 Bing、AnySearch 这些剩余免费引擎。结果里会附一条说明,指明实际生效的引擎,README 给的例子是 Note: perplexity unavailable or failed, using exa.。README 的措辞相当强:中文写「搜索永不直接失败」,英文写 “Search never fails outright.”

有两处细节容易被忽略。一是当查询带 timeRange 时,支持时间过滤的引擎会被排到引擎链前面,所以默认的 Bing 不会悄悄吞掉过滤条件。二是各引擎能力并不等价:Bing 和 AnySearch 完全没有时间过滤参数;Tavily、Firecrawl、SearXNG 与 DuckDuckGo 两兄弟只能把自定义区间映射到最近的固定档(≤2 天 → day,≤14 天 → week,≤90 天 → month,否则 year);只有 Exa、Keenable、Parallel 能精确处理自定义或绝对日期。也就是说,一次「搜最近 3 天」如果最终由 Tavily 服务,实际生效的是一天的过滤。

设置页、密钥与附带工具

README 建议用 Harness 自带的插件命令、按你实际使用的 profile 名安装,然后重启 dsh web。它对一件事说得很重:@deepseek-ai/dsh-settings 与 @deepseek-ai/dsh-tools 被刻意声明为 peerDependencies,因为运行时必须使用安装树中的唯一实例——把 DSH 核心包复制进 profile 本地的 node_modules 可能让工具调度器失效。

配置卡片挂在官方设置页的 settings.plugin.item 插槽;README 说明读写走插件自建的 bridge,不依赖 dsh-web-ui,插件可独立使用。除引擎选择外,卡片还提供 Exa / Tavily / Keenable / Firecrawl / Parallel / Perplexity / DeepSeek 的 key 输入框、一个直测当前引擎(不走回退链)的「测试引擎」按钮、用于过滤 platform_search 的平台勾选项、0–5 分钟的缓存时长滑块,以及 EN / 中文界面切换。免费引擎带绿色 FREE 徽章,付费引擎带橙色 API KEY 徽章,付费行还链到厂商的取 key 页面。

关于密钥处理,来源只支持两个结论:输入框是密码框,保存后界面只显示「已配置」而不回显内容。存储方面,README 明确建议把付费引擎的 key 写进 Harness 凭据中心 ~/.dsh/.credentials.yaml,并给出读取优先级为凭据中心 > 设置页 > 环境变量,设置页字段仅作遗留兼容。来源没有说文件权限、没有说加密方式、也没有说 key 会从日志里被清洗——所以「安全存储」不是这份条目能断言的事,能说的只有「界面脱敏,且 README 引导你用凭据中心」。

  • 时间过滤:advanced_search 接受固定档(day/week/month/year)、自定义相对值(12h、3d、2mo、1y)与绝对日期(2026-07-01)三种形式,可显式指定 engine,返回结构与 web_search 相同。
  • 平台搜索:platform_search 覆盖 GitHub、V2EX、B站、Reddit、Hacker News、Stack Overflow、维基百科与 npm。README 称全部走公开 API、零外部依赖、无需任何 key。其中 Reddit 被点名为「部分网络环境可能被反爬拦截」,维基百科会跟随界面语言在中文与英文域名之间切换。
  • 引擎测试:free_search_test 逐个测试引擎,并报告每个引擎的成功或失败原因。
  • 结果缓存:相同查询(含引擎与时间过滤参数)命中 LRU 缓存(50 条),最长 5 分钟,可在设置页调到 0 关闭。README 给出的目的是防免费引擎限流、省付费额度。
  • 系统提示词注入:agent 知道当前生效的引擎以及哪些引擎需要 key,设置变更时自动刷新。
  • 检查更新:设置卡片显示当前版本,并直连 npm registry 对比最新版,有新版本时可一键跳转。

运行要求

  • Node >=20 —— 来自包的 engines 字段。README 的代理说明另外指出,NODE_USE_ENV_PROXY 需要 Node 24+。
  • Harness >=0.1.1-rc.1 —— 来自包的 dsh.engines.dsh 字段。兼容表把 0.1.1-rc.1、0.1.1-rc.2、0.1.2-alpha.2 至 0.1.2-alpha.4、0.1.2-rc.1、0.1.5-rc.1、0.1.5-rc.2 标为 compatible,把 rc.7、rc.8、0.1.2-alpha.1、0.1.2-alpha.5 标为 unknown。本站把这份 compatible 清单逐字记录为 dshTarget;如果你跑在表里标为 unknown 的构建上,请当作未经验证,而不是当作已损坏。
  • web 平台与同版本客户端运行时 —— dsh.client.platform 为 web 且注入 @deepseek-ai/dsh-client-runtime,所以设置卡片与弹出式切换都假定你在 Web GUI 里。
  • 网络访问,以及国内部分引擎需要的代理。由于 Node 的 fetch 默认不走系统代理,README 要求在 dsh 进程上设置 NODE_USE_ENV_PROXY=1 与 HTTPS_PROXY/HTTP_PROXY,否则 DuckDuckGo 这类引擎可能根本不可达。

README 没有给出操作系统要求。附带的切换小工具偏 Windows,但插件本身被描述为纯 JavaScript,运行时依赖只有 @deepseek-ai/schemastery。

已知限制与注意事项(按来源原话)

  • 查询会离开你的机器。 每个引擎都是外部 HTTP 端点——Bing、DuckDuckGo、AnySearch、某个 SearXNG 实例,或厂商 API。README 的架构说明把这些网络调用放在宿主进程里,描述的是请求与响应在该进程与引擎之间直接往来,通篇没有提到任何中转转发搜索流量。来源没有描述任何第一方服务器会收集你的查询,但同样也没有任何隐私姿态的说明——没有留存、日志或匿名化声明,而宿主里确实存在一个 raw-search 调试接口。所以「会不会离开本机」答案是明确的会;「还有谁看得到」则属于未说明。
  • 限流与拦截是常态而非例外。 DuckDuckGo 被标注偶发反爬挑战、解封自动恢复;AnySearch 的匿名额度有限流;Reddit 在部分网络环境可能被直接拦截。README 自己的框架就是「用多个免费引擎互相回退」来换取稳定。此前目录条目里那句兼容性警告——公共后端有速率限制、可能随时变动,搜索成为关键流程时应换用带密钥的 provider——与 README 的说法一致,且比 README 更保守。
  • 覆盖度逐项不齐。 Bing 与 AnySearch 忽略 timeRange;另有四个引擎只能近似处理;platform_search 覆盖的是八个指定平台而不是开放网页,且未勾选的平台会被跳过。
  • web_fetch 没有 SSRF 防护。 README 用警告标记写明 agent 理论上可访问内网地址。同样要再说一次:这个抓取能力来自官方 dsh-web-fetch-http provider,所以这条警告挂在「本插件启用」的组件上,而不是它自带的组件上。
  • peerDependencies 是承重的。 请用 Harness 的插件命令安装,不要把 DSH 核心包塞进 profile。
  • 来源未说明的事: 跨引擎去重或排序、任何内容过滤或偏向性政策、任何遥测披露、操作系统支持,以及搜索结果只缓存在内存还是也会落盘。设置页的 key 字段被保留为「遗留兼容」,这暗示凭据中心才是推荐路径,但来源没有说旧路径已废弃或将被移除。

什么时候用它、什么时候不要用

当内置搜索正因为这个插件要解决的问题而失败时——没有 DeepSeek key,或者所在网关的端点不暴露 web_search——就用它。如果你希望「换引擎」是一个设置项而不是一次改代码、想要聊天框里直接切换、或者特别需要带日期的搜索(回退链会为此重排顺序),它也是合理选择。免费档无需任何配置即可真实可用。

但不要把它当作搜索质量或隐私的保证。它把请求发给你无法控制限流策略的第三方端点,对这些端点是否留存数据没有任何说明,而它的「零成本」建立在匿名额度而不是任何协议之上。如果搜索处在关键流程里,README 自己的建议就是去配置 key——付费档正是为此存在。而如果你真正需要的是 X/Twitter 覆盖,或者一条带 SSRF 防护的加固抓取通道,那是别的插件该做的事。

与 modsearch 的区别。 两者都是免费、MIT 许可、带回退的 dsh 搜索插件,但构造方式不同。modsearch 是「skill + CLI」,同时也以原生 dsh bundle 的形态存在;它的默认是 Firecrawl 的 keyless 档;它通过 Grok Build 提供 X 搜索;它公布了逐引擎多 key 轮换和带 SSRF 防护的抓取路径;它还明说仓库不接受 pull request。Free Search 没有对 X 作任何声明,也没有为抓取发布安全文档——反而警告 web_fetch 没有 SSRF 防护;它的一等界面是 React 设置卡片与聊天框弹出选择器。该按这些具体差异来选,而不是按共同的「免费搜索」标签来选。

FAQ

它的后端是 DuckDuckGo 吗?

不是。默认引擎是 Bing,DuckDuckGo 只是两个可选的免费变体。README 称 Bing 最稳定,并为它配置了 zh-CN 市场。DuckDuckGo HTML 与 Lite 可以选用,两者都带着 README 关于偶发反爬限流的警告。

我到底需不需要 API key?

搜索本身不需要:默认引擎链由无 key 引擎组成,exa、tavily、keenable、firecrawl 即使没配 key 也会被尝试,因为它们有 keyless 额度。但十二个引擎里有三个——Parallel、Perplexity、DeepSeek 官方——确实需要 key,所以「所有引擎永远都不需要 key」这个说法是错的。配置 key 的作用是在接受 key 的引擎上提高额度、稳定结果。

我的查询会去哪里?

会经由 HTTP、从 dsh 宿主进程发往实际服务该次请求的第三方引擎。README 记录了它调用的端点,也没有把其中任何一个说成是其他引擎的代理,但它对这些厂商的留存、日志或匿名化没有任何表述。请假定查询对回答你的那个引擎可见;如果这件事对你重要,请去读对应厂商的政策。

搜索真的永不失败吗?

这是 README 的说法,其依据是回退链会逐个尝试所有引擎而不是在第一次失败时停下。实际上,如果所有免费引擎在同一时刻都拒绝服务,这条链依然可能走完而拿不到可用结果;而回退逻辑本身出问题你也不会直接看到——结果里那条指明生效引擎的提示,是值得留意的信号。

我在设置页填的 key 存得安全吗?

来源只支持两点:key 输入框是密码框;保存后界面只显示「已配置」而不回显内容。除此之外,README 建议把付费 key 放进 Harness 凭据中心 ~/.dsh/.credentials.yaml,并说明那里也是官方 LLM provider key 的存放位置,设置页与环境变量的优先级更低。它没有描述文件权限、加密或日志清洗,所以这份条目无法为存储层本身背书。

来源与参考

本页的技术判断建立在以下第一手资料之上,链接可直接追溯核对。

  1. [1]DDDMUC/dsh-free-search — GitHub插件自身的仓库与 README——本条目的每一项论断都以这份第一手文档逐条核对。
  2. [2]dsh-free-search on npm — npm本页安装命令实际解析到的已发布包。
  3. [3]deepseek-ai/deepseek-harness — GitHubDeepSeek Harness、Cordis 运行时与插件加载模型的上游仓库。
  4. [4]@deepseek-ai/dsh on npm — npm已发布的 harness 包,也是本站 dshTarget 字段跟踪的版本来源。
  5. [5]dsh-plugin GitHub topic — GitHub本站用于发现收录插件的检索入口。

全部链接最后核验于 2026-09-11

关于本条目的问题

DSH Free Search 安全吗?可以安装吗?
DSH Free Search 当前的验证等级是 5 级中的 L3 级(安装命令可解析,已声明 DSH 目标版本),安全状态为「未验证(未运行扫描)」。验证等级记录的是安装路径被核查到什么程度,它本身不是安全保证:是否安全取决于插件实际能碰到什么。安装前请阅读源码与安装脚本,确认它对文件、shell、网络和凭证的访问范围。
DSH Free Search 兼容哪个 DeepSeek Harness 版本?
DSH Free Search 声明 dshTarget 为 0.1.1-rc.1 || 0.1.1-rc.2 || 0.1.2-alpha.2 || 0.1.2-alpha.3 || 0.1.2-alpha.4 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2,即本站核查这条目时所对应的 DeepSeek Harness 版本。dshTarget 是插件作者声明的兼容目标,它只说明该版本被核查过,并不保证上游发布新版本后插件仍然可用。升级 harness 前请先在隔离的 profile 中试装。
DSH Free Search 怎么安装?
先用 npx @deepseek-ai/dsh web 启动 harness,然后复制页面顶部的安装命令。该命令由仓库发布的包名(或条目声明的安装 spec)生成,因此不会与仓库实际发布的内容脱节。本条目最后核查于 2026-09-18。
它的后端是 DuckDuckGo 吗?
不是。默认引擎是 Bing,DuckDuckGo 只是两个可选的免费变体。README 称 Bing 最稳定,并为它配置了 zh-CN 市场。DuckDuckGo HTML 与 Lite 可以选用,两者都带着 README 关于偶发反爬限流的警告。
我到底需不需要 API key?
搜索本身不需要:默认引擎链由无 key 引擎组成,exa、tavily、keenable、firecrawl 即使没配 key 也会被尝试,因为它们有 keyless 额度。但十二个引擎里有三个——Parallel、Perplexity、DeepSeek 官方——确实需要 key,所以「所有引擎永远都不需要 key」这个说法是错的。配置 key 的作用是在接受 key 的引擎上提高额度、稳定结果。
我的查询会去哪里?
会经由 HTTP、从 dsh 宿主进程发往实际服务该次请求的第三方引擎。README 记录了它调用的端点,也没有把其中任何一个说成是其他引擎的代理,但它对这些厂商的留存、日志或匿名化没有任何表述。请假定查询对回答你的那个引擎可见;如果这件事对你重要,请去读对应厂商的政策。
搜索真的永不失败吗?
这是 README 的说法,其依据是回退链会逐个尝试所有引擎而不是在第一次失败时停下。实际上,如果所有免费引擎在同一时刻都拒绝服务,这条链依然可能走完而拿不到可用结果;而回退逻辑本身出问题你也不会直接看到——结果里那条指明生效引擎的提示,是值得留意的信号。
我在设置页填的 key 存得安全吗?
来源只支持两点:key 输入框是密码框;保存后界面只显示「已配置」而不回显内容。除此之外,README 建议把付费 key 放进 Harness 凭据中心 ~/.dsh/.credentials.yaml,并说明那里也是官方 LLM provider key 的存放位置,设置页与环境变量的优先级更低。它没有描述文件权限、加密或日志清洗,所以这份条目无法为存储层本身背书。

相似的 DSH 插件

查看全部

把 token 用量归属到实际服务请求的中转站、项目与模型,顺带读出余额与订阅配额,零配置。

L3
201 JavaScript

输入区里四个可重组的工作决策——工作状态、思考策略、质量门禁,以及一条只提议、不经人工确认绝不生效的自进化循环。

L3
199 TypeScript

Modsearch

liustack

编辑推荐

为 DSH 提供免费网页搜索:无需注册、无需密钥,返回带引用的结构化 JSON;装上 Grok 后还能搜索 X。

L2
501 TypeScript

AnySearch for DSH

anysearch-team

把 DSH 内置的 web_search 与 web_fetch 接到 AnySearch 商业 API,并另加垂直搜索、批量搜索与能力发现三个工具。

L2
419 TypeScript

一个 Chrome/Firefox 侧边栏扩展,为 DSH 打通通往你自己浏览器标签页的纯文本通道——不需要视觉模型。

L3
684 TypeScript

DSH Market

dsh-market

DeepSeek Harness 内置的可视化插件市场:浏览策展注册源,从卡片上一键安装。

L3
4.1k TypeScript
ESC

输入关键词搜索索引,索引由 Pagefind 在部署时生成。