开源 Everything 本地搜索 Skill:不扫盘,直接查询后台索引
技术 3

Windows · Everything SDK · IPC

开源 Everything 本地搜索 Skill:不扫盘,直接查询后台索引

这是一个面向 Codex 和其他 Agent 的 Windows 本地搜索 Skill。它不递归遍历磁盘,也不驱动 Everything 图形界面,而是通过官方 SDK DLL 与 IPC 查询 Everything 已维护的索引。

这次解决了什么

  • 通过 Everything 原生搜索语法快速定位文件和文件夹。
  • 直接返回完整路径,适合 PowerShell、Python、RPA 和 Agent 后续处理。
  • 支持文件、文件夹、分页、JSON 输出以及 Codex 会话日志定位。
  • 不依赖 es.exe,也不会打开 Everything 搜索窗口。

实现原理

1. Agent 调用
Skill 将普通关键词或 Everything 查询表达式交给 Python 脚本。
2. SDK 封装
Python 使用 ctypes 绑定 Everything Unicode SDK 接口。
3. IPC 查询
SDK 通过 IPC 与正在运行的 Everything 后台进程通信。
4. 返回结果
逐条读取完整路径,并区分文件和文件夹。

速度来自 Everything 已经维护好的文件名索引。脚本只查询现成索引,因此与逐目录扫描相比,磁盘访问更少,响应也更稳定。Everything 后台进程仍然是必需条件。

为什么把 DLL 做成文本载荷

不同 Skill 平台对二进制附件的支持并不一致。为了让同一个 Skill 能在文本型分发平台完整安装,我把 voidtools 官方 SDK 中的 x86、x64、ARM 和 ARM64 DLL 转换为 Base64 文本载荷。

首次调用时,脚本会按 Python 运行架构选择对应载荷,释放到系统临时缓存,核对 SHA-256 后再加载。后续调用只复用校验通过的缓存文件。官方 DLL 的来源、许可证和哈希记录随 Skill 一起分发。

验证结果:释放后的 64 位 DLL 与官方源 SHA-256 一致,Windows Authenticode 签名有效,签名者为 voidtools PTY LTD;真实 IPC 查询已返回本机文件结果。

使用方式

先确保 Windows 上的 Everything 后台进程正在运行,然后在 Skill 目录执行:

python scripts/search_everything.py "report" --limit 100
python scripts/search_everything.py "ext:xlsx 供应商" --type file
python scripts/search_everything.py "项目资料" --type folder --json

脚本接受 Everything 搜索语法。默认每行输出一个完整路径;使用 --json 时会同时输出结果类型。

Codex 会话日志定位

Skill 也包含 Codex 会话日志的定位流程:先通过 Everything 按日期、会话 ID、路径和扩展名找到候选 JSONL,再用文本搜索或逐行 JSON 解析查找正文。文件名索引与正文检索是两个步骤,不能混为一谈。

处理会话日志时只读取用户指定的会话和字段;发现令牌、Cookie、密钥或其他敏感信息时不得回显。

安全边界

  • 默认只返回 Everything 索引中的路径,不主动读取文件内容。
  • 不启动、不操控 Everything 图形窗口。
  • 不包含访问令牌、账号、Cookie、本机用户名或私人绝对路径。
  • 只使用 voidtools 官方 SDK 载荷,并在运行时校验固定 SHA-256。
  • 支持用 --dll 或环境变量覆盖,但应只使用架构匹配且来源可信的 DLL。

公开发布状态

公开 Slug:everything-search-ipc

版本:1.0.0

ClawHub:版本已提交,等待公开索引传播。

SkillHub:内容审核、安全扫描和人工审核进行中;审核完成后可按 Slug 检索。

Everything SDK 的接口与 IPC 说明以 voidtools 官方 SDK 文档为准。

开源 Everything 本地搜索 Skill:不扫盘,直接查询后台索引
https://www.quietphoenix.top/archives/everything-search-ipc-skill
作者
QuietPhoenix
发布于
更新于
许可