← Back to Skills Marketplace
Everything Search
by
Steve-Shi-Web
· GitHub ↗
· v1.0.0
· MIT-0
108
Downloads
1
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install everything-search
Description
Everything Windows 文件搜索技能 — HTTP API 快速搜索、中英文模糊匹配、文件类型过滤
README (SKILL.md)
Everything Search 技能说明\r
\r
📋 技能概述\r
\r 通过 Everything HTTP Server API 实现快速文件搜索功能。支持中文/英文搜索、模糊匹配、文件类型过滤。\r \r ---\r \r
🔧 配置步骤\r
\r
1. 安装 Everything\r
\r
- 下载地址:https://www.voidtools.com/\r
- 安装路径:
D:\Program Files\Everything\\r \r
2. 启用 HTTP 服务器\r
\r ⚠️ 关键步骤 - 必须手动操作:\r \r
- 打开 Everything 窗口\r
- 按 Ctrl+P 打开选项(或 Tools → Options)\r
- 点击左侧 "HTTP Server"\r
- 勾选
☑ Enable HTTP server\r - 设置端口:
2853\r - 点击 OK 保存\r \r
3. 验证配置\r
\r
# 测试 HTTP 服务器是否运行\r
python -c "import urllib.request; r = urllib.request.urlopen('http://127.0.0.1:2853/', timeout=5); print('OK:', r.status)"\r
```\r
\r
---\r
\r
## ⚠️ 注意事项\r
\r
### 1. HTTP 服务器必须手动启用\r
\r
**问题:** 配置文件不会自动启用 HTTP 服务器\r
\r
**原因:** Everything 的安全设计,必须在 GUI 界面中手动勾选\r
\r
**解决方案:**\r
- 必须在 Everything 窗口中按 Ctrl+P → HTTP Server → 勾选启用\r
- 仅修改配置文件 `Everything.ini` 不会生效\r
\r
### 2. 服务实例 vs 用户实例\r
\r
**问题:** 有时有两个 Everything 进程运行,其中一个可能不读取用户配置\r
\r
**症状:** \r
- 配置已保存但 HTTP 服务器不响应\r
- 端口未被监听\r
\r
**解决方案:**\r
1. 完全退出 Everything(系统托盘右键 → Exit)\r
2. 重新启动 Everything\r
3. 再次确认 HTTP Server 已勾选\r
\r
### 3. 配置生效需要重启\r
\r
**问题:** 修改配置后 HTTP 服务器未立即响应\r
\r
**解决方案:**\r
- 修改配置后完全退出并重启 Everything\r
- 等待 3-5 秒让服务完全启动\r
\r
### 4. 端口占用检查\r
\r
**问题:** 端口 2853 无法连接\r
\r
**诊断方法:**\r
```python\r
import socket\r
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\r
result = sock.connect_ex(('127.0.0.1', 2853))\r
if result == 0:\r
print("端口开放")\r
else:\r
print("端口关闭")\r
```\r
\r
### 5. API 端点格式\r
\r
**正确的 API 格式:**\r
```\r
http://127.0.0.1:2853/?search=关键词&json=1&maxresults=20\r
```\r
\r
**错误的 API 格式(会导致 404):**\r
```\r
http://127.0.0.1:2853/everything/?search=关键词&json=1\r
http://127.0.0.1:2853/api/search?query=关键词&json=1\r
```\r
\r
---\r
\r
## 🐛 今天遇到的问题及解决方案\r
\r
### 问题 1:HTTP 服务器无法连接\r
\r
**症状:**\r
```\r
✗ Connection failed: [WinError 10061] 由于目标计算机积极拒绝,无法连接\r
```\r
\r
**排查过程:**\r
1. ✓ 确认 Everything 进程在运行(tasklist 检测到 2 个实例)\r
2. ✓ 配置文件已正确写入 `Everything.ini`\r
3. ✗ 端口 2853 未被监听(netstat 检查)\r
4. ✗ 多个常用端口测试(80, 8080, 8081, 8082)均无响应\r
\r
**根本原因:**\r
- 配置文件中的 `enabled=1` 不会自动启用 HTTP 服务器\r
- 必须在 GUI 界面中手动勾选复选框\r
\r
**解决方案:**\r
1. 打开 Everything 窗口\r
2. Ctrl+P → HTTP Server\r
3. 确认 `☑ Enable HTTP server` 已勾选\r
4. 点击 OK\r
5. 完全退出并重启 Everything\r
\r
**验证命令:**\r
```python\r
python /workspace/check-port.py\r
# 输出:✓ Port 2853 is OPEN and listening!\r
```\r
\r
---\r
\r
### 问题 2:API 返回 404\r
\r
**症状:**\r
```\r
✗ Search failed: HTTP Error 404: Not Found\r
```\r
\r
**排查过程:**\r
1. ✓ HTTP 服务器已启动(端口 2853 可连接)\r
2. ✓ 根路径 `/` 返回正常 HTML\r
3. ✗ `/everything/?search=test` 返回 404\r
4. ✗ `/api/search?query=test` 返回 404\r
5. ✓ `/?search=test&json=1` 返回正常 JSON\r
\r
**根本原因:**\r
- Everything HTTP API 的端点是根路径 `/`,不是 `/everything/`\r
\r
**解决方案:**\r
使用正确的 API 格式:\r
```\r
http://127.0.0.1:2853/?search=关键词&json=1&maxresults=20\r
```\r
\r
---\r
\r
### 问题 3:文件大小显示为 0\r
\r
**症状:**\r
- 搜索结果中所有文件大小都显示为 `0 B`\r
\r
**原因:**\r
- Everything 默认不返回文件大小信息\r
- 需要在 API 请求中添加参数\r
\r
**解决方案:**\r
在 API URL 中添加 `&size=1` 参数:\r
```\r
http://127.0.0.1:2853/?search=关键词&json=1&size=1&maxresults=20\r
```\r
\r
---\r
\r
### 问题 4:中文搜索乱码\r
\r
**症状:**\r
- 搜索中文关键词返回空结果或错误\r
\r
**原因:**\r
- URL 中的中文需要 URL 编码\r
\r
**解决方案:**\r
使用 `urllib.parse.quote()` 编码中文:\r
```python\r
import urllib.parse\r
keyword = "数据资产"\r
encoded = urllib.parse.quote(keyword)\r
url = f"http://127.0.0.1:2853/?search={encoded}&json=1"\r
```\r
\r
---\r
\r
## 📝 使用示例\r
\r
### Python 搜索脚本\r
\r
```python\r
#!/usr/bin/env python3\r
import urllib.request\r
import urllib.parse\r
import json\r
\r
PORT = 2853\r
KEYWORD = "数据资产"\r
\r
# 编码关键词\r
encoded = urllib.parse.quote(KEYWORD)\r
url = f"http://127.0.0.1:{PORT}/?search={encoded}&json=1&maxresults=20"\r
\r
# 发送请求\r
req = urllib.request.Request(url)\r
req.add_header('User-Agent', 'Mozilla/5.0')\r
\r
with urllib.request.urlopen(req, timeout=10) as response:\r
data = json.loads(response.read().decode())\r
\r
total = data.get("totalResults", 0)\r
results = data.get("results", [])\r
\r
print(f"找到 {total} 个结果")\r
\r
for item in results[:10]:\r
name = item.get("name", "Unknown")\r
path = item.get("path", "")\r
full_path = f"{path}\\{name}" if path else name\r
print(f" - {full_path}")\r
```\r
\r
### 搜索图片文件\r
\r
```python\r
# 搜索特定类型的文件\r
keywords = [\r
"张三 jpg", # 搜索 JPG 照片\r
"张三 png", # 搜索 PNG 图片\r
"数据资产 xlsx", # 搜索 Excel 文件\r
"报告 pdf", # 搜索 PDF 文档\r
]\r
\r
for keyword in keywords:\r
encoded = urllib.parse.quote(keyword)\r
url = f"http://127.0.0.1:2853/?search={encoded}&json=1&maxresults=10"\r
# ... 处理结果\r
```\r
\r
---\r
\r
## 🔍 高级搜索语法\r
\r
### 文件类型过滤\r
\r
```\r
# 只搜索文件(不包括文件夹)\r
关键词 file:\r
\r
# 只搜索文件夹\r
关键词 folder:\r
\r
# 搜索特定扩展名\r
关键词 ext:jpg\r
关键词 ext:png\r
```\r
\r
### 路径过滤\r
\r
```\r
# 在特定路径中搜索\r
关键词 path:"D:\Documents"\r
\r
# 排除特定路径\r
关键词 !path:"C:\Windows"\r
```\r
\r
### 大小过滤\r
\r
```\r
# 大于 1MB 的文件\r
关键词 size:>1mb\r
\r
# 小于 100KB 的文件\r
关键词 size:\x3C100kb\r
```\r
\r
### 日期过滤\r
\r
```\r
# 今天修改的文件\r
关键词 dm:today\r
\r
# 本周修改的文件\r
关键词 dm:thisweek\r
\r
# 特定日期之后修改的文件\r
关键词 dm:>2024-01-01\r
```\r
\r
---\r
\r
## 🛠️ 诊断工具\r
\r
### 检查端口状态\r
\r
```python\r
# check-port.py\r
import socket\r
\r
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\r
sock.settimeout(3)\r
result = sock.connect_ex(('127.0.0.1', 2853))\r
\r
if result == 0:\r
print("✓ Port 2853 is OPEN")\r
else:\r
print("✗ Port 2853 is CLOSED")\r
```\r
\r
### 测试 API 端点\r
\r
```python\r
# test-api.py\r
import urllib.request\r
\r
endpoints = [\r
"/",\r
"/?search=test&json=1",\r
"/version",\r
]\r
\r
for endpoint in endpoints:\r
url = f"http://127.0.0.1:2853{endpoint}"\r
try:\r
with urllib.request.urlopen(url, timeout=5) as r:\r
print(f"✓ {endpoint} - {r.status}")\r
except Exception as e:\r
print(f"✗ {endpoint} - {e}")\r
```\r
\r
---\r
\r
## 📚 参考资料\r
\r
- Everything 官方文档:https://www.voidtools.com/support/everything/\r
- HTTP Server 配置:https://www.voidtools.com/support/everything/http_server/\r
- 搜索语法:https://www.voidtools.com/support/everything/search_commands/\r
\r
---\r
\r
## 📅 更新日志\r
\r
### 2026-04-02\r
- ✅ 批量替换敏感人名"史周平"为"张三"(共 14 处)\r
- ✅ 更新 badges 为现代 flat-square 样式\r
- ✅ 设置仓库为公开可见\r
- ✅ 更新联系方式:问题反馈由 GitHub Issues 更改为 [email protected]\r
\r
### 2024-04-02\r
- ✅ 完成 Everything HTTP Server 配置\r
- ✅ 解决 HTTP 服务器无法连接问题(需手动勾选启用)\r
- ✅ 解决 API 404 错误(使用正确的端点格式)\r
- ✅ 测试中文搜索功能\r
- ✅ 创建诊断工具和测试脚本\r
\r
---\r
\r
## 🎯 快速检查清单\r
\r
配置 Everything 后,按此清单检查:\r
\r
- [ ] Everything 正在运行\r
- [ ] HTTP Server 已勾选启用(Ctrl+P → HTTP Server → ☑ Enable)\r
- [ ] 端口设置为 2853\r
- [ ] 完全退出并重启了 Everything\r
- [ ] 端口 2853 可连接(运行 check-port.py 验证)\r
- [ ] API 返回正常 JSON(运行 test-api.py 验证)\r
- [ ] 中文搜索正常工作\r
\r
---\r
\r
**最后更新:** 2026-04-02 \r
**作者:** nanobot \r
**版本:** 1.0\r
Usage Guidance
This skill appears to do what it says: local-only queries and diagnostics for the Everything HTTP Server. Before installing: (1) confirm you trust the publisher because the package will run local subprocesses (tasklist) and read Everything.ini from your user profile (this is necessary to check config); (2) the skill only contacts 127.0.0.1:2853 (Everything) — do not enable 'Allow remote access' in Everything unless you understand the network risk; (3) review the included scripts (check-config.py, diagnose.py, examples) if you want to audit runtime behavior; (4) because the package is not from a known homepage, prefer running the examples in a sandbox or inspecting source files yourself before granting execution in an automated agent.
Capability Analysis
Type: OpenClaw Skill
Name: everything-search
Version: 1.0.0
The 'everything-search' skill provides a Python interface to the Everything Windows search engine via its local HTTP API (defaulting to 127.0.0.1:2853). The bundle is well-documented and includes core logic in 'src/everything_search.py', diagnostic scripts like 'scripts/diagnose.py', and various usage examples. The code uses standard Python libraries (urllib, socket, json) and contains no evidence of data exfiltration, malicious execution, or prompt injection. It requires manual user configuration of the Everything application, which is a standard security practice for that software.
Capability Assessment
Purpose & Capability
Name/description (Everything Windows HTTP API search) align with code, examples, and docs. The package only contains client code, diagnostics, and examples that talk to localhost:2853 (Everything). No unrelated services, credentials, or unexpected binaries are requested.
Instruction Scope
SKILL.md and scripts instruct the agent to check local Everything process, test 127.0.0.1:2853 endpoints, read the user's Everything.ini from %APPDATA% to validate configuration, and run local subprocesses (tasklist). Those actions are within the stated diagnostics/search scope and are documented in the README and docs.
Install Mechanism
This is instruction/code-only with no install spec. requirements.txt lists only standard library (optional requests/pytest commented). Nothing is downloaded from external or untrusted URLs by the skill itself.
Credentials
No required environment variables, no credentials, and no config paths outside Everything's known config locations are requested. Reading %APPDATA%\Everything\Everything.ini is justified by the purpose (diagnosing Everything's HTTP server settings).
Persistence & Privilege
Skill is not always-enabled, does not attempt to modify other skills or system-wide agent settings, and contains only client/diagnostic scripts that run on demand.
How to Use
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install everything-search - After installation, invoke the skill by name or use
/everything-search - Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release — Everything HTTP API integration for fast Windows file search with Chinese/English support
Metadata
Frequently Asked Questions
What is Everything Search?
Everything Windows 文件搜索技能 — HTTP API 快速搜索、中英文模糊匹配、文件类型过滤. It is an AI Agent Skill for Claude Code / OpenClaw, with 108 downloads so far.
How do I install Everything Search?
Run "/install everything-search" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Everything Search free?
Yes, Everything Search is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Everything Search support?
Everything Search is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Everything Search?
It is built and maintained by Steve-Shi-Web (@steve-shi-web); the current version is v1.0.0.
More Skills