前言¶
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。仓库已包含完整构建产物,无需执行构建脚本。
使用方法¶
- 进入设置卡:在 DSH 界面中依次点击「设置」->「Ventus 插件」->「Ventus 搜索」。
- 控制可用性:
- 总开关:控制搜索与抓取 provider 的全局可用性。
- 引擎开关:可单独启用或禁用 Bing / 360 / Bilibili。
- 测试与监控:
- 在输入框输入关键词,点击「测试搜索」查看真实结果、耗时及来源数。
- 查看各引擎健康状态(绿=正常,红=失败,灰=未测)及最近成功/失败信息。
配置项¶
插件提供详细的配置项,默认值在括号内:
| 键 | 默认值 | 说明 |
|---|---|---|
| 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 许可证。