dsh-web-search-edge

DSH PLUGIN记忆与知识

仓库 ztc1522021381/dsh-web-search-edge

记忆与知识 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

dsh-web-search-edge 是 ztc1522021381 维护的 记忆与知识 类 DSH 可安装插件, 仓库为 ztc1522021381/dsh-web-search-edge,许可证 MIT。 下面按「装什么、怎么装、验没验过、跑起来要注意什么」逐项列出。

一句话选型结论

按资料字段整理

dsh-web-search-edge 是记忆与知识类的 DSH 可安装插件,验证等级 L5 · 运行验证通过,安全审查为低风险,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类记忆与知识 收录类型可安装插件 验证等级L5 · 运行验证通过 安全审查低风险
验证等级 L5 L5 · 运行验证通过
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-10-18 创建于 2026-10-17
README 9.3 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:ztc1522021381/dsh-web-search-edge
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

记忆与知识
字段来自项目仓库与公开索引,中文说明由本站标注

适用场景

联网搜索

上游标签

bingbrowser-automationcdpchromechromiumdeepseek-harnessdshdsh-pluginedgekeylessshenmaweb-search

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L5:安装和运行都在沙盒里跑通过,装完能直接用的概率高。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在记忆与知识场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-web-search-edge当前 L5 · 运行验证通过 低风险 0 未标注 有
ruflo L3 · 安装规范通过 低风险 7.4 万 未标注 无
OpenViking L3 · 安装规范通过 低风险 3.9 万 未标注 无
WeKnora L4 · 沙盒安装通过 低风险 3.3 万 未标注 有
distilly L4 · 沙盒安装通过 低风险 2.5 万 未标注 有
EverOS L4 · 沙盒安装通过 低风险 1.3 万 未标注 有

仓库档案

记忆与知识
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方ztc1522021381仓库 dsh-web-search-edge · 默认分支 main
分类记忆与知识knowledge
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言未标注仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 0收录时的数值,非实时
创建 / 更新2026-10-17 · 2026-10-18最后推送 2026-10-18
本站收录2026-10-30首次进入本站目录的时间

README 全文

9.3 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-web-search-edge

零密钥、零费用的 web_search 后端,给 DeepSeek Harness 用。抓取走本机浏览器——用哪个浏览器你说了算。

内核要求:dsh >=0.2.1-rc.1(ctx.web 的 Config 从这一版起支持 .volatile())。

浏览器可随意设置

渲染通道不绑定 Edge。以下四种方式任选,优先级从高到低:

方式 写法
插件配置 browserPath: "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"
环境变量 DSH_SEARCH_BROWSER 或 DSH_EDGE_PATH
自动探测 browserPath 留空:按常见路径依次找 Edge / Chrome / Chromium
完全不用浏览器 transport: http,只走纯 HTTP 抓取

任何基于 Chromium 的浏览器(Edge、Chrome、Chromium、Brave、Vivaldi……)都能用:渲染走标准
--headless=new --dump-dom,不依赖厂商私有接口。换浏览器不影响结果解析,因为解析是对 DOM 做的。

自动探测覆盖三平台:Windows 找 msedge.exe / chrome.exe(ProgramFiles(x86)、ProgramFiles、
LOCALAPPDATA),macOS 找 /Applications 下的 Edge / Chrome / Chromium,Linux 找
microsoft-edge / google-chrome / chromium 的常见路径。要是指定路径不存在,浏览器通道会被判为
不可用并明确报出来,不会静默退化成空结果。

内核兼容性

本插件跟随 DSH 内核的 ctx.web 契约。内核在 0.2.1-rc.1 引入 volatile config:被标为
.volatile() 的字段在运行时以活访问器形式下发(config.maxResults.get()),而不是普通值,
并且只改这些字段时内核会把新值提交进正在运行的 fiber,不重启、不重挂载。

因此本插件的两点约束:

  • Config 的每个字段都是 .volatile(),且各自位于固定对象路径上。内核不允许 volatile 字段
    嵌套在另一个 volatile 字段里,也不允许标在数组元素上(z.array(z.string().volatile())
    在构建 schema 时就会抛错),所以数组/联合类型是整体标记。
  • apply 收到的配置必须逐字段用 get() 解包。直接读字段会拿到访问器对象,typeof 判断
    全部落空并静默回落到默认值——你的设置会被无声丢弃。解包由 readOptions / readField 统一做。

