zhouzhencheng07/dsh-free-search

插件Plugin 原生Native ⭐ 4 MIT 工具Tools

用于DeepSeek Harness(dsh)的免费无密钥Tavily网络搜索工具

项目介绍Project Overview

dsh-free-search 是面向 DeepSeek Harness (dsh) 的免费多源网页搜索插件,注册为 dsh web seam 的 search provider,内置 web_search 工具直接调用本插件的免费引擎链,保留引用卡片 UI,且不消耗 DeepSeek API 额度。引擎链含 GitHub、arXiv、StackExchange、Hacker News、Tavily(支持 keyless 和 key 模式)与搜狗,按查询特征路由、失败自动转移,无需 API key。安装后需重启 dsh;若曾以 --patch 加载,需移除该参数以避免启动失败。

dsh-free-search is a free multi-source web search plugin for DeepSeek Harness (dsh). It registers as a web seam search provider, routing the built-in web_search tool through a free engine chain, preserving the citation card UI, and bypassing DeepSeek API quota consumption. The chain includes GitHub, arXiv, StackExchange, Hacker News, Tavily (keyless and key modes), and Sogou, with query-based routing and automatic failover. No API key is required. Restart dsh after installation; if previously loaded via --patch, remove that flag to avoid startup failure.

或使用命令行安装(适合开发者)Or use CLI install (for developers)

命令行安装CLI Install

dsh plugin --profile web add "github:zhouzhencheng07/dsh-free-search"

zhouzhencheng07/dsh-free-search 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

English | 中文

dsh-free-search

面向 DeepSeek Harness (dsh) 的免费多源网页搜索插件

注册为 dsh 原生 web seam 的 search provider:内置 web_search 工具直接走本插件的免费引擎链, 保留引用卡片 UI,并且不再消耗 DeepSeek API 额度(替换了 base 层默认的付费 deepseek-official 路由——那是一次模型调用/次搜索)。

引擎链(全部免费,自动故障转移)

引擎 类型 触发条件 备注
GitHub Search API 无 key 查询含 repo/仓库/owner/repo 或 github.com 链接 代码/仓库检索
arXiv API 无 key 查询含 arxiv/预印本/preprint 或 arXiv ID(如 arxiv 1706.03762) 论文直达/检索
StackExchange API 无 key 查询含 stackoverflow 等 编程问答
Hacker News (Algolia) 无 key 查询含 hacker news 等 科技新闻
Tavily keyless 免注册;有 key 用 key 始终参与(主引擎) key 模式解锁 answer 摘要
Sogou 网页搜索 无 key(HTML) 始终参与(兜底) 中文搜索兜底,自动解析跳转链接

优先级:命中的专用引擎优先,随后 Tavily keyless → Sogou;某个引擎失败自动切下一个, 全部失败时报出逐个尝试明细。可选环境变量:TAVILY_API_KEY(有则用 key 模式)。

说明:Baidu 新版 SERP 是 JS 渲染(静态 HTML 无结果),无法程序化抓取,故未纳入; Exa/Brave/Google 等免费 API 在当前网络不可达,亦未纳入。

安装

dsh plugin --profile web add "github:zhouzhencheng07/dsh-free-search"

本包声明了 dsh.bundle.patch,因此会被激活为 profile 的 bundle 层(而不是仅仅装成 一个不生效的普通依赖)。安装后重启 dsh web,内置 web_search 即走免费引擎链。

本地开发安装

# 本地开发安装:把路径换成你自己的本地检出目录
dsh plugin --profile web add "file:/path/to/dsh-free-search"

如果你之前是用 --patch ./scratch-plugin/... 参数加载本插件的,请从启动命令中 去掉该参数——现在由 bundle 持有 free-search 行,重复 insert 会导致启动失败。

工作原理

  • src/web-search.js:ctx.web.registerSearchProvider({ id: 'free-search', ... })
  • src/engine-chain.js:引擎优先级、查询路由(专用引擎按查询特征参与)、故障转移、 超时与取消(AbortSignal 透传)。
  • src/engines/*.js:各引擎的请求与输出规范化,统一为 { url, title?, snippet?, publishedAt? } 列表。
  • cordis.patch.yml:把 websearchProviderdeepseek-official 改为 free-search(该行 config 仅此一个 base key,整体替换安全;profile 层 patch 可改回)。

环境要求

  • Node.js ≥ 22(dsh 自身要求)
  • 无任何 API key 要求;纯 ESM、零依赖、零构建

许可证

MIT

上一个 Prev dsh-forge 下一个 Next dsh-skin-switcher