为 DeepSeek Harness 打造的增强持久化网页搜索插件(多引擎搜索、SQLite+LRU 缓存、平台后端、Playwright 渲染)
55.9/100
综合分
79
GitHub 星标
1,438
npm 周下载
—/5
用户评分
数据截至 2026/10/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
🟡 需留意插件(人工评级)
可读取本地文件,不会执行 shell 命令(会在本地写持久化搜索缓存文件;默认不执行 shell。)
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-web-search-pronpm 源 · dsh-web-search-pro 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · browser
安全吗
会在本地写持久化搜索缓存文件;默认不执行 shell。
还在维护吗
活跃:最近一次提交在 5 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-web-search-pro @ 0.2.3
✓Node 引擎要求 ^22.19 || >=24 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/30 02:38:01
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力人工评估:需留意(会在本地写持久化搜索缓存文件;默认不执行 shell。)展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令写入剪贴板(不计风险)读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 13 处,展示前 13 条)
- 写入剪贴板lib/client.js:5814
navigator.clipboard?.writeText(text).then(() => setCopied(true)).catch(() => void 0); - 读取密钥环境变量lib/router.js:515
const githubToken = cfg.githubToken || process.env[cfg.githubTokenEnv] || process.env.GH_TOKEN; - 发起网络请求lib/provider.js:86
async fetch(request, signal) { - 执行外部命令固定命令lib/util.js:70
cachedNpmRoot = execFileSync('npm', ['root', '-g'], { encoding: 'utf8', windowsHide: true, timeout: 15000 }).trim(); - 读取密钥环境变量lib/engines.js:61
const key = () => deps.exaApiKey || process.env.EXA_API_KEY; - 读取密钥环境变量lib/engines.js:205
const key = () => deps.jinaApiKey || process.env.JINA_API_KEY; - 读取密钥环境变量lib/engines.js:247
return deps.githubToken || process.env.GITHUB_TOKEN || process.env.GH_TOKEN || undefined; - 发起网络请求lib/providers/keyed.js:104
const req = spec.request(query, count, options); - 发起网络请求lib/pipeline/judges/coverage.js:115
result = await this.http.post(encodeRequest(this.model, state, body, this.extraBody), ctx, { estimatedInputTokens: chunk.reduce((n, q) => n + q.tokens - 发起网络请求lib/pipeline/judges/protocols/llm.js:140
const result = await this.http.post(encodeLlmRequest(this.model, user, this.extraBody), ctx, { estimatedInputTokens: fixed + chunk.reduce((n, q) => n - 发起网络请求lib/pipeline/judges/protocols/rerank.js:108
const result = await this.http.post(encodeRerankRequest(this.model, query, docs.map(d => d.text), this.extraBody), ctx, { estimatedInputTokens: estima - 发起网络请求lib/pipeline/judges/protocols/systemone.js:198
result = await this.http.post(encodeRequest(this.model, state, questions, this.extraBody), ctx, { estimatedInputTokens: chunk.reduce((n, q) => n + q.t - 写入剪贴板lib/client/group-advanced.js:21
return _jsxs(Group, { id: "advanced", title: t('groupAdvanced'), summary: t('groupAdvancedSub'), badges: n ? _jsx(Badge, { tone: "info", children: fil
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/cordis-plugin-group@deepseek-ai/cordis-plugin-include@deepseek-ai/cosmokit@deepseek-ai/dsh-agent@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-app-boot@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-store@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-settings给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 多引擎网页搜索
- SQLite与LRU缓存
最近更新
在 GitHub 查看全部 →v0.2.32026-10-28
· 变更内容
· 0.2.3 版本:DSH 0.2.1 系列、DeepSeek Search、设置界面重做、自定义命令行、智能体浮层
完整变更日志:
v0.2.12026-10-07
· 变更内容
· 0.2.1 版本发布:独立命令行适配层与平台后端链
完整变更日志:
v0.2.02026-10-05
· 0.2.0(2026-10-05)
正式发布 0.2.0 基线。继承下方 rc.1 的工具面、来源、证据管线与兼容范围;真实验证的宿主仍为 DSH 0.2.0-rc.2,可选 Browser 0.2.0。
· 修复同一原文块支持多个需求时只保留一处摘录的问题:按需求保留不同窗口,覆盖统计只承认实际被选入的需求;不同窗口使用不同证据 ID,history.expand 可分别展开。
· 底层选择器增加可选的渲染后 token 预算回调、按原文块计算每 URL 配额、每块窗口上限与按需求定位锚点;默认行为仍使用字符预算。这些选项尚未接入宿主设置,冻结样本不支持把它们整体切为默认策略。
· 增加仅检查交付摘录的支持度评测,区分整块金标命中与摘录实际保留的事实。
· 修复测试隔离:来源路由的模拟请求同时模拟 DNS,超时场景显式保留测试事件循环;发布工作流同时执行 bench 类型检查与测试。
· 本地完整验证:711 项插件测试、94 项 bench 测试、类型检查、peer 范围、构建与客户端 bundle 检查通过。真实 DeepSeek 对比采用 API 返回的 token 用量;节省幅度只适用于已记录样本。
仍适用 rc.1 下方列出的已知限制。规则评分与覆盖为启发式,整块评分或自定义 judge 的高分不保证摘录包含所有条件;有精确条件、数字或否定的任务应展开原文核验。严格 token 上限尚不是用户配置的默认保证。
· 基线设计与迁移说明
已实测基线为 DSH 0.2.0-rc.2 与可选 @anweat/dsh-browser 0.2.0。
· 兼容性与基线
· 只支持 DSH >=0.2.0-rc.2 : {total, daily} 可选请求额度(默认不设上限),用尽后跳过并退回其他来源。
· 评分模型与用量账本:evidence.judge.mode(off | shadow | control | hybrid);provider 协议 systemone / rerank / llm 与内置预设,可自定义;提示词(rubric)可配置、带版本;每次模型调用先预留后结算,记入持久化账本,受 evidence.budget 单次 / 每日上限约束;sources.status 显示 provider 与当日用量。
· 覆盖判定(默认关闭):evidence.coverage 的 off | shadow | control,只降级、不删证据;建议先在 shadow 下观察自己的分布。
· ctx.web provider 路由:registerProvider: true 并在 web 条目选中本插件后,宿主内置的 web_search / web_fetch 返回本插件的证据包与预算内正文;sources.status 显示选中状态。
· 设置面板:覆盖上述全部新增配置(分组折叠,中英文),密钥只走 DSH Credentials,不回显。
· 随包 skill dsh-web-search-pro(用法与排障参考);常驻系统提示只有一行。
· 并发与可靠性:SQLite busy_timeout 与事务化组合写入、相同请求的 in-flight 合并、空结果与用户取消不再触发引擎冷却、关闭后在途请求不抛错、各出口统一的输出整形与 truncated 标记;dsh-browser 改为按调用解析的可选依赖(未安装、未启用、运行中移除都不影响其余功能)。
· 已知限制
· 评测标注(bench/ 的金标)全部是未经人工复核的 LLM 草稿;Jev / 覆盖判定的阈值与效果据此得出,换 provider、模型或 rubric 版本都要重新校准。
· 需 Key 来源中,只有博查做过真实调用验证;Tavily、Brave、Linkup、Serper、秘塔、智谱、百度千帆的接口依据官方文档与参考实现编写,标记为 not verified live,免费额度同样只读了官网页面,没有注册验证。Exa 无 Key 路线的限额未知。
· 需要登录的平台(小红书、知乎、微博、豆瓣、贴吧、抖音、快手、Twitter / X 等)需要真实登录态才能验证,尚未在真实账号下测过。
· 设置面板在桌面端的观感(折叠、暗色主题、窄屏)与保存后的热更新只做过组件渲染与内存 scope 测试,需在真实桌面界面确认。
· toolSurface 与 registerProvider 需重启 profile 才生效。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成dsh-web-search-pro
DeepSeek Harness(DSH)的增强型网页搜索插件:多引擎搜索、平台搜索、持久化缓存和证据包,常驻上下文只有两个工具。
- 证据包模式:给 search.run 一句任务目标,返回的不是结果列表,而是按需求评分后的摘录和未满足的缺口,占用的上下文少得多。
- 多引擎 + 平台来源:ddg / bing / Exa / Jina 等网页引擎加 GitHub、B站、YouTube、小红书、知乎、Reddit、X、RSS 等平台,统一的探测、冷却、回退与历史;DeepSeek 搜索 / 抓取是「常用」来源(按请求计费)。
- 登录由你自己完成:需要登录的平台优先走 opencli(用你日常 Chrome 的登录态),插件没有登录窗口,也不读 Cookie。
- 两个常驻工具:web_index(目录)→ web_call(执行),27 个动作按需披露,约 800 字符常驻。
- 持久化:SQLite + 内存 LRU 双层缓存、查询历史、可再导入的站点提取规则。
- 可视化设置:一张设置卡片管理搜索顺序、Key、自定义 CLI 和评分模型,智能体的改动以覆盖层形式出现,可一键采纳或撤销。
展开完整文档(README 剩余 1 节)
dsh-web-search-pro
DeepSeek Harness(DSH)的增强型网页搜索插件:多引擎搜索、平台搜索、持久化缓存和证据包,常驻上下文只有两个工具。
- 证据包模式:给 search.run 一句任务目标,返回的不是结果列表,而是按需求评分后的摘录和未满足的缺口,占用的上下文少得多。
- 多引擎 + 平台来源:ddg / bing / Exa / Jina 等网页引擎加 GitHub、B站、YouTube、小红书、知乎、Reddit、X、RSS 等平台,统一的探测、冷却、回退与历史;DeepSeek 搜索 / 抓取是「常用」来源(按请求计费)。
- 登录由你自己完成:需要登录的平台优先走 opencli(用你日常 Chrome 的登录态),插件没有登录窗口,也不读 Cookie。
- 两个常驻工具:web_index(目录)→ web_call(执行),27 个动作按需披露,约 800 字符常驻。
- 持久化:SQLite + 内存 LRU 双层缓存、查询历史、可再导入的站点提取规则。
- 可视化设置:一张设置卡片管理搜索顺序、Key、自定义 CLI 和评分模型,智能体的改动以覆盖层形式出现,可一键采纳或撤销。
兼容性
| 项 | 范围 |
| dsh-web-search-pro | 0.2.3 |
| DSH 宿主(peer) | >=0.2.0-rc.2 <0.2.1-0 \|\| >=0.2.1-rc.2 <0.2.2-0;实测 0.2.0-rc.2、0.2.1-rc.3、0.2.1-rc.4 |
| cordis(peer) | ~4.0.4 |
| 可选配套 @anweat/dsh-browser | ^0.2.0(0.2.1 线宿主上必须是 0.2.2 起) |
| DSH 0.1.x 宿主或 dsh-browser 0.1.x | 固定使用 dsh-web-search-pro@0.1.15,不再更新 |
历史版本的兼容表见 CHANGELOG,peer 范围的写法见 兼容范围。
安装
DSH CLI(装完重启配置档):
只要搜索:
dsh plugin --profile web add dsh-web-search-pro@0.2.3
还要读取渲染页 / 浏览器平台:连同可选的浏览器插件一起装(两者都必须是配置档的直接依赖)
dsh plugin --profile web add @anweat/dsh-browser@0.2.2 dsh-web-search-pro@0.2.3
dsh --profile web
DSH Desktop:Desktop 的配置档由应用管理,CLI 不能操作它。打开插件页 → Add plugin,填包名(可带版本,如 dsh-web-search-pro@0.2.3,写法同上面 add 后面那段)→ Install;对话框里还能选 Registry。非官方插件升级 = 先卸载再重装;国内镜像(如 npmmirror)可能晚同步,装不到新版本时把 Registry 换成 https://registry.npmjs.org。
本地目录 / tarball(开发用):dsh plugin --profile web add ../dsh-browser ./dsh-web-search-pro。
更多(新用户第一次安装的注意事项、排障)见 安装与首次使用;升级见 CHANGELOG。
第一次使用
- 设置卡片:设置 → 插件 → 插件配置 → Web Search Pro。顶部的状态摘要显示实际尝试顺序的默认引擎链、已配置 Key 的来源数、DeepSeek 是否就绪、待重启项等。
- 查看后端:让模型调用 web_call 的 sources.status,每个来源 / 平台的就绪状态和被跳过的原因都在里面。
- 来源与密钥:网页搜索和证据管线装完即用(ddg / bing 免 Key)。有 DEEPSEEK_API_KEY 时,默认搜索会先用按请求计费的 DeepSeek 搜索;不想用就在 sources.disabled 里写 deepseek。Exa、Jina、博查、GitHub 等 Key 在设置卡片的「来源」分组里写入(存进 DSH Credentials,不读回明文)。
- 开箱默认值:默认关闭 Jev(evidence.jevMode: off,证据评分用本地规则,不调用任何模型,也不需要任何模型 Key);只有配置了博查 Key 才会使用博查。
- 可选依赖:浏览器插件 @anweat/dsh-browser(read.snapshot、read.fetch mode=playwright、搜索页类平台;有 Chrome / Edge 就直接用,不用下载 Chromium);npm i -g @jackwener/opencli 加它的 Browser Bridge 扩展(小红书 / 知乎 / Reddit / X,用你日常 Chrome 的登录态,见 平台登录态);bili、yt-dlp、gh 等 CLI 由 sources.deps 检测。
快速示例
模型通过 web_call({action, args}) 调用。证据包(传 task 或 profile):
{"action":"search.run","args":{"query":"node:sqlite busy timeout","task":"how to set a busy timeout in node:sqlite","profile":"docs_code"}}
搜单个平台(登录类平台走 opencli-first 的后端链):
{"action":"search.run","args":{"query":"机械键盘 轴体 推荐","task":"了解知乎上对机械键盘轴体的真实经验","profile":"experience","platform":"zhihu"}}
读页用 read.fetch(长页传 offset 续读),不知道用哪个来源就问 search.recommend。更多用法见 搜索用法与证据包。
工具与动作概览
常驻工具只有两个:web_index({group?, action?, query?}) 渐进披露目录,web_call({action, args}) 执行动作并返回统一信封。使用指引在随包的 skill dsh-web-search-pro 里。
| 组 | 动作 | 用途 |
| search | run recommend | 多引擎 / 平台搜索与证据包;按任务推荐至多 3 个来源 |
| read | fetch contents snapshot | 可读化抓取与续读;Exa 批量正文;浏览器快照 |
| history | list replay expand export delete | 查询历史的列出、回放、展开证据块、导出、删除 |
| sources | status deps install | 后端探测与诊断;外部依赖检测与安装 |
| rules | list upsert remove import export | 按站点提取规则 |
| cache | clear stats | 缓存清理与统计 |
| config | inspect set_order set_confidence upsert_cli remove_cli reset export | agent 覆盖层:运行时调整搜索顺序、置信度、自定义 CLI |
完整参数、审批规则、输出预算与旧工具映射见 工具与动作。
常用配置
写在 $DSH_HOME/settings.yaml 的 web-search-pro: 段,或用设置卡片;几乎都是热更新。
| 键 | 默认值 | 说明 |
| engines | [ddg, bing, exa, seam, jina] | 通用搜索的回退顺序 |
| sources.priority / sources.disabled | 空 | 提前 / 完全不用的来源 id(如 disabled: [deepseek]) |
| searchMaxResults | 8 | 普通搜索的默认结果数 |
| evidence.jevMode | off | 博查 Jev 评分:off \| shadow \| control \| hybrid(付费,默认不调用) |
| evidence.sourcePolicy | default | anonymous-only = 自动规划绝不用需要 Key / 账号 / 登录的来源 |
| deepseekFetch | false | true = read.fetch 可用 DeepSeek Fetch API(按请求计费) |
| fetchDefaultChars | 20000 | read.fetch 默认返回字符数 |
| toolSurface | indexed | flat = 每个动作一个工具(仅对照与调试);需重启 |
| registerProvider | false | 让宿主内置 web_search / web_fetch 经过本插件;需重启 |
需要重启插件的只有 toolSurface、registerProvider、providerId、timeoutMs、memoryCacheEntries、dbPath、verbose、playwright.snapshotDir。全部键与默认值见 配置参考。
文档索引
详细文档(中文)在 docs/:
- 使用:安装与首次使用 · 搜索用法与证据包 · 工具与动作 · 历史管理
- 配置:配置参考 · 设置面板 · 来源与引擎 · 内置 web 工具路由 · Jev 评分
- 平台与 CLI:平台登录态 · CLI 适配与自定义 CLI · 外部依赖 · 自定义平台 · 浏览器脚本与自动化分层
- 版本与开发:兼容范围 · CHANGELOG · 开发 · 设计与调研记录 · 验证记录
License
MIT。路由控制面借鉴 Agent-Reach 的后端探测、顺序选择和失败冷却思路,核心逻辑为本项目原生 TypeScript 实现。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
anweat/dsh-web-search-pro
为 DeepSeek Harness 打造的增强持久化网页搜索插件(多引擎搜索、SQLite+LRU 缓存、平台后端、Playwright 渲染)
相关插件 · 浏览器
智能体插件框架deepseek-ai/deepseek-harness
DeepSeek Harnessdsh是由 DeepSeek AI 开发的开源 agent harness智能体框架。
★ 270,422已汉化DSH
71.9
多设备 Agent 看板YaoApp/yao
✨ 所有 Agent 和工作区集中管理,覆盖你的每一台设备。任务看板追踪进度,桌面端、移动端、浏览器、API…
★ 8,147已汉化DSH
71.2
可扩展侧边栏工作台omdsh-dev/DSH-better-sidebar
DSH 的双工作台:原生右侧栏 + 自绘底部面板,并把 ctx.betterSidebar 服务开放给所有插件
★ 4,761已汉化DSH
71.1
浏览器自动化桥Tencent/BrowserSkill
你的 Agent。你的浏览器。连接,就能协作。
★ 9,928已汉化DSH
71
AI 小说创作工作台EthanYoQ/AI-Novel-Writer
AI 小说作家 / AI Novel Writer
★ 1,591已汉化DSH
70.7
智能体浏览器引擎platonai/Browser4
DeepSeek Harness 集成
★ 1,175已汉化DSH
70.4