← 返回列表
✓ 可直接安装
为 DeepSeek…
自动检查通过:npm 包已发布且 engines 声明满足基线(声明 Node >=22.13);该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/8/18 · 已提供中文文档
为提升模型搜索能力而对dsh进行的深入探索。
综合分
35.6
GitHub 分
35.6
用户评分
—
★ Stars
14
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add dsh-search-boostnpm 包 dsh-search-boost 已校验归属本仓库,走 npm 安装最省事
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-search-boost @ 0.1.3
✓Node 引擎要求 >=22.13 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/18 12:12:29
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-search-boost
为 DeepSeek Harness(DSH)提供搜索增强:多引擎融合搜索、聚焦页面抓取、X(Twitter)搜索、分步深度研究、并行多智能体研究,以及注入式主动搜索策略。
一个用于 DSH 的捆绑插件,可升级内置的 web_search / web_fetch,并注册一系列搜索工具。
search-boost 家族
| 项目 | 适用对象 | 链接 |
|---------|-----|------|
| search-boost | 通过 MCP 支持 Cursor · Codex · Claude · Grok · Antigravity | GitHub · npm |
| dsh-search-boost (本仓库) | DeepSeek Harness 捆绑插件 | 你在这里 |
| pi-search-boost | pi 扩展 | GitHub · npm |
搜索引擎位于 lib/ 中:在 free 层,Bing、DuckDuckGo、Yahoo 和 Exa-free 并行运行;api 层会在可用时加入 Antigravity CLI,并在存在密钥时加入带密钥的 Tavily / Brave / Exa(一个密钥即可;建议三者齐备以获得最佳融合效果)。
中文文档 → README_zh.md
搜索层
共两层,可在运行时通过 /web_change 切换(持久化到 ~/.dsh-search-boost-layer.json):
| 层 | 启用的引擎 | 使用场景 |
|---|---|---|
| free(仅无密钥) | Bing + DuckDuckGo + Yahoo + Exa MCP(exa-free)——全部实时探测,无需 API 密钥 | 研究循环、零成本运行、注重隐私的使用 |
| api(默认) | 相同的无密钥分支加上 Antigravity CLI(当 agy 在 PATH 中时)以及带密钥的 Tavily / Brave / Exa(当存在密钥时) | 最大召回率;通过付费 API 进行跨引擎交叉验证 |
无密钥引擎并行运行,因此单个失败绝不会让你空手而归。融合排序加入跨引擎共现评分和半衰期时间衰减新鲜度。
功能
| 能力 | 描述 |
|---|---|
| 内置 web_search + web_fetch 升级 | 注册 WebSearchProvider + WebFetchProvider 并修补两个接缝配置,因此内置搜索/抓取保留原生引用卡片,同时后端运行在本插件的引擎链和 Jina 优先页面读取器上 |
| fused_search | 多引擎融合检索,具备复杂度路由、Grok 风格查询预处理(site: / OR / 引号)、域过滤、跨引擎评分和 6 小时 TTL 缓存。通过 /web_change 设置活动层;支持每次调用覆盖 layer |
| /web_change | /web_change free → 仅无密钥池;/web_change api → 完整池;/web_change show → 当前层 + 引擎可用性 |
| x_search | 实时 X/Twitter:帖子、用户、话题串。有凭据时:托管 xAI 工具 ∥ 多引擎(site:x.com),合并并去重。无凭据时:多引擎 + oEmbed 全文(约 2 秒)、访客 GraphQL 用户资料、oEmbed 话题串。/x-login / /x-logout 切换官方路径 |
| /x-login | 将 xAI 凭据导入 ~/.dsh-search-boost-xauth.json(来自 ~/.grok/auth.json 或 -k )。OIDC 自动刷新;grok CLI 登录不受影响 |
| /x-logout | 移除 /x-login 凭据;x_search 回退到无凭据链 |
| fetch_page | Jina Reader + 本地 HTML 回退 + focus 主题提取 + 24 小时缓存 |
| deep_research | 步骤模式深度研究:复杂融合搜索 + 覆盖分析 + 缺口 + 建议查询,由主代理分轮驱动 |
| research_parallel | 子查询分解 → 原生 DSH 子代理并行 → 合并来源 |
| search_stats | 缓存 / 层级 / 引擎可用性 / x_search 凭据审计 |
| 搜索策略 | 通过 systemPrompt.section 注入:验证时效性事实,将 X 内容路由到 x_search,优先使用免费引擎 |
安装(捆绑包 — 推荐)
从 npm 安装(推荐):
dsh plugin --profile web add dsh-search-boost # 最新版
dsh plugin --profile web add dsh-search-boost@0.1.3 # 固定版本
dsh plugin --profile web update dsh-search-boost # 更新到更新的版本
--profile 是必需的(web 是标准 Web UI 配置文件)。DSH 使用 pnpm 解析包,自动接入 dsh.bundle.patch 层,并将其添加到配置文件的捆绑包列表中 — 无需手动编辑配置。重启 dsh --profile web。
从源码安装(开发):
dsh plugin --profile web add github:Mr-remon219/dsh-search-boost
dsh plugin --profile web add git+file:///path/to/repo
或使用安装脚本(语法检查 → 密钥设置 → 安装 → 验证):
.\install.ps1 # Windows
./install.sh # Linux / macOS
验证:
dsh --profile web --dump-config # web.searchProvider → dsh-search-boost
dsh --profile web
故障排除:缺少 dsh 或 pnpm
如果你通过 npx @deepseek-ai/dsh web 运行 DSH,则没有全局 dsh 二进制文件 — 请全局安装或直接使用 npx:
npm install -g @deepseek-ai/dsh
或:
npx --yes @deepseek-ai/dsh plugin --profile web add dsh-search-boost
dsh plugin 需要 pnpm(npm install -g pnpm 或 corepack)。
替代方案:会话级动态插件(plugin-host.js)
plugin-host.js 是一个单文件动态插件,用于按会话增强。它不会替换内置的 web_search。捆绑包形式(上文)推荐用于部署级集成。
配置(API 密钥)
已发布的捆绑包不包含任何机密。密钥从以下位置加载:
1. ~/.dsh-search-boost-keys.json 或 ./.search-boost-keys.json:
{ "tavily": "tvly-...", "exa": "...", "brave": "..." }
2. 环境变量:TAVILY_API_KEY / EXA_API_KEY / BRAVE_API_KEY
没有密钥的引擎会自动从扇出中移除。
免费层无需任何配置。 Bing、DuckDuckGo、Yahoo 和 Exa MCP(exa-free)无需密钥,并行运行。Antigravity CLI(agy)是可选的,仅在已安装并登录时加入 api 层(medium/complex 层级)。
x_search 凭据(可选)
| 命令 | 效果 |
|---|---|
| /x-login | 导入 grok 登录 → 官方托管的 x_search 路径(SuperGrok / X Premium+ 层级) |
| /x-login -k | 通过 console.x.ai API 密钥实现相同效果 |
| /x-login status | 显示凭据链 |
| /x-logout | 禁用官方路径;回退链仍然可用 |
~/.grok/auth.json 绝不会被自动使用。如果没有 /x-login 或 XAI_API_KEY,x_search 仅使用无需凭据的链。
已验证基准(2026-08,Windows)
免费层引擎探测(12 次查询 × 9 个候选)
实时基准(node scripts/engine-benchmark.mjs);完整报告见 scripts/engine-benchmark-report.json。
| 引擎 | 成功率 | 平均延迟 | 结论 |
|---|---|---|---|
| bing | 100% | ~2.0s | ✅ 免费层 |
| ddg | 100% | ~2.2s | ✅ 免费层 |
| yahoo | 100% | ~2.3s | ✅ 免费层(v0.1.2 新增) |
| exa-free | 100% | ~4.2s | ✅ 免费层 |
| antigravity | 92% | ~27s | 仅 api 层(慢,需要 agy CLI) |
| brave-html / mojeek / searx | 0% | — | 已拒绝(429、被屏蔽或无法访问) |
集成场景
| 场景 | 结果 |
|---|---|
| free 层 fused_search | 约 1.3–3.0s 内获得 5 条命中;跨引擎相互印证(例如 yahoo+exa-free → 在 rust 发布说明上得分 3.29) |
| x_search(无凭据) | 关键词通过多引擎 + oEmbed;用户通过访客 GraphQL(@NASA 约 2s);线程通过 oEmbed |
| SSRF 与 Clash TUN fake-ip | 字面量 198.18/15 被阻止;TUN 路由的主机名被允许(DSH_SEARCH_ALLOW_TUN_FAKEIP=0 可禁用) |
| 无头 web_search | ✓ 免费 Bing/DDG/Yahoo/Exa 链 |
| 单元 + E2E 测试 | 57/57 单元测试;14/14 黑盒 E2E |
架构说明
- 在宿主进程中运行(直接使用 Node fetch / child_process)。
- HTML 抓取器(Bing / DDG / Yahoo)使用强制 IPv4 的 fetch——Windows 上的 undici 默认优先使用 IPv6 DNS,这会在访问搜索主机时间歇性超时。
- X 搜索:官方路径(lib/xsearch.js)→ 无需凭据的链(lib/xfallback.js:多引擎 + oEmbed + 访客 GraphQL),无凭据时进行同步预检。
文件
index.js — bundle 入口(providers + tools + commands + policy)
lib/engines.js — 引擎注册表(bing / ddg / yahoo / exa-free / …)
lib/exa-free.js — Exa MCP 无密钥引擎
lib/layer.js — free/api 层状态(/web_change)
lib/fusion.js — 融合评分、层级表、缓存
lib/fetch.js — Jina Reader + 焦点提取
lib/xauth.js / xsearch.js / xfallback.js — x_search 凭据 + 官方 + 回退路径
lib/research.js — deep_research + research_parallel
lib/policy.js — 主动搜索策略
cordis.patch.yml — DSH 补丁层清单
scripts/engine-benchmark.mjs — 维护者:实时免费引擎探测
发布(维护者)
sh
npm test
npm publish # prepublishOnly:语法 + 测试 + 干净的 git 工作树
许可证
MIT
链接: Issues · search-boost · pi-search-boost
友情链接: LINUX DO 社区扫码进群