🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

全盘文件名搜索 oldHan2423/dsh-everything-find

DeepSeek Harnessv0.2.0-rc.2
oldHan242325 天前有提交已提供中文文档扫描:含敏感能力

Windows 上的 Everything 文件名搜索,接入 DeepSeek Harness:模型可以直接调用…

30.6/100
综合分
1
GitHub 星标
229
npm 周下载
—/5
用户评分

数据截至 2026/10/9 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-everything-find
npm 源 · dsh-everything-find 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · search
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 25 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-everything-find @ 0.2.0-rc.2
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/9 17:37:42

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 10 处,展示前 10 条)
  • 读取本地文件
    host.js:127
    if (existsSync(candidate.path) && statSync(candidate.path).isFile()) return candidate
  • 读取本地文件
    host.js:127
    if (existsSync(candidate.path) && statSync(candidate.path).isFile()) return candidate
  • 读取本地文件
    host.js:143
    return existsSync(candidate) && statSync(candidate).isFile() ? candidate : undefined
  • 读取本地文件
    host.js:143
    return existsSync(candidate) && statSync(candidate).isFile() ? candidate : undefined
  • 读取本地文件
    host.js:262
    const text = (await readFile(out, 'utf8')).trim()
  • 删除本地文件递归
    host.js:265
    await rm(dir, { recursive: true, force: true })
  • 删除本地文件递归
    host.js:306
    await rm(dir, { recursive: true, force: true })
  • 发起网络请求
    client.js:186
    return this.request('/status').then(function (payload) {
  • 发起网络请求
    client.js:202
    return this.request('/pick', { method: 'POST' }).then(function (payload) {
  • 发起网络请求
    client.js:228
    return fetch(API + path, options).then(function (response) {
扫描于 2026/11/2(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-tools@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 文件名搜索
  • 配置卡片

DeepSeek Harness 的 Everything(voidtools)文件名搜索:一个 everything_find 工具加一张配置卡片。

v0.2.0-rc.22026-09-30预发布
适配 DSH 0.2.0-rc.2 的首个版本(也验证过 0.1.7-rc.2)。 · 安装 · GitHub 源(当前可用) dsh plugin --profile web add github:oldHan2423/dsh-everything-find 也可以下载本页附带的 dsh-everything-find-0.2.0-rc.2.tgz 安装。 · 这个版本包含 · everything_find 工具:通过 Everything 索引全盘按文件名/路径搜索,毫秒级返回;支持 Everything 语法(ext:、dm:、size:>、path:)、类型过滤、排序与 directOnly(只列直系子项) · 插件页配置卡片:es.exe 路径、Everything 实例名、数据库加载超时、默认结果条数;自动显示当前生效路径与来源,内置「重新检测」与「浏览…」(调用系统目录选择器自动定位 es.exe) · 随包分发 voidtools ES 的 es.exe(MIT),装完即用 · 结果带真实匹配总数与诚实截断标记;Web 端渲染为搜索结果卡片 · 环境要求 · Windows(Everything 只有 Windows 版) · 本机已安装并运行 Everything · DSH 0.1.7 及以上(配置卡片需要 0.1.7+ 的设置机制)
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
dsh-everything-find Windows 上的 Everything 文件名搜索,接入 DeepSeek Harness:模型可以直接调用 everything_find 全盘找文件,不必先猜目录,也不必走 shell。 底层用 Everything 官方命令行接口 ES(es.exe)通过 IPC 查询正在运行的 Everything —— 不修改 Everything 的任何设置,也不需要开启 HTTP 服务。插件随包分发 es.exe,装完即用。 工具:everything_find | 参数 | 必填 | 说明 | | query | 条件 | Everything 搜索语法:空格=AND,\|=OR,!
展开完整文档(README 剩余 1 节)
dsh-everything-find

Windows 上的 Everything 文件名搜索,接入 DeepSeek Harness:模型可以直接调用 everything_find 全盘找文件,不必先猜目录,也不必走 shell。

底层用 Everything 官方命令行接口 ES(es.exe)通过 IPC 查询正在运行的 Everything —— 不修改 Everything 的任何设置,也不需要开启 HTTP 服务。插件随包分发 es.exe,装完即用。

工具:everything_find

| 参数 | 必填 | 说明 |
| query | 条件 | Everything 搜索语法:空格=AND,\|=OR,!=排除;支持 ext:ts、dm:today、size:>1mb、path:foo;用 匹配全部 |
| path | 条件 | 限定目录及其所有子目录;只给 path 就是列出整棵子树 |
| directOnly | | 只列 path 的直系子项、不递归(必须与 path 同用,对应 es.exe 的 -parent) |
| max | | 返回条数上限,默认取配置里的 maxResults(50),最多 1000 |
| type | | any / files / folders |
| sort | | 取 name、path、size、extension、date-created、date-modified、date-accessed、attributes、filelist-filename、run-count、date-recently-changed、date-run 之一 |
| descending | | 降序 |

query 与 path 至少给一个:两者都不给会被拒绝(否则 Everything 会静默返回整个索引的开头一页);只给 path 等价于 query: "" 加上 path。

返回结构:

{
"count": 1,
"total": 1,
"truncated": false,
"results": [
{ "name": "a.spec.ts", "path": "D:\\repo\\tests", "size": 1234, "dateModified": "2026-09-11T15:19:18" }
]
}

count 是本页条数,total 是 Everything 报告的真实匹配总数,truncated 表示这页没覆盖全部匹配:取满 max 的页面会去问 Everything 要真实总数,而没取满的页面本身就是全集。想看剩下的请提高 max(最多 1000)或收窄 query/path。

配置

DSH 0.1.7 及以上:设置 → 插件 → dsh-everything-find,配置卡片就在该 bundle 自己的页面上、描述下方,样式与文案和内置插件的设置页一致。

| 配置项 | 默认 | 说明 |
| esExe | 空 | 指定 es.exe 的绝对路径;留空则按下面的顺序自动探测 |
| esInstance | 空 | 要查询的 Everything 实例名(es.exe -instance);留空=普通安装所使用的未命名实例 |
| timeoutMs | 10000 | es.exe 等待 Everything 数据库加载完成再发查询的毫秒数(es.exe -timeout)。索引很大或磁盘很慢时调大 |
| maxResults | 50 | everything_find 未显式指定 max 时的返回上限(单次调用最多可要到 1000) |

es.exe 路径 框在没有手动覆盖时直接显示当前生效的路径,下面一行标出它的来源(配置里的路径 / 随包副本 / 系统 PATH / 常见安装位置);打开卡片时自动检测一次。不动它就等于没有覆盖,插件的自动探测照旧,也不会往配置里写死路径;一旦手动填写或用「浏览…」选入,就成为固定覆盖值(字段上出现「已覆盖」,可用「恢复默认」清回自动)。Everything 实例名 没有可探测来源,留空即默认的未命名实例。

旁边两个按钮:

- 重新检测 —— 重跑一次探测(改完 PATH 或新装了 ES 之后点一下即可)。
- 浏览… —— 打开本机目录选择器,选中 es.exe 所在的目录(通常是 C:\Program Files\Everything),插件会自动定位该目录下的 es.exe 并填入路径;填入后仍需点「保存」才生效。

「浏览…」用的是 DSH 官方的目录选择能力(本机部署是系统原生选择框);只提供网页内浏览后端的部署(例如远程访问)不会显示这个按钮,此时手填路径即可。

es.exe 的解析顺序(前面的优先,找到一个就用):

1. 配置卡片里的 esExe
2. cordis.yml / 插件 patch 的 config.esExe
3. 随包分发的 bin/es.exe —— 默认路径,装完即用
4. 系统 PATH
5. 常见安装位置(C:\Program Files\Everything\es.exe、Scoop、Chocolatey 等)

保存后下一次调用即用新值:字段是 volatile 的,配置改动原地生效、不会重挂插件,也不需要重启。若某个部署的设置界面不下发任何配置表单,就到 profile 的 cordis.patch.yml 里覆盖本 bundle 插入的那条 entry:

- id: dsh-everything-find
config:
esExe: 'C:\Program Files\Everything\es.exe'
timeoutMs: 20000
maxResults: 100

DSH 版本兼容性

配置卡片用官方设置页的同款组件渲染(SettingsForm + SettingsValueField),需要 DSH 0.1.7 及以上:它走 configForms 服务 + 「插件」页的 plugins.bundle.config 槽,字段声明为 volatile,保存后原地生效、无需重挂插件。更早的版本没有这套设置机制,本插件仍照常提供 everything_find 工具,但配置只能写在 profile 的 cordis.patch.yml 里,界面上没有配置卡片。

安装

从源码运行时用 pnpm dsh …;装了全局 dsh 就直接用 dsh …
从 npm 安装(已发布,推荐)
dsh plugin --profile web add dsh-everything-find

或直接从 GitHub 安装
dsh plugin --profile web add github:oldHan2423/dsh-everything-find

dsh plugin 把参数转交给 profile 目录里的 pnpm,所以 file:、本地目录、git、tarball 等规格同样可用;装完按提示重启。

手动安装:把本包放进 profile 的 node_modules,并在 profile 的 package.json 中把它加入 dependencies 与 dsh.profile.bundles。

manifest 必须是不带 BOM 的 UTF-8:启动时会直接 JSON.parse 每个 bundle 的 package.json,带 BOM 会让实例起不来。

file: 安装只在安装时把文件链进 profile。之后再改源码不会自动同步:重跑一次 dsh plugin … add(或把改动过的文件拷进 node_modules/dsh-everything-find)再重载。

没有构建步骤

host 半边是纯 ESM(host.js),浏览器半边是手写的 lazy-CJS factory(client.js):没有 TypeScript、没有打包器,改完同步+重启即可,不需要 pnpm build。

test/smoke.mjs 不需要测试框架就能跑通两半边。请从装好的副本里运行,因为它 import 的 DSH 包要靠 profile 解析:

node <profile>\node_modules\dsh-everything-find\test\smoke.mjs

它检查工具 schema、参数处理、真实 es.exe 的结果契约,以及卡片的注册与写入链路;Everything 没运行时,涉及 es.exe 的用例会自动跳过。

可用性与降级

插件加载后异步探测一次(用配置里的 timeoutMs),据此决定要不要暴露 everything_find:

- 探测通过 → 注册工具;它的描述会引导模型优先用它找文件或目录,grep 留给文件内容检索。
- 判定不可用(es.exe 解析不到,或 ES 退出码 8=Everything 的 IPC 窗口不在)→ 不注册该工具,文件检索自动回到 DSH 内置的 glob / grep(原生兜底)。把 Everything 启起来后,重载插件或重启 DSH 即恢复。
- 其它错误(含探测本身异常)→ 保持注册(fail-open);问题在调用时报出,错误信息会提示改用内置 glob。

前置条件与已知限制

- 仅 Windows:Everything 只有 Windows 版。
- Everything 需常驻运行:es.exe 通过 IPC 与它通信;未运行时的表现见上一节(工具不会被注册)。
- 需要 ES 1.1.0.3x 及以上:每次查询都以 -- 开关终止符收尾,而 ES 1.1.0.27 会报 Error 6: Unknown switch;随包的是 1.1.0.38。把 esExe 指向更老的 ES 会让每次调用都失败。
- 只匹配文件名与路径,不能搜文件内容(Everything 未开内容索引);内容检索用 grep 工具(工具描述里也写明了)。
- 只搜已建立索引的卷:Everything 的索引范围决定能搜到哪里。
- 单页最多 1000 条:要看更多请收窄查询,而不是继续加大 max。

许可证与第三方

- 本插件:MIT
- 随包分发的 bin/es.exe 来自 voidtools/ES(MIT,Copyright (c) 2025 voidtools),全文见 LICENSE-ES.txt
预览分享卡片长什么样 ↓oldHan2423/dsh-everything-find
分享 · DeepSeek Harness Hub
oldHan2423/dsh-everything-find

Windows 上的 Everything 文件名搜索,接入 DeepSeek Harness:模型可以直接调用…

回到顶部