Ventus 搜索 · DeepSeek Harness 多引擎搜索与正文抓取插件

前言

DeepSeek Harness (DSH) 采用插件化架构,将功能模块化以扩展能力。在进行联网搜索或内容抓取开发时,单一搜索引擎往往无法满足数据广度需求,且缺乏正文抽取能力。dsh-ventus-search 插件将 Bing、360 和 Bilibili 注册进 DSH 的 ctx.web,提供多引擎并发搜索、结果评分去重与类 Readability 正文抓取功能。

核心功能

  • 多引擎并发:支持 Bing、360、Bilibili 并发搜索。支持跳转链接解码与域名限额(单域名最多返回数)。
  • 结果质量控制:基于命中权重(标题 ×3 + 摘要 ×2)的评分机制,自动 URL 规范化去重。
  • 容错机制:单引擎失败自动隔离,不影响其他引擎。支持备用查询重试与整体超时兜底。
  • 缓存与性能:提供查询级 LRU 缓存(默认 TTL 300s),支持 AbortSignal。
  • 正文抓取:集成类 Readability 算法,支持广告/追踪域名黑名单过滤与镜像域名回退。
  • 安全与稳定性:API 限本机访问(Loopback-only),状态文件采用原子写入(fsync + rename)。

安装与启用

通过 DSH 官方插件命令安装:

dsh plugin --profile web add github:mmzm0808/dsh-ventus-search

安装完成后需重启 DSH。仓库已包含完整构建产物,无需执行构建脚本。

使用方法

  1. 进入设置卡:在 DSH 界面中依次点击「设置」->「Ventus 插件」->「Ventus 搜索」。
  2. 控制可用性:
    • 总开关:控制搜索与抓取 provider 的全局可用性。
    • 引擎开关:可单独启用或禁用 Bing / 360 / Bilibili。
  3. 测试与监控:
    • 在输入框输入关键词,点击「测试搜索」查看真实结果、耗时及来源数。
    • 查看各引擎健康状态(绿=正常,红=失败,灰=未测)及最近成功/失败信息。

配置项

插件提供详细的配置项,默认值在括号内:

键 默认值 说明
enabled true 总开关
engines.bing true 启用 Bing
engines.so360 true 启用 360 搜索
engines.bilibili true 启用 Bilibili
maxResults 8 返回来源数上限
maxDomainResults 2 单域名最多保留结果数
requestTimeoutMs 8000 单引擎单次请求超时
overallTimeoutMs 15000 整体搜索超时
gracefulDegradation true 全部失败时返回空结果而非抛错
cache.enabled true 启用查询级 LRU 缓存(TTL 300s)
fetch.enabled true 启用正文抓取 provider

说明:引擎的实际启用状态由配置文件中的 engines.<id> 和运行时状态文件中的 engines.<id>.enabled 共同决定。

API 与数据

插件提供本地 API(Loopback-only,Cache-Control: no-store):

  • GET /api/ventus-search/state:获取当前状态(总开关、引擎开关、健康状态)。
  • PATCH /api/ventus-search/state:更新状态(Body 包含 enabled 或 engines 字段)。
  • POST /api/ventus-search/test:测试搜索(Body 包含 query 字符串)。

状态文件路径为 ~/.dsh/plugins/ventus-search/state.json。

生态背景

DSH 理念为「一切皆插件」。dsh-ventus-search 仅为社区插件,由开发者 meto-ventus 维护,遵循 MIT 许可证。

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

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

小夜