原始内容
name: everything-search description: 使用 Python 通过 Everything SDK DLL 和 IPC 快速搜索 Windows 本机文件与文件夹,并直接返回完整路径,不依赖 es.exe,也不打开 Everything 图形搜索窗口。支持定位 Codex 会话产生的 rollout JSONL 日志,再按会话 ID、日期或内容关键词查找历史对话。适用于用户要求查找本机文件、目录、Codex 对话日志、按 Everything 搜索语法过滤结果、仅返回路径,或明确要求调用 Everything.exe 后台索引能力时。
Everything 本地搜索
通过 scripts/search_everything.py 查询正在运行的 Everything 后台索引。优先返回真实搜索结果,不使用递归遍历磁盘代替 Everything 查询。
执行流程
- 确认运行环境为 Windows,并确认 Everything 后台进程正在运行。
- 按 Python 运行架构选择 Skill 内置的官方 Everything SDK 载荷,支持 x86、x64、ARM 和 ARM64。
- 首次调用时把匹配的 Base64 文本载荷释放到系统临时缓存,验证 SHA-256 后加载;后续调用复用校验通过的缓存文件。
--dll或环境变量EVERYTHING_SDK_DLL可覆盖内置载荷;只使用与 Python 架构一致的可信文件。- 调用脚本执行搜索,并按用户要求返回文件、文件夹或全部结果。
- 报告实际查询词、结果数量和完整路径。结果为空时明确说明未找到,不猜测路径。
常用调用
搜索文件和文件夹:
python scripts/search_everything.py "everything" --limit 100
仅搜索文件夹:
python scripts/search_everything.py "everything" --type folder --limit 100
仅搜索文件:
python scripts/search_everything.py "everything" --type file --limit 100
输出带类型信息的 JSON:
python scripts/search_everything.py "everything" --type folder --json
显式指定 SDK DLL:
python scripts/search_everything.py "everything" --dll "C:\path\Everything64.dll"
查找 Codex 对话日志
Codex 通常把活动会话日志写入当前用户目录下的 .codex\sessions\年\月\日\rollout-*.jsonl,归档会话可能位于 .codex\archived_sessions。先使用 Everything 按路径、日期、文件名或会话 ID 定位 JSONL,再读取候选文件查找具体对话内容。
按会话 ID 精确定位日志:
python scripts/search_everything.py "019f8805-4c12-7941-a107-aec371a7eebb ext:jsonl" --type file
列出指定日期下的会话日志:
python scripts/search_everything.py "path:\"<用户目录>\.codex\sessions\2026\07\22\" ext:jsonl" --type file
列出全部活动会话日志:
python scripts/search_everything.py "path:\"<用户目录>\.codex\sessions\" ext:jsonl" --type file --limit 1000
定位日志后,使用 rg -n -i "对话关键词" "完整的 rollout JSONL 路径" 搜索正文;需要结构化处理时,逐行解析 JSON,不要把整个 .jsonl 文件当作一个 JSON 数组。
优先关注 session_meta、turn_context、event_msg 和 response_item 记录。活动会话文件可能持续增长,因此报告文件大小和修改时间时注明这是当前快照。只提取用户要求的会话和字段,不整份输出日志;发现令牌、Cookie、密钥或其他敏感值时不得回显。
查询规则
- 将用户给出的普通关键词原样传给 Everything。
- 允许使用 Everything 搜索语法,例如
ext:xlsx 供应商、path:"D:\资料"。 - Everything 的快速路径用于定位 JSONL 文件;按对话正文关键词搜索时,定位后再读取文件内容,不假定文件名索引等同于正文索引。
- 使用
--type folder自动添加folder:;使用--type file自动添加file:。 - 默认纯文本输出每行一个完整路径,便于 PowerShell、Python 或 RPA 直接读取。
- 不把
Everything.exe当作标准输出客户端;它负责维护索引和提供 IPC 服务,脚本通过 SDK DLL 获取结果。 - Skill 已内置从 voidtools 官方签名 DLL 转换的文本载荷,并在释放前后校验 SHA-256。不要用来源不明的 DLL 或载荷替换;需要覆盖时,只使用与 Python 架构一致的可信文件。
故障处理
- 提示找不到 SDK DLL 时,检查 Python 架构和 DLL 文件名是否匹配。
- 提示 IPC 查询失败时,检查 Everything 后台进程是否运行、当前实例是否为默认实例,以及服务权限是否允许当前用户查询。
- 若目标是命名实例,不要假定默认实例可查询;先确认实例配置,再扩展调用参数或使用对应实例的官方接口。