dsh-web-search-router:DeepSeek Harness 的多源网页搜索路由插件

前言

在使用 DeepSeek Harness (DSH) 开发智能体时,单一搜索源可能因超时、配额耗尽或服务中断导致失败。dsh-web-search-router 插件提供了一个优先级排序的多提供者路由器,内置自动回退机制,旨在解决单一搜索源不稳定的问题。

它是什么

这是一个面向 DSH 的多提供者 web_search 路由插件,由开发者 Kerberos255 维护。它注册了一个名为 web-search-router 的 DSH 网页搜索提供者,但保持模型面对的工具不变:智能体依然调用 DSH 内置的 web_search。插件会按顺序尝试配置的提供者,并在遇到第一个成功结果时停止。

核心功能

  • 提供者管理:通过 DSH 的设置界面,可以调整提供者的优先级顺序、启用或禁用特定提供者。
  • 自动回退:当配置缺失、提供者失败、超时、触发速率限制、配额耗尽或默认情况下结果为空时,插件会自动切换到下一个提供者。
  • 冷却机制:对于瞬时故障设置短冷却时间;对于速率限制和配额问题,可配置冷却时间。
  • 配置与安全:非机密设置存储在 DSH 原生设置命名空间中,修改后无需重启。API 密钥保留在 DSH 凭据或启动环境中,不会显示在设置界面。
  • 日志清理:在记录日志或通过路由器返回错误信息前,会清理提供者的错误消息,移除敏感数据。

安装与启用

通过命令行安装插件,建议固定具体的提交哈希或标签以保证兼容性:

dsh plugin --profile web add github:Kerberos255/dsh-web-search-router#<commit-or-tag>

安装后,插件会自动选择 web-search-router 作为 DSH 的搜索提供者,并注入默认配置。

典型用法

  • 前置条件:你的智能体预设必须暴露 DSH 内置的 web_search 工具(例如标准预设)。如果预设中省略了 web_search,该路由器将不会被调用。
  • 设置配置:进入 Settings → Plugins → Plugin configuration → Web Search Router。

    • 在此页面可以重新排序提供者、启用或禁用提供者。
    • 配置 SearXNG 的基础 URL(无需 API 密钥)。
    • 写入或清除各提供者的 API 密钥。
    • 为每个提供者设置超时和冷却时间。
    • 选择当结果为空时是否继续尝试下一个提供者。
  • 提供者列表:插件支持多种搜索源,包括 SearXNG、DeepSeek Search、Tavily、Brave Search、Exa、Firecrawl、Parallel 和 DuckDuckGo。未配置的提供者会自动跳过。

  • DeepSeek 搜索高级配置:插件默认使用 DSH 官方 DeepSeek 搜索提供者设置。你可以在配置文件中覆盖它们,例如指定自定义的 deepseekBaseURL、deepseekModel 或环境变量 deepseekApiKeyEnv。

回退行为逻辑

对于每个启用的提供者,按以下顺序执行:
1. 检查是否配置或当前处于冷却期,若否则跳过。
2. 使用配置的超时时间运行搜索。
3. 成功则立即返回结果。
4. 结果为空时(根据配置决定)继续尝试下一个。
5. 失败则分类错误并继续尝试下一个提供者。

注意:调用方的中断(abort)会立即传播,不会触发回退机制。

注意事项与兼容性

  • DSH 版本:当前兼容 DSH 0.1.0-rc.6 和 0.1.1-rc.x,运行环境要求 Node.js 20+。DeepSeek Harness 仍处于开发者预览阶段,升级时请注意检查兼容性。
  • 安全:凭据值仅在主机端解析。浏览器仅接收凭据引用和配置状态元数据,不存储密钥值。路由器错误日志会先屏蔽 URL 和类似密钥/令牌的值。

总结

dsh-web-search-router 为 DSH 提供了一个灵活、可靠的搜索后端解决方案,通过多源路由和自动容错,增强了智能体获取互联网信息的稳定性。更多细节可参考 GitHub 仓库 或 社区目录。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