DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Um Dsh Websearch — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
U

um-dsh-websearch

Um Dsh Websearch

适用于 DeepSeek Harness 的多提供商(Exa + Parallel + DeepSeek Official)网页搜索策略插件:包含按顺序排列的 providers[] 列表、每个提供商的付费 REST / 免费匿名层级、按密钥配置的双向回退开关、多密钥顺序/随机策略、并发扇出、内存中的 TTL 结果缓存、以 UM_WS_ 为命名空间的凭据引用,以及一个由 Settings 驱动的提供商列表和 Modal 详情编辑器。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:UnforgetMemory/um-dsh-websearch#c1791664803fe9e80044ca1eb141401c75ca0ddd
README兼容性版本

说明

适用于 DeepSeek Harness 的多提供商(Exa + Parallel + DeepSeek Official)网页搜索策略插件:包含按顺序排列的 providers[] 列表、每个提供商的付费 REST / 免费匿名层级、按密钥配置的双向回退开关、多密钥顺序/随机策略、并发扇出、内存中的 TTL 结果缓存、以 UM_WS_ 为命名空间的凭据引用,以及一个由 Settings 驱动的卡片,其中包含提供商列表和 Modal 详情编辑器。

兼容性与来源证明

Um Dsh Websearch 以 um-dsh-websearch 发布,当前版本为 0.6.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/9/11

版本

0.6.0stable
2026/9/11
0.5.1stable
2026/9/4
0.5.0stable
2026/9/4

相关插件

正在加载相关插件…

最新版
0.6.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/9/11
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 search-research 分类下经过校验的插件。

Anysearch Dsh@anysearch/anysearch-dsh适用于 DeepSeek Harness 的 AnySearch 网络搜索和获取提供程序及高级工具Industry Researchdsh-industry-research适用于 DeepSeek Harness 的行业与公司研究领域包:方法论技能、行业链结构模型(industry_map)、通过 ctx.web 进行的公开来源政策/新闻跟踪(industry_track)、公司扫描卡片(company_scan)以及可审计的研究Zoterodsh-zotero让智能体搜索、阅读并引用您的本地 Zotero 文献库:查找论文、浏览笔记和批注、按问题提取证据、打开源文档并生成引文。Browser@anweat/dsh-browserDeepSeek Harness 的自包含浏览器运行时插件(作用域为 @anweat)——将 Playwright(chromium)和 OpenCLI 作为插件本地依赖进行打包(支持全局复用回退),提供 `browser` 服务和交互式浏览器工具。

README

um-dsh-websearch — Exa + Parallel + DeepSeek Official 多源网页搜索 · DeepSeek Harness 插件

为 DeepSeek Harness 提供 Exa + Parallel + DeepSeek Official 多源搜索能力——有序 provider 列表、paid/free 双档位门控回退、多密钥策略、并发扇出、乐观缓存与中英双语设置卡片。

English · 简体中文


特性

  • 多 provider 策略层 — providers[] 有序列表即优先级:每个 provider 独立启停,defaultProvider 决定顺序链起点,主源被服务器拒绝时逐级降级
  • paid / free 双档位 + 门控回退 — 每个 provider 有付费 REST 与免密钥匿名 MCP 两个档位、各自独立开关;跨档位回退必须同时满足「耗尽密钥上的方向开关」与「目标档位已开启」,绝不擅自回退(Exa /search ⇄ mcp.exa.ai;Parallel /v1/search ⇄ search.parallel.ai/mcp;DeepSeek Official 仅付费档)
  • 多密钥策略 — 每个 provider 可挂多条凭据引用,ordered 按序 / random 每次搜索洗牌;每把 key 单独控制 allowFreeToPaid / allowPaidToFree
  • 并发扇出 — concurrency > 1 时一次搜索并发分发到全部启用源(provider × 档位 × key),结果按 URL 去重合并;concurrency = 1 保持顺序回退链
  • 乐观缓存 — 可开关的内存结果缓存 + 1–86400 秒 TTL,配置变更即时失效
  • deepseek-official 接入 — 伞内包装框架官方 DeepSeekSearchProvider(官方 API 对等、零协议漂移),以 UM_WS_DEEPSEEK_API_KEY 解析凭据
  • 凭据安全(UM_WS_ 命名空间) — 配置只存引用名,密钥本体留在凭据库/环境变量;引用默认带 UM_WS_ 前缀与官方包隔离,旧引用值一次性拷贝迁移且绝不删除
  • 分层设置卡 — 首屏:总开关 + 实时策略行 + 并发/缓存 + provider 列表(角色徽章、↑↓ 排序);「详细配置…」Modal 编辑每个 provider 的档位、密钥、端点与参数;密钥为手风琴行(每行一个下拉项、同时只开一个)

