dsh-web-automation

前言

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 工具,读取本地共享存储,无需联网。

所有状态均为本地存储,无需云服务。

核心能力

  1. 多引擎搜索
    支持路由至 DuckDuckGo/Bing(免密)和 Exa/DeepSeek/Jina(可选)。支持 fallback(后备)或 fuse(并行+RRF 融合)模式,并支持区域设置和 BM25 丰富。

  2. SQLite 缓存
    背后是 SQLite 页面缓存,使用 ETag 和 Last-Modified 进行条件验证。当页面在 TTL 内被重复获取时,不会发起网络请求。

  3. Web 平台搜索
    通过 web_platform_search 工具搜索特定平台。平台列表包括 GitHub、Reddit、YouTube、Bilibili、V2EX、RSS 等。新平台可通过配置或规则包热加载添加。

  4. 历史与缓存工具
    web_history 查看搜索历史,web_search_stats 查看统计,web_cache_clear 清除缓存。所有数据均来自本地数据库。

安装与启用

前置条件:
* Node.js 22.19+ 或 24+(DSH 本身的要求)。
* 已安装 DeepSeek Harness(可通过 npx @deepseek-ai/dsh 或源码构建运行)。

  1. 安装插件
    使用官方命令将插件安装到指定 Profile(例如 web profile):
    dsh plugin --profile web add git+https://github.com/stelmakhdigital/dsh-web-automation.git
该命令会自动应用 `local-web.cordis.yml` 覆盖层,固定 `web` seam 并注册相关工具。
  1. 启动与验证
    安装后启动 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 依赖的开发者。

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

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

小夜