返回目录
文件与数据 插件

dsh-free-search

zhouzhencheng07/dsh-free-search

Free keyless Tavily web search tool for DeepSeek Harness (dsh)

Stars
2
Forks
0
Issues
0
更新
2 天前

PROJECT TOPICS

项目标签

INSTALL REFERENCE

安装参考

未验证
dsh plugin --profile web add github:zhouzhencheng07/dsh-free-search

该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。

PROJECT README

README

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

CLASSIFICATION EVIDENCE

分类依据

项目类型插件
功能分类文件与数据
规则置信度

系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: search、web-search。