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

全盘秒搜 yudshj/dsh-tool-win-everything

DeepSeek Harness
yudshj16 天前有提交已提供中文文档扫描:含敏感能力

调用 Everything 索引秒级搜索本机任意文件

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add yudshj/dsh-tool-win-everything
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · search
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 16 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

读写/删除本地文件
查看扫描证据(共 2 处,展示前 2 条)
  • 读取本地文件
    lib/everything-client.js:103
    const readText = options.readText ?? ((path) => readFileSync(path, 'utf8'))
  • 读取本地文件
    lib/everything-client.js:191
    readText: raw.readText ?? ((path) => readFileSync(path, 'utf8')),
扫描于 2026/11/2(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

README

由 DeepSeek 最新模型翻译生成
dsh-tool-win-everything 用本机 voidtools Everything 的索引给 DSH(DeepSeek Harness)加一个全盘搜索工具: everything(搜索)+ everything_status(诊断)。Windows 专用。 和 glob / shell find 不同,它是整机、秒级、不遍历目录的:查的是 Everything 已经建好的索引,所以可以直接问「本机所有 .docx」「D 盘上最近改过的 log 在哪」。 - 零第三方依赖(纯 Node ESM + 内置 fetch); - 不需要 shell,不读写工作区文件,只发本机 HTTP 请求; - 走 Everything 官方 HTTP JSON 接口,端口/认证自动从 Everything.ini 发现; - 失败时给中文修复建议,并带错误码(EVERYTHING_UNREACHABLE / EVERYTHING_AUTH / …)。
展开完整文档(README 剩余 1 节)
dsh-tool-win-everything

用本机 voidtools Everything 的索引给 DSH(DeepSeek Harness)加一个全盘搜索工具: everything(搜索)+ everything_status(诊断)。Windows 专用。

和 glob / shell find 不同,它是整机、秒级、不遍历目录的:查的是 Everything 已经建好的索引,所以可以直接问「本机所有 .docx」「D 盘上最近改过的 log 在哪」。

- 零第三方依赖(纯 Node ESM + 内置 fetch);
- 不需要 shell,不读写工作区文件,只发本机 HTTP 请求;
- 走 Everything 官方 HTTP JSON 接口,端口/认证自动从 Everything.ini 发现;
- 失败时给中文修复建议,并带错误码(EVERYTHING_UNREACHABLE / EVERYTHING_AUTH / …)。

git clone https://github.com/yudshj/dsh-tool-win-everything
cd dsh-tool-win-everything
pwsh -File .\scripts\Enable-EverythingHttpServer.ps1 # 启用 Everything 的 HTTP 服务 pwsh -File .\scripts\Install-ToProfile.ps1 # 装进 DSH desktop profile,然后重启 DSH

1. 目录结构

dsh-tool-win-everything/
├─ lib/
│ ├─ index.js DSH 插件入口:注册 everything / everything_status 两个工具 │ ├─ everything-client.js Everything HTTP JSON API 客户端(端口探测、ini 发现、错误映射) │ └─ format.js 结果渲染 + UI 搜索卡片元数据 ├─ bin/everything-search.mjs 独立命令行工具(不依赖 DSH,可直接查 Everything) ├─ scripts/ │ ├─ Enable-EverythingHttpServer.ps1 启用/停用 Everything 的 HTTP 服务(自动备份 ini) │ └─ Install-ToProfile.ps1 安装/卸载到 DSH profile ├─ examples/overlay-headless.yml 用绝对路径插进任意 profile 的示例 └─ test/ 单测 + 插件集成测试(内置 mock Everything,离线可跑)

2. 前置条件:Everything 的 HTTP 服务

Everything 1.4 自带 HTTP 服务器,默认关闭,而且它由 Everything 客户端进程提供(只装服务不开客户端不会监听端口)。

一键启用(会先把 Everything.ini 备份成 Everything.ini.bak-<时间戳>):

pwsh -File .\scripts\Enable-EverythingHttpServer.ps1

脚本做的事:结束 Everything 客户端 → 改 ini(http_server_enabled=1、http_server_port=80、http_server_bindings=127.0.0.1) → 重新启动 Everything → 轮询 http://127.0.0.1:80/?json=1 直到应答,并打印索引条目数。

- 只绑定 127.0.0.1:只有本机能访问,不会把整机文件索引暴露给局域网(要局域网访问才加 -BindAll)。
- 换端口:-Port 28611。
- 不想让它动你的 Everything:手动在 Everything → 工具 → 选项 → HTTP 服务器 → 勾选「启用 HTTP 服务器」即可。
- 回退:pwsh -File .\scripts\Enable-EverythingHttpServer.ps1 -Revert。

⚠️ 改 ini 必须让 Everything 退出后重启才生效;脚本用强制结束的方式重启会丢弃内存中的索引,客户端随后会用 NTFS USN 日志重建(本机 690 万条约 30 秒)。介意的话请手动「文件 → 退出」再让脚本改配置。

3. 安装到 DSH

pwsh -File .\scripts\Install-ToProfile.ps1 # 默认装到 desktop profile

安装做的事:

1. 把插件复制到 %DSH_HOME%\profiles\desktop\node_modules\dsh-tool-win-everything\ (放这里是为了让插件里的 @deepseek-ai/ 导入能从 profile 的 node_modules 解析,不依赖 pnpm、不需要联网);
2. 在 profiles\desktop\cordis.patch.yml 末尾插入一块用成对标记包裹的配置(先备份原文件):

dsh-tool-win-everything
- insert:
- id: tool-everything
name: 'dsh-tool-win-everything'
disabled: !!js "process.platform !== 'win32'"
config:
maxResults: 50
ports: [80, 28611, 8080]
<<< dsh-tool-win-everything

脚本幂等:重复执行只会更新插件文件并替换这一块,不会重复插入。

生效方式:重启 DSH 桌面端(配置热重载是否生效取决于该 profile 是否启用了 HMR;不确定就重启)。
重启后对话里就能看到 everything 工具。

卸载:pwsh -File .\scripts\Install-ToProfile.ps1 -Uninstall。

4. 在对话里怎么用

直接说人话即可,例如:
- “用 everything 找一下本机所有 .docx,最近的排前面”
- “D 盘里 8 月以后改过的 log 文件有哪些”
- “我电脑上那个 xiaomi 相关的目录在哪”

everything 工具参数(模型按需填):

| 参数 | 说明 |
| query(必填) | 查询串,支持 Everything 语法 |
| path | 只在某个目录内搜索(内部翻译成 path:"<目录>") |
| maxResults | 返回条数,默认取插件配置(50),硬上限 1000 |
| offset | 翻页偏移 |
| sort | name / path / size / date_modified(默认 date_modified) |
| descending | 降序;date_modified 默认降序(最近优先),其他默认升序 |
| matchCase / wholeWord / matchPath / regex | 对应 Everything 的 case: / ww: / 全路径匹配 / regex: 开关 |

Everything 语法速记(直接写在 query 里):

| 写法 | 含义 |
| .pdf、report | 文件名匹配;空格分隔的词是「与」关系 |
| ext:docx;xlsx | 扩展名 |
| folder: / file: | 只要文件夹 / 只要文件 |
| path:"D:\work" | 全路径包含该目录(path 参数就是它的封装) |
| dm:today、dm:2026-08-01..2026-10-01 | 修改时间 |
| size:>100mb | 大小 |
| case:foo、ww:foo | 区分大小写 / 全词匹配 |
| regex:^v\d+\.log$ | 正则(也可用参数 regex: true) |

结果文本形如:

Everything 查询「path:"C:\Users\me\Documents" .docx」:共 12 个匹配,返回 12 条,端口 80
1. C:\Users\me\Documents\年度报告.docx [48.0 KB, 2026-10-01 10:30] ...

everything_status 用于诊断:报告可用的端点、Everything.ini 里的启用状态与端口、Everything.exe 位置,连不上时给出中文修复建议。

5. 插件配置(可选)

写在 profile 补丁那一行的 config: 下:

| 配置 | 默认 | 说明 |
| enabled | true | 设为 false 不注册任何工具 |
| host | 127.0.0.1 | Everything HTTP 服务所在主机 |
| port | 未设置 | 显式指定端口;不设则用 ini 里的端口 + ports 列表 |
| ports | [80, 28611, 8080] | 候选端口,并行探测取第一个可用者 |
| username / password | 未设置 | Everything 设了 HTTP 认证时必填(也会自动从 ini 读取) |
| maxResults | 50 | 默认返回条数(上限 1000) |
| timeoutMs | 10000 | 单次查询超时 |
| probeTimeoutMs | 800 | 端口探测超时 |
| iniPath / everythingExe | 自动发现 | 非常规安装时显式指定 |

端点探测结果缓存 30 秒;请求失败会自动强制重新探测一次,所以 Everything 重启后无需重启 DSH。

6. 独立命令行工具

不装插件也能用(本地调试、脚本里调用都方便):

node bin\everything-search.mjs --status # 服务诊断
node bin\everything-search.mjs "ext:docx 报告" -n 20 # 关键字搜索
node bin\everything-search.mjs --path "D:\work" ".log" --sort date_modified --desc
node bin\everything-search.mjs "size:>100mb" --json # JSON 输出,便于脚本处理

退出码:0 成功;1 运行期错误(服务不可用等);2 用法错误。

7. 错误码与排查

| 错误码 | 含义 | 处理 |
| EVERYTHING_UNREACHABLE | 候选端口都没有 Everything 的 JSON 接口 | 跑 Enable-EverythingHttpServer.ps1,或确认 Everything 客户端在托盘里运行 |
| EVERYTHING_AUTH | 服务要求 HTTP Basic 认证 | 配置 username / password,或清空 Everything 里的用户名密码 |
| EVERYTHING_TIMEOUT | 查询超时 | 调大 timeoutMs,或把查询写得更精确 |
| EVERYTHING_BAD_RESPONSE | 返回值不是 Everything 的 JSON | 端口被别的 Web 服务占用,换端口 |
| EVERYTHING_HTTP_ERROR | 其它 HTTP 状态码 | 看状态码与端口占用 |
| EVERYTHING_BAD_QUERY | 参数非法(如 path 里含双引号) | 改参数 |

常见问题:

- 搜不到刚创建的文件?Everything 索引有短暂延迟,或被排除规则(exclude_)过滤掉了。
- 只能搜到 C 盘?在 Everything → 工具 → 选项 → 索引 里确认 D/E 盘(或文件夹)已加入索引。
- 重启电脑后工具失效?Everything 客户端没自启。在 Everything 选项里勾选「随系统启动」(或把启动项加回来)。

8. 测试

bash
npm test # 等价于 node --test test/core.test.mjs test/plugin.test.mjs test/cordis-load.test.mjs

- test/core.test.mjs(22 项):ini 解析、端口候选与探测重试、URL 协议、目录限定、翻页、错误映射、 FILETIME/Unix 时间兼容、格式化;全部对着内置 mock Everything (test/mock-everything-server.mjs,字段形态照抄真实接口:size 是字符串、date_modified 是 FILETIME 刻度);不需要装 Everything。
- test/plugin.test.mjs(6 项):用假 ctx 加载插件入口,验证注册出的工具、输出 schema 校验、presenter、真实 HTTP 调用;会自动选「仓库里的入口」或「已安装到 profile 的副本」,两者都没有时跳过并提示先安装。
- test/cordis-load.test.mjs(2 项):用 DSH 自带的真实 @deepseek-ai/cordis 执行 ctx.plugin(),验证插件形状、依赖注入与 Config schema 的默认值/非法输入拒绝;找不到 DSH 安装时自动跳过。

受限沙箱里(测试运行器 spawn 子进程 + 管道会被拦)请改用单进程模式:
node --test --experimental-test-isolation=none test/core.test.mjs test/plugin.test.mjs test/cordis-load.test.mjs。

已验证的行为(Windows 11 + Everything 1.4.1)

| 验证项 | 结果 |
| Everything HTTP 服务启用后查询 | ✅ 40–120 ms(索引规模约 700 万条目) |
| 目录限定查询 path:"<目录>" .mjs | ✅ 命中并正确补全完整路径 |
| Everything 语法 ext:docx dm:thisyear | ✅ 按修改时间倒序返回,带大小与本地时间 |
| DSH 桌面端加载插件 | ✅ everything / everything_status 出现在会话工具表并可正常调用 |
| 自动化测试 | ✅ 30/30 |

冷启动注意:Everything 刚启动或正忙时首次请求可能超过探活窗口。插件已用「最小探测请求 + 超时退避重试一次」处理,默认窗口 probeTimeoutMs=1500;仍嫌紧可再调大。

9. 安全说明

- HTTP 服务默认只绑定 127.0.0.1,且由本机 Everything 提供服务;插件本身只发本机请求。
- 如果 Everything 开了用户名/密码,插件通过 HTTP Basic 发送(明文 Base64,仅本机回环流量)。
- 工具是只读搜索:不写文件、不下载文件、不执行 shell。
- 结果里会出现真实路径,可能包含隐私路径——和其它读文件工具一样,注意不要把结果贴到外部。
预览分享卡片长什么样 ↓yudshj/dsh-tool-win-everything
分享 · DeepSeek Harness Hub
yudshj/dsh-tool-win-everything

调用 Everything 索引秒级搜索本机任意文件

回到顶部