快速开始

pnpm exec dsh plugin --profile web add <本仓库路径>     # 本地 checkout
pnpm exec dsh plugin --profile web add github:UnforgetMemory/um-dsh-websearch

本包声明了 dsh.bundle,dsh plugin add 会把它追加进 dsh.profile.bundles 并自动挂载其自带的补丁层(cordis.patch.yml),无需再往 profile 手工插行。该层的内容是:

- insert:
    - id: um-web-search
      name: um-dsh-websearch

# 自动接管 web 行的 searchProvider(安装即生效,卸载随层移除)
- id: web
  config:
    searchProvider: um-web-search

安装后重启,在 设置 → 插件 → UM 网页搜索 开启 enabled(出厂默认关闭)。

本 bundle 层会自动把 web 行的 searchProvider 设为 um-web-search——安装即接管默认搜索、卸载即自动回退到部署原默认后端(deepseek-official),无需再手工改 profile;部署如需固定其他后端,在 profile 的 cordis.patch.yml 显式写 web 行即可(后层覆盖前层)。

⚠️ 接管窗口:出厂默认 enabled: false,接管后、开启 enabled 之前搜索不可用——web 行已指向本插件,关闭状态下搜索返回 WEB_PROVIDER_CONFIGURED_UNAVAILABLE。安装后请立即在设置卡开启 enabled。

迁移提示:若你按旧版 README 手工插过 id: web-search-exa 的注册行,请先从 profile 的 cordis.patch.yml 删除该行,否则 bundle 层挂载后会与新行同时存在、插件被重复加载。

0.5.x → 0.6 迁移:旧扁平配置键(preferred、exaEnabled、allowAnonymous…)在升级后自动合成为 providers[](零存储迁移);在新设置卡保存任意改动后旧键即被清除。旧默认凭据 EXA_API_KEY / PARALLEL_API_KEY 的值会自动拷贝到 UM_WS_EXA_API_KEY / UM_WS_PARALLEL_API_KEY(旧引用保留不删)。

配置

全局组

KeyDefault说明
enabledfalse插件总开关
defaultProviderexa顺序链起点(须为某 provider 的 id)
concurrency11 = 顺序回退链;2–8 = 并发扇出所有启用源
cache.enabledfalse内存结果缓存开关
cache.ttlSeconds60缓存保鲜时长(1–86400 秒)

Provider 组(providers[],数组索引 = 优先级)

Key说明
idprovider 标识(内置:exa / parallel / deepseek)
enabled本 provider 启停
primaryTier首选档位:free(匿名 MCP)或 paid(REST + 密钥)
paid.enabled / paid.baseURL付费档开关与 REST 端点
free.enabled / free.baseURL免费档开关与匿名 MCP 端点(deepseek 强制关闭)
keys[]密钥列表:ref(自动生成的凭据引用名,如 UM_WS_EXA_API_KEY/_1)、enabled、allowFreeToPaid、allowPaidToFree;设置卡中直接输入密钥值,经官方凭据接口写入凭据库
keysStrategy多 key 顺序:ordered(数组序)/ random(每次搜索洗牌)
numResults默认结果数(1–20)
paramsprovider 特有参数(Exa searchType;Parallel mode;DeepSeek model/maxUses)

改动任意字段在下一次搜索即生效。

回退语义(付费 ⇄ 免费)

  • 顺序模式:首选档位 → 同档位逐 key(按 keysStrategy)→ 耗尽后检查当前 key 的方向开关且目标档位已开启才跨档 → 本 provider 终态失败 → 下一 provider。
  • 服务器拒绝(401/402/403/429/5xx)才触发回退;取消、密钥缺失、客户端 4xx(含 422)、契约错误与网络失败永不回退。
  • 并发模式:所有启用源并行执行,单源失败不影响其他源,成功结果合并;无「回退」概念——免费档是否参与由其自身开关决定。

