前言¶
DeepSeek Harness (DSH) 采用插件化架构,允许为本地模型扩展联网能力。在构建本地优先的智能体时,开发者常面临两个痛点:一是外部搜索 API 费用高昂或依赖不稳定;二是内置的 Web 功能可能无法满足特定场景需求,或者与自定义配置冲突。
dsh-web-automation 旨在解决这些问题,它将多引擎无密钥搜索、本地缓存获取以及平台特定搜索整合为一个独立的插件。
插件介绍¶
这是一个 DeepSeek Harness (DSH) 插件,为本地模型提供本地优先的 Web 栈。
维护者:stelmakhdigital
许可证:MIT
它包含四个核心能力,全部通过一个安装命令即可启用:
- 多引擎搜索:提供
web_search工具,支持 DuckDuckGo 和 Bing(无密钥),并可选 Exa / DeepSeek / Jina(需 API Key)。支持后备或融合路由、冷却机制和 BM25 优化。 - 缓存获取:提供
web_fetch工具,基于 SQLite 缓存,支持 ETag/Last-Modified 验证。在 TTL 内的重复请求不会发起网络请求。 - Web 平台搜索:提供
web_platform_search工具,可直接搜索 GitHub、Reddit、YouTube、Bilibili、V2EX、RSS 等。支持通过配置添加新平台,无需修改代码。 - 历史与统计:提供
web_history、web_search_stats和web_cache_clear工具,读取本地共享存储,无需联网。
所有状态均为本地存储,无需云服务。
核心能力¶
-
多引擎搜索
支持路由至 DuckDuckGo/Bing(免密)和 Exa/DeepSeek/Jina(可选)。支持fallback(后备)或fuse(并行+RRF 融合)模式,并支持区域设置和 BM25 丰富。 -
SQLite 缓存
背后是 SQLite 页面缓存,使用 ETag 和 Last-Modified 进行条件验证。当页面在 TTL 内被重复获取时,不会发起网络请求。 -
Web 平台搜索
通过web_platform_search工具搜索特定平台。平台列表包括 GitHub、Reddit、YouTube、Bilibili、V2EX、RSS 等。新平台可通过配置或规则包热加载添加。 -
历史与缓存工具
web_history查看搜索历史,web_search_stats查看统计,web_cache_clear清除缓存。所有数据均来自本地数据库。
安装与启用¶
前置条件:
* Node.js 22.19+ 或 24+(DSH 本身的要求)。
* 已安装 DeepSeek Harness(可通过 npx @deepseek-ai/dsh 或源码构建运行)。
- 安装插件
使用官方命令将插件安装到指定 Profile(例如webprofile):
dsh plugin --profile web add git+https://github.com/stelmakhdigital/dsh-web-automation.git
该命令会自动应用 `local-web.cordis.yml` 覆盖层,固定 `web` seam 并注册相关工具。
- 启动与验证
安装后启动 Profile:
dsh web # 启动 Web UI,地址 http://127.0.0.1:3080
dsh --profile tui # 启动 TUI(需确保 Profile 名为 tui)
在 DSH 会话中运行烟雾测试:
web_search "hello world"
配置与注意事项¶
配置方式
插件默认已启用所有功能,无需额外配置。如需调整,可在 DSH 的 cordis.yml 或通过 dsh --patch ... 应用覆盖层中添加配置段。
关键配置项包括:
* search:配置引擎列表(engines)、模式(mode:fallback 或 fuse)、区域(region)以及 Exa/DeepSeek/Jina 的 API Key。
* fetch:配置缓存验证策略(revalidate)。
* platforms:注册 web_platform_search 工具,设置最大结果数,或通过 id 和 searchUrl 添加自定义平台。
* history:控制历史记录、缓存清理和统计功能的开关。
注意事项
1. 本地存储:插件状态存储在 $DSH_HOME/web.db,所有数据均为本地化。
2. 互斥性:本插件与 DSH 内置的 Web 包(如 web-search-multi 等)互斥,不能同时加载,否则会在启动时报错 WEB_DUPLICATE_PROVIDER。
3. 浏览器自动化(可选):如需网页自动化(browser_open 等),需单独安装 dsh-web-browser 子包,并运行 playwright install chromium。
4. 许可证:插件遵循 MIT 许可证。
结语¶
dsh-web-automation 将本地 Web 栈所需的功能解耦为插件,使得在 DSH 中实现零成本的免密搜索和本地化缓存变得简单。它适合希望在本地环境运行智能体、避免外部 API 依赖的开发者。
- 插件目录:skillhub.cn
- GitHub 仓库:stelmakhdigital/dsh-web-automation