⚡ Ultra-fast, index-powered local file search skill for AI coding agents.
Dual-mode architecture: HTTP REST API (for Sandboxed / Containerized Agents) + CLI Win32 IPC (Native Desktop).
🇨🇳 简体中文 |
🇬🇧 English |
AI coding agents running in isolated sandboxes, Docker containers, WSL2, or non-interactive background services frequently encounter this error when executing es.exe:
Error 8: Everything IPC window not found. Please make sure Everything is running.
es.exerelies on Windows Desktop messaging (WM_COPYDATAWin32 IPC) to communicate with Everything's GUI window.- Windows security mechanisms (User Interface Privilege Isolation / UIPI and Session 0 Isolation) explicitly prohibit processes in sandboxes, containers, or background sessions from sending window messages across desktop session boundaries.
This skill implements an intelligent dual-mode fallback architecture:
┌───────────────────────────────┐
│ AI Agent (Python / PowerShell)│
└──────────────┬────────────────┘
│
┌──────────────────┴──────────────────┐
▼ ▼
[Mode 1: HTTP REST API] [Mode 2: Win32 CLI]
(Sandboxes, Docker, WSL, Remote) (Native User Desktop)
│ │
GET http://host:8080/ es.exe IPC Call
│ │
└──────────────────┬──────────────────┘
▼
Voidtools Everything Engine
(Instant <15ms Results)
- HTTP REST Mode (Primary for Sandboxes & Containers):
- Everything includes a built-in, lightweight HTTP REST API.
- TCP network requests bypass Win32 UIPI/session isolation completely.
- Compatible with Linux, macOS, WSL, Docker containers, and Windows Sandbox.
- Implemented using pure Python standard libraries (zero third-party dependencies).
- CLI IPC Mode (Automatic Fallback):
- If the HTTP port is not exposed and the agent runs in a native Windows desktop session, it automatically falls back to
es.exe.
- If the HTTP port is not exposed and the agent runs in a native Windows desktop session, it automatically falls back to
- ⚡ Sub-15ms Latency: Query millions of indexed files across all NTFS drives in milliseconds.
- 🐳 Sandbox & Container Ready: Works effortlessly inside Docker, WSL2, and isolated agent runners via host HTTP endpoint.
- 🎯 Scoped or Whole-Disk: Restrict boundaries to current workspace via
-pathor search all connected drives. - 🛡️ Context-Safe Pagination: Built-in limits (
-n 20) prevent output dumps from overflowing LLM context tokens. - 📊 Structured JSON Output: Built-in support for
--jsonacross both Python and PowerShell helpers. - 🔌 Universal Agent Support: Ready for Cursor, Codex, PI-Desktop, and custom agents.
In Everything on your host Windows machine:
- Open Everything -> Tools (工具) -> Options (选项).
- Select HTTP Server (HTTP 服务器) on the left.
- Check Enable HTTP Server (启用 HTTP 服务器), set Port to
8080, and click OK.
Alternatively, run the automated setup script:
.\scripts\enable_http.ps1 -Port 8080Clone and install into your agent environments:
git clone https://github.com/Mayuqi-crypto/everything-search-skill.git
cd everything-search-skill
.\scripts\install.ps1The installer will:
- Place
es.exeinto~/.local/bin/and configure your UserPATH. - Deploy the skill into
~/.agents/skills/,~/.cursor/skills/, and~/.codex/skills/.
Pass the host gateway to your container:
docker run -e EVERYTHING_HTTP_URL=http://host.docker.internal:8080 \
--add-host host.docker.internal:host-gateway \
my-agent-imageInside container:
python scripts/everything_search.py "package.json" -n 10 --jsonPoint EVERYTHING_HTTP_URL to Windows host:
export EVERYTHING_HTTP_URL="http://$(ip route show | awk '/default/ {print $3}'):8080"
python3 scripts/everything_search.py "ext:py model" -n 10# Auto mode: Attempts HTTP first; falls back to CLI
python scripts/everything_search.py "package.json" -n 20
# Structured JSON output
python scripts/everything_search.py "ext:tsx component" -n 10 --json
# Restrict search to project folder
python scripts/everything_search.py "main.py" -p "C:\Workspace\repo" -n 5
# Force HTTP REST mode
python scripts/everything_search.py "exact:Dockerfile" --mode http# Always use -n to limit results!
es.exe -n 20 "package.json"
# Scope search to workspace folder
es.exe -path "C:\my-repo" -n 20 "index.ts"
# Files only (/a-d) or Folders only (/ad)
es.exe /a-d -n 15 "ext:tsx component"
es.exe /ad -n 10 "node_modules"
# Sort by modification date (newest first)
es.exe -sort-date-modified-descending -n 10 "ext:log dm:today"| Target | Syntax | Description |
|---|---|---|
| Multiple Extensions | ext:md;txt;json |
Semicolon-delimited file extensions |
| File Size | size:>100MB or size:1MB..50MB |
Supports B, KB, MB, GB |
| Date Modified | dm:today, dm:last7days, dm:2025 |
Relative or exact date filter |
| Path Filter | path:"C:\Workspace" |
Scope matches to specific parent path |
| Exact Match | exact:Dockerfile |
Exact match without wildcard expansion |
| Logical AND | model user ext:py |
Space represents AND |
| Logical OR | `*.jpg | *.png` |
| Logical NOT | *.ts !*.test.ts |
Exclude matches with ! |
| Regex | es.exe -r "src\\api\\.*\.go$" |
Regular expression matching |
everything-search-skill/
├── SKILL.md # Standard Agent Skill specification
├── README.md # English Documentation
├── README_zh.md # Chinese Documentation
├── LICENSE # MIT License
├── bin/
│ └── es.exe # Voidtools official CLI tool
└── scripts/
├── install.ps1 # One-click installation & PATH setup
├── enable_http.ps1 # One-click HTTP Server configuration
├── everything_search.ps1 # Dual-mode PowerShell wrapper
└── everything_search.py # Dual-mode Python wrapper (Zero-dependency)
Proudly shared and discussed on LINUX DO (https://linux.do) — Welcome to join the discussion and share your feedback!
This repository is licensed under the MIT License.
Voidtools Everything and es.exe are copyright © Voidtools.