前言¶
在 DeepSeek Harness(DSH)的插件体系里,智能体需要把搜索和正文读取拆成可替换、可管理的底层能力。只接一个搜索接口,往往只能拿到单一来源;多来源并发、失败隔离、正文抽取和本机状态管理,都要由插件自行处理。
下面介绍 mmzm0808/dsh-ventus-search。这是一个面向 DSH 的搜索与正文抓取插件,把 Bing、360、Bilibili 三个搜索来源整合到同一入口,并提供正文抓取、设置卡、本机状态 API 与状态文件管理。
这是什么¶
Ventus 搜索由 mmzm0808 维护,仓库名为 dsh-ventus-search,许可证为 MIT。
它解决两件事:
- 搜索:把 Bing、360、Bilibili 三引擎并发搜索的结果整理为可返回的结果集。
- 抓取:对网页正文做抽取、黑名单过滤、镜像回退与体积控制。
插件同时附带 Ventus 系列设置卡,可在设置中控制总开关、每引擎开关,并查看健康状态或执行测试搜索。
核心能力¶
多引擎搜索与结果整理¶
搜索侧主要包含以下能力:
- Bing、360、Bilibili 三引擎并发搜索。
- 标题命中 ×3 + 摘要命中 ×2 − 排名权重评分。
- URL 规范化去重。
- 单域名限额。
- Bing/360 跳转包装解码。
- 查询级 LRU 缓存,TTL 为 300s。
- 429/5xx/超时自动重试。
在失败处理上,插件会隔离单引擎失败,避免影响其他引擎;也支持备用查询重试。整体超时到点时,返回已有部分结果。全部引擎失败时,gracefulDegradation 可返回空结果而非抛错。
正文抓取¶
抓取侧围绕正文获取做了以下处理:
- 广告/追踪域名黑名单。
- 类 Readability 正文抽取。
- 镜像域名回退。
- 体积上限。
如果 Bilibili 搜索请求的 Cookie 为空,会使用内置默认 buvid3。
设置卡与健康状态¶
插件提供 Ventus 系列设置卡,包含:
- 总开关。
- Bing、360、Bilibili 每引擎独立开关。
- 每引擎健康状态:绿=正常、红=失败、灰=未测,并显示最近成功时间或失败原因。
- 测试搜索按钮:执行真实搜索,并展示耗时、来源数与结果列表。
安装与启用¶
先执行安装命令:
dsh plugin --profile web add github:mmzm0808/dsh-ventus-search
这条命令会把 dsh-ventus-search 安装到 DSH 的 web profile 中。仓库已提交完整 lib/ 构建产物,安装时无需执行构建脚本。DSH 插件开发使用 pnpm;通过 GitHub 分发时,不要求发布 npm。
安装后重启 dsh。之后进入:
设置 → Ventus 插件 → Ventus 搜索
在这里开启总开关,并按需启用或禁用 Bing、360、Bilibili。
典型用法¶
下面介绍几个常见操作。
1、检查总开关¶
在设置卡中查看总开关状态。总开关关闭后,搜索与抓取能力不可用。
2、单独控制引擎¶
可以在设置卡中单独启用或禁用:
- Bing
- 360
- Bilibili
引擎实际启用需要同时满足两个条件:
配置 engines.<id> 启用
状态文件 engines.<id>.enabled 启用
两者都满足时,对应引擎才会生效。
3、执行测试搜索¶
在测试搜索输入框中输入关键词。默认关键词为:
DeepSeek Harness 最新动态
点击测试搜索后,查看耗时、来源数与结果列表。
4、调用本机状态 API¶
状态 API 为 loopback-only,仅本机可访问,并返回 Cache-Control: no-store。
查看当前状态:
GET /api/ventus-search/state
修改 enabled 或 engines:
PATCH /api/ventus-search/state
执行真实测试搜索:
POST /api/ventus-search/test
状态文件¶
状态文件路径为:
~/.dsh/plugins/ventus-search/state.json
写入时采用原子方式:先写临时文件,再执行 fsync,最后 rename。这样可减少进程异常时产生半截状态文件的风险。
适用场景与注意¶
Ventus 搜索适合以下场景:
- 需要在 DSH 中整合 Bing、360、Bilibili 多个搜索来源。
- 希望插件处理失败隔离、重试、整体超时与部分结果返回。
- 需要同时使用搜索和正文抓取能力。
- 希望通过设置卡和本机 API 管理插件状态。
使用前需要注意:插件以当前 DSH 进程权限运行,会访问外部搜索接口、抓取网页,并读写本地状态文件。安装前应检查源码、依赖与 MIT License。如果运行环境要求严格,应在可信网络和可控账户下使用。
结尾¶
Ventus 搜索把多引擎搜索、结果整理、正文抓取和本机状态管理放在同一个 DSH 插件里,适合需要在 DSH 中接入联网检索能力的插件开发场景。
GitHub:
https://github.com/mmzm0808/dsh-ventus-search
目录页线索:
https://www.skillhub.cn/plugins/mmzm0808/dsh-ventus-search