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 搜索窗口。
实现原理
Skill 将普通关键词或 Everything 查询表达式交给 Python 脚本。
Python 使用
ctypes 绑定 Everything Unicode SDK 接口。SDK 通过 IPC 与正在运行的 Everything 后台进程通信。
逐条读取完整路径,并区分文件和文件夹。
速度来自 Everything 已经维护好的文件名索引。脚本只查询现成索引,因此与逐目录扫描相比,磁盘访问更少,响应也更稳定。Everything 后台进程仍然是必需条件。
为什么把 DLL 做成文本载荷
不同 Skill 平台对二进制附件的支持并不一致。为了让同一个 Skill 能在文本型分发平台完整安装,我把 voidtools 官方 SDK 中的 x86、x64、ARM 和 ARM64 DLL 转换为 Base64 文本载荷。
首次调用时,脚本会按 Python 运行架构选择对应载荷,释放到系统临时缓存,核对 SHA-256 后再加载。后续调用只复用校验通过的缓存文件。官方 DLL 的来源、许可证和哈希记录随 Skill 一起分发。
使用方式
先确保 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 文档为准。