Everything 本地搜索
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_c9af6e01/everything-search-ipc。
技能介绍
这个技能解决什么问题
在 Windows 上查找本地文件时,递归遍历磁盘往往很慢,尤其面对数十万甚至上百万条索引记录时更明显。Everything 建立了实时索引,查询几乎瞬时完成,但直接从 Python 脚本调用 Everything SDK 并不总是可靠——当脚本运行在 SSH 会话、Windows 服务或计划任务中时,它与桌面端的 Everything 客户端可能处于不同的 Windows Session,SDK IPC 会返回错误码 2,导致查询失败。这个技能的目标是提供一条稳定的查询路径:优先走 IPC,遇到 Session 隔离时自动回退到本机 HTTP JSON,而不是让用户手动切换通道或启动第二个 Everything 实例。
核心能力与关键步骤
- 自动通道选择:默认使用
--transport auto。先尝试 SDK IPC,当返回错误码 2 时,从EVERYTHING_HTTP_URL、--http-url参数或Everything.ini的http_server_port发现本机 HTTP 服务并重试。 - SDK 载荷管理:内置从 voidtools 官方签名 DLL 转换的 Base64 文本载荷,支持 x86、x64、ARM 和 ARM64 架构。首次调用时释放到系统临时目录,校验 SHA-256 后加载;后续调用复用已校验的缓存文件。也可通过
--dll或EVERYTHING_SDK_DLL显式指定可信 DLL,但必须与 Python 架构一致。 - 搜索语法透传:用户关键词原样传给 Everything,支持
ext:xlsx、path:"D:\资料"等 Everything 原生语法。--type file自动添加file:,--type folder自动添加folder:。 - 安全边界:HTTP 回退只接受
127.0.0.1、localhost或::1,避免把本机索引查询意外发送到外部主机。 - 输出格式:默认纯文本输出,每行一个完整路径,便于 PowerShell、Python 或 RPA 直接读取;
--json可输出带类型信息的结构化结果。
适用边界与注意点
- 运行环境必须是 Windows,且 Everything 后台进程处于运行状态。
- SSH、计划任务和 Windows 服务通常与桌面 Everything 客户端处于不同 Session,遇到 IPC 错误码 2 时会优先回退到本机 HTTP,而不是启动第二个 Everything 客户端。
- Everything 的 HTTP 服务应绑定到
127.0.0.1,关闭不必要的文件下载能力,不要将无认证的 HTTP 服务暴露到局域网或公网。 - 如果目标是命名实例而非默认实例,需要先确认实例配置,再扩展调用参数或使用对应实例的官方接口,不能假定默认实例可查询。
- Skill 内置的 DLL 载荷来自 voidtools 官方签名文件,不要用来源不明的 DLL 或载荷替换;需要覆盖时,只使用与 Python 架构一致的可信文件。
使用场景
- 在 Windows 计划任务中运行 Python 脚本时,需要跨 Session 通过本机 HTTP 查询 Everything 索引以定位特定的 JSONL 日志文件。
- 在排查线上问题时,需要直接调用 Everything SDK IPC 获取正在运行的桌面客户端实时索引,返回完整路径给后续处理脚本。
- 需要查找磁盘上所有特定类型的文件夹(例如所有包含 config 的配置目录)并获取 JSON 格式的结构化输出以便程序解析。
- 在无用户桌面环境的 SSH 会话里,需要利用 Everything 的快速路径索引查找 Codex 历史会话日志,而不想启动第二个 Everything 客户端。
适合人员
- 需要处理跨 Windows Session 文件搜索的后端工程师,希望在 SSH 或服务环境中复用 Everything 索引。
- 使用 Agent 或自动化脚本管理本地文件的开发者,需要可靠且安全的本地索引查询接口。
- 编写 RPA 脚本的财务系统开发者,需要按文件或文件夹类型批量提取 Everything 搜索结果用于数据录入。
- 需要快速定位本地 Codex 会话日志进行排查的测试工程师,希望直接按路径或日期检索 JSONL 文件。