凭据配置

  • 设置卡里直接输入密钥值:保存时经 DSH 官方凭据接口 (connection.api.credentials.set)写入 DSH 凭据库,配置只存自动生成的 引用名,密钥字面量绝不落设置文件;留空保存 = 保持当前已存密钥。
  • 防泄露:页面只知"是否非空白地配置了密钥"(已配置/未配置徽章),已存值 绝不回显(掩码占位符仅为存在性提示),输入框禁用浏览器自动填充记忆。
  • 引用名自动生成:每个 provider 的第一把 key 用 UM_WS_<PROVIDER>_API_KEY,追加 的 key 依次为 _1、_2……(添加时生成、此后稳定不变,与官方包共享的 EXA_API_KEY / DEEPSEEK_API_KEY 等显式隔离)。
  • 也可手工把密钥存入凭据库(设置 → Models 页的 API 密钥区)或作为启动环境 变量注入——引用名对上即可用。
  • 免密钥玩法:开启某 provider 的免费档(free.enabled)即走公共 MCP,无需任何密钥。
  • DeepSeek Official 快速启用:在设置卡输入 key(自动写入 UM_WS_DEEPSEEK_API_KEY) → 开启 deepseek provider 的付费档 → 保存即生效。

开发版本

dev 构建使用「基版 + 版本码」方案:pnpm dev:version 生成形如 0.4.0.20260829102301 的版本(基版 + 14 位 yyyyMMddHHmmss 版本码,秒级唯一、 严格单调),并同步 package.json、VERSION 与设置卡「关于」页的版本;历史记录 在本地 .um.agents/memory/(不入库)。pnpm dev:version:reset 还原为基版。 dev 版本不提交、不打 tag、不进 CHANGELOG(提交/发布仅针对基版)。

测试

  • 单元测试(node:test,128 用例):node --test tests/plugin.test.mjs tests/boundary.test.mjs tests/render.test.mjs tests/version.test.mjs
  • 视觉交互测试(Playwright,30 用例,ADR-0005):pnpm test:visual
    • fixture 生成器 tests/render-visual.mjs 产出三页(index.html 静态快照 / interactive.html 浏览器端交互 / lab.html 视口实验室)
    • 覆盖:首屏 zh/en 快照、Modal 双 tab、视口自适应 4 宽度、关键交互(开关/排序/保存)、无障碍 ARIA、CSS 设计令牌
    • 更新快照基线:pnpm test:visual:update

使用与排障

  • 默认后端:bundle 层自动把 web 行 searchProvider 置为 um-web-search (0.4.0 起规范 id;兼容别名 exa 继续有效,同一伞实例);部署显式固定后端时 在 profile patch 里覆盖即可
  • 自动选择边界:本插件注册 um-web-search 与兼容别名 exa 两个 provider id 且共享可用性——若部署越过 bundle 层且 web 行未配置 searchProvider,两 id 皆可用时会收到 seam 的 WEB_PROVIDER_AMBIGUOUS(手册选择语义:多可用且未配置 id → 报错而非先到先得),故无 bundle 的手工挂载必须显式写 searchProvider
  • 运行时语义:searchProvider 在 WebRuntime 构造期读取,enabled 开关热切换只 控制可用性(关闭时搜索报 WEB_PROVIDER_CONFIGURED_UNAVAILABLE,不回退其他后端); 恢复其他后端的唯一方式是卸载本插件(bundle 层随包移除)
  • 策略语义:总开关关闭 → 整体不可用;顺序模式按 providers[] 序从 defaultProvider 起逐 provider 服务,被服务器拒绝且次源可用时跨 provider 降级; 取消、密钥缺失、4xx/422 客户端错误与网络失败不降级
  • 设置卡首屏显示有效策略:策略行(源序 + 并发数)、角色徽章(优先/备用/停用)、 ↑↓ 重排按钮;默认源停用时会警示
  • 组合验证:pnpm exec dsh --profile web --dump-config | Select-String um-web-search
  • exports 门禁与架构决策:ADR-0001、 ADR-0002、 ADR-0003、 ADR-0004、 ADR-0005; Parallel 接口事实:调研档案

支持

如果这个项目对你有帮助,欢迎请我喝杯咖啡:

许可证

MIT © 2026 UnforgetMemory