package.json 的 engines.dsh 是内核兼容性闸门的唯一依据:只要声明了它,peerDependencies
就不参与判定,范围不满足时 profile 启动会直接拒绝挂载该插件。

它解决的是什么坑

DSH 自带的 deepseek-official 搜索提供方没有独立搜索接口,它把一次搜索实现成一次完整的
Messages 模型调用
(带上服务端的 web_search_20250305 工具),抓到的网页正文就是输入
token。于是每次 web_search 都真实扣一次 DeepSeek 余额——哪怕你聊天的模型是别人家的,
搜索这一下仍然记在你自己的账上。

本插件改成直接读搜索结果页,归一化成 ctx.web 需要的 WebSearchResult:无密钥、不调模型、
不计费。它注册进同一个 ctx.web 破缝,dsh-tool-web 依旧负责模型侧的 web_search 契约。

为什么用浏览器渲染而不是纯 HTTP 抓取

值得用的中文引擎都是客户端渲染的:服务器发回来的 HTML 里根本没有结果卡片,结果由页面
自己的 JavaScript 填充。HTTP 抓取永远看不到它们,浏览器渲染后就能拿到。

实测(本机,--headless=new --dump-dom,用 Edge):

引擎 通道 实测
神马 m.sm.cn Edge 渲染 渲染后 372 KB,稳定 10 条结果,标题/来源/真实 URL 齐全,无广告位,不限流
Bing HTTP 250–450 ms,10 条。HTML 里就有结果,渲染它反而要 5.5 秒,纯属浪费
360 — 按出口 IP 限流,连着几次整机进验证码。已从本插件移除
百度 / 搜狗 / Quark Edge 渲染 仍然被验证码或反爬页拦住,不可用

关键否定结果:360 和百度的拦截是按出口 IP的,不是按指纹。用真实 Edge 无头跑同一个
URL,拿到的还是同一个验证码页。所以这类引擎不是"换个浏览器就能过",而是没有价值,已删除。

引擎与通道

transport: auto      # 默认:每个引擎走自己能用的通道
transport 行为
auto(默认) 神马走浏览器渲染(约 4–5 秒),Bing 走 HTTP(约 0.3 秒)。正确且最快
browser 全部走浏览器渲染。最慢,但完全不受 HTTP 层拦截影响
http 全部走普通抓取。最快;神马这类客户端渲染的引擎会明确报告"渲染型引擎,请用 auto"而不是静默返回空
引擎 id 说明
shenma 神马/UC。中文质量最好,走浏览器渲染。
bing 始终可达。英文/技术查询强,但按源 IP 定位,本地中文查询会漂移到别的城市。

旧 id 会被映射,配置写错不会让整个搜索挂掉:

smcn / sm / uc / shenma-mobile  →  shenma
bing-html / google / duckduckgo →  bing

四个关键机制

相关性闸门(按稀有度加权)。一个词如果每条候选里都有("下载"、"天气"),它不能区分答案;
只在少数页面出现的词(works2、stm32f103、梯形图)才决定相关性。所以每个词按
1 / (0.5 + 文档频率/候选数) 加权,并且命中至少要落在一个有区分度的词上,否则整条丢掉。
标题命中权重 2、URL 1.5、摘要 1。

答非所问提示。Bing 会按 IP 地理位置给答案,而且给得很自信。所以当最终结果没有覆盖查询里
的区分性词(例如问"上海"却全是滨州的页面),插件不假装成功:照常返回结果,但在 content
里写一句"这些来源没覆盖 X,是最接近的匹配而非确认答案"。dsh-tool-web 会把 content 印在
来源列表上方,模型能自己决定要不要换词重查。

限流冷却。引擎返回验证码/反爬页时记一笔,默认 10 分钟内不再问它——反复戳验证码端点只会
让 IP 关得更久,而且每次重试都把整次搜索拖到超时。冷却中的引擎不会在每次搜索里刷提示,只有
在结果确实可疑、或只剩一个引擎答上来时才会说明。

同站限额。blog.csdn.net 和 bbs.csdn.net 是两个 host、一个站。默认同一注册域最多占 3
条;超出名额在别的站不够用时再回填,所以限额不会缩短结果集。

配置

字段 默认 含义
engines [shenma, bing] 引擎列表,顺序仅用于打平。
maxResults 8 单次搜索返回上限。
maxPerSite 3 同一注册域最多几条。
timeoutMs 15000 单个 HTTP 请求预算。
transport auto auto / browser / http,见上表。
browserPath "" 显式指定浏览器(Edge / Chrome / Chromium / 任意 Chromium 内核);空则自动探测(DSH_SEARCH_BROWSER / DSH_EDGE_PATH 也可)。
browserTimeoutMs 30000 单次无头渲染预算。
cooldownMs 600000 被限流后跳过多久。
minAnchorCoverage 0.75 结果要覆盖多少比例的区分性词,低于此值才出提示;0 关闭。
debugDomDir "" 填一个目录就把每次渲染的 DOM 存下来,便于排查页面改版。

以上字段全部是 volatile 的:在设置页改动后下一次搜索即生效,不需要重启 DSH。

浏览器的用法与隐私

渲染用 <浏览器> --headless=new --dump-dom,每次都用全新的临时 profile 目录,用完即删。
它不会读写你真实的浏览器配置、历史、cookie 或扩展,也不会和你已经打开的浏览器窗口冲突。
--virtual-time-budget=9000 让渲染器快速推进定时器,这样结果填完才截图 DOM。

接线

profile 的 cordis.patch.yml:

- id: web
config:
searchProvider: free-scrape
fetchProvider: http
- id: web-search-deepseek
disabled: true          # 计费的那条提供方直接关掉,写错配置也只会报错不会扣钱
- id: web-deepseek-api
disabled: true          # rc.2 新增的官方 Search/Fetch API 行,同样关掉
- insert:
- id: web-search-free
name: dsh-web-search-edge
config:
engines: [shenma, bing]
transport: auto

web-fetch-http 仍是 fetch 提供方,web_fetch 一直是免费的,没有变化。

取舍

  • 结果就是引擎给的结果:标题、URL、摘要,永远没有合成答案(content 只用来放上述提示),
    模型拿来源自己去 web_fetch。
  • 走浏览器渲染的神马通道每次约 4–5 秒,主要开销是浏览器启动本身;实测把渲染预算从 9 秒降到 4 秒
    对结果数量没有影响,所以预算是够用就好,不是越大越好。
  • 中文长尾质量取决于神马是否可达;只剩 Bing 时本地化查询可能偏移,插件会明说,不会装作答上了。
  • 抓取受各引擎自身条款约束;这是给个人低频率查询用的,不是批量爬取。

回滚

删掉 profile patch 里的四段(web 覆盖、web-search-deepseek 禁用、web-deepseek-api 禁用、
web-search-free insert),searchProvider 回到内核默认的 deepseek-official。改完重启 DSH 生效。

常见问题

6 问
答案由本站依据条目字段整理,不引用上游原文
dsh-web-search-edge 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:ztc1522021381/dsh-web-search-edge` 即可。

dsh-web-search-edge 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-web-search-edge 安全吗?

低风险。

dsh-web-search-edge 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-web-search-edge 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

记忆与知识
按星标排序,可作替代方案

ruflo

ruflo

L3 · 安装规范通过 7.4 万 星

OpenViking

OpenViking

面向 DeepSeek Harness 的 OpenViking 记忆与上下文插件:pre-step 自动召回与画像注入、会话捕获、`vik

L3 · 安装规范通过 3.9 万 星

WeKnora

WeKnora

把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己

L4 · 沙盒安装通过 3.3 万 星

distilly

distilly

Distilly — Distill how they think into reusable Skills for any Agent o

L4 · 沙盒安装通过 2.5 万 星

EverOS

EverOS

L4 · 沙盒安装通过 1.3 万 星

MemOS

MemOS

L4 · 沙盒安装通过 1.2 万 星

ztc1522021381 的其它插件

2 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。