返回顶部
e

everything-search

Everything Windows 文件搜索技能 — HTTP API 快速搜索、中英文模糊匹配、文件类型过滤

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
29
下载量
1
收藏
概述
安装方式
版本历史

everything-search

# Everything Search 技能说明 ## 📋 技能概述 通过 Everything HTTP Server API 实现快速文件搜索功能。支持中文/英文搜索、模糊匹配、文件类型过滤。 --- ## 🔧 配置步骤 ### 1. 安装 Everything - 下载地址:https://www.voidtools.com/ - 安装路径:`D:\Program Files\Everything\` ### 2. 启用 HTTP 服务器 **⚠️ 关键步骤 - 必须手动操作:** 1. 打开 Everything 窗口 2. 按 **Ctrl+P** 打开选项(或 Tools → Options) 3. 点击左侧 **"HTTP Server"** 4. **勾选** `☑ Enable HTTP server` 5. 设置端口:`2853` 6. 点击 **OK** 保存 ### 3. 验证配置 ```bash # 测试 HTTP 服务器是否运行 python -c "import urllib.request; r = urllib.request.urlopen('http://127.0.0.1:2853/', timeout=5); print('OK:', r.status)" ``` --- ## ⚠️ 注意事项 ### 1. HTTP 服务器必须手动启用 **问题:** 配置文件不会自动启用 HTTP 服务器 **原因:** Everything 的安全设计,必须在 GUI 界面中手动勾选 **解决方案:** - 必须在 Everything 窗口中按 Ctrl+P → HTTP Server → 勾选启用 - 仅修改配置文件 `Everything.ini` 不会生效 ### 2. 服务实例 vs 用户实例 **问题:** 有时有两个 Everything 进程运行,其中一个可能不读取用户配置 **症状:** - 配置已保存但 HTTP 服务器不响应 - 端口未被监听 **解决方案:** 1. 完全退出 Everything(系统托盘右键 → Exit) 2. 重新启动 Everything 3. 再次确认 HTTP Server 已勾选 ### 3. 配置生效需要重启 **问题:** 修改配置后 HTTP 服务器未立即响应 **解决方案:** - 修改配置后完全退出并重启 Everything - 等待 3-5 秒让服务完全启动 ### 4. 端口占用检查 **问题:** 端口 2853 无法连接 **诊断方法:** ```python import socket sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) result = sock.connect_ex(('127.0.0.1', 2853)) if result == 0: print("端口开放") else: print("端口关闭") ``` ### 5. API 端点格式 **正确的 API 格式:** ``` http://127.0.0.1:2853/?search=关键词&json=1&maxresults=20 ``` **错误的 API 格式(会导致 404):** ``` http://127.0.0.1:2853/everything/?search=关键词&json=1 http://127.0.0.1:2853/api/search?query=关键词&json=1 ``` --- ## 🐛 今天遇到的问题及解决方案 ### 问题 1:HTTP 服务器无法连接 **症状:** ``` ✗ Connection failed: [WinError 10061] 由于目标计算机积极拒绝,无法连接 ``` **排查过程:** 1. ✓ 确认 Everything 进程在运行(tasklist 检测到 2 个实例) 2. ✓ 配置文件已正确写入 `Everything.ini` 3. ✗ 端口 2853 未被监听(netstat 检查) 4. ✗ 多个常用端口测试(80, 8080, 8081, 8082)均无响应 **根本原因:** - 配置文件中的 `enabled=1` 不会自动启用 HTTP 服务器 - 必须在 GUI 界面中手动勾选复选框 **解决方案:** 1. 打开 Everything 窗口 2. Ctrl+P → HTTP Server 3. 确认 `☑ Enable HTTP server` 已勾选 4. 点击 OK 5. 完全退出并重启 Everything **验证命令:** ```python python /workspace/check-port.py # 输出:✓ Port 2853 is OPEN and listening! ``` --- ### 问题 2:API 返回 404 **症状:** ``` ✗ Search failed: HTTP Error 404: Not Found ``` **排查过程:** 1. ✓ HTTP 服务器已启动(端口 2853 可连接) 2. ✓ 根路径 `/` 返回正常 HTML 3. ✗ `/everything/?search=test` 返回 404 4. ✗ `/api/search?query=test` 返回 404 5. ✓ `/?search=test&json=1` 返回正常 JSON **根本原因:** - Everything HTTP API 的端点是根路径 `/`,不是 `/everything/` **解决方案:** 使用正确的 API 格式: ``` http://127.0.0.1:2853/?search=关键词&json=1&maxresults=20 ``` --- ### 问题 3:文件大小显示为 0 **症状:** - 搜索结果中所有文件大小都显示为 `0 B` **原因:** - Everything 默认不返回文件大小信息 - 需要在 API 请求中添加参数 **解决方案:** 在 API URL 中添加 `&size=1` 参数: ``` http://127.0.0.1:2853/?search=关键词&json=1&size=1&maxresults=20 ``` --- ### 问题 4:中文搜索乱码 **症状:** - 搜索中文关键词返回空结果或错误 **原因:** - URL 中的中文需要 URL 编码 **解决方案:** 使用 `urllib.parse.quote()` 编码中文: ```python import urllib.parse keyword = "数据资产" encoded = urllib.parse.quote(keyword) url = f"http://127.0.0.1:2853/?search={encoded}&json=1" ``` --- ## 📝 使用示例 ### Python 搜索脚本 ```python #!/usr/bin/env python3 import urllib.request import urllib.parse import json PORT = 2853 KEYWORD = "数据资产" # 编码关键词 encoded = urllib.parse.quote(KEYWORD) url = f"http://127.0.0.1:{PORT}/?search={encoded}&json=1&maxresults=20" # 发送请求 req = urllib.request.Request(url) req.add_header('User-Agent', 'Mozilla/5.0') with urllib.request.urlopen(req, timeout=10) as response: data = json.loads(response.read().decode()) total = data.get("totalResults", 0) results = data.get("results", []) print(f"找到 {total} 个结果") for item in results[:10]: name = item.get("name", "Unknown") path = item.get("path", "") full_path = f"{path}\\{name}" if path else name print(f" - {full_path}") ``` ### 搜索图片文件 ```python # 搜索特定类型的文件 keywords = [ "张三 jpg", # 搜索 JPG 照片 "张三 png", # 搜索 PNG 图片 "数据资产 xlsx", # 搜索 Excel 文件 "报告 pdf", # 搜索 PDF 文档 ] for keyword in keywords: encoded = urllib.parse.quote(keyword) url = f"http://127.0.0.1:2853/?search={encoded}&json=1&maxresults=10" # ... 处理结果 ``` --- ## 🔍 高级搜索语法 ### 文件类型过滤 ``` # 只搜索文件(不包括文件夹) 关键词 file: # 只搜索文件夹 关键词 folder: # 搜索特定扩展名 关键词 ext:jpg 关键词 ext:png ``` ### 路径过滤 ``` # 在特定路径中搜索 关键词 path:"D:\Documents" # 排除特定路径 关键词 !path:"C:\Windows" ``` ### 大小过滤 ``` # 大于 1MB 的文件 关键词 size:>1mb # 小于 100KB 的文件 关键词 size:<100kb ``` ### 日期过滤 ``` # 今天修改的文件 关键词 dm:today # 本周修改的文件 关键词 dm:thisweek # 特定日期之后修改的文件 关键词 dm:>2024-01-01 ``` --- ## 🛠️ 诊断工具 ### 检查端口状态 ```python # check-port.py import socket sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(3) result = sock.connect_ex(('127.0.0.1', 2853)) if result == 0: print("✓ Port 2853 is OPEN") else: print("✗ Port 2853 is CLOSED") ``` ### 测试 API 端点 ```python # test-api.py import urllib.request endpoints = [ "/", "/?search=test&json=1", "/version", ] for endpoint in endpoints: url = f"http://127.0.0.1:2853{endpoint}" try: with urllib.request.urlopen(url, timeout=5) as r: print(f"✓ {endpoint} - {r.status}") except Exception as e: print(f"✗ {endpoint} - {e}") ``` --- ## 📚 参考资料 - Everything 官方文档:https://www.voidtools.com/support/everything/ - HTTP Server 配置:https://www.voidtools.com/support/everything/http_server/ - 搜索语法:https://www.voidtools.com/support/everything/search_commands/ --- ## 📅 更新日志 ### 2026-04-02 - ✅ 批量替换敏感人名"史周平"为"张三"(共 14 处) - ✅ 更新 badges 为现代 flat-square 样式 - ✅ 设置仓库为公开可见 - ✅ 更新联系方式:问题反馈由 GitHub Issues 更改为 441457345@qq.com ### 2024-04-02 - ✅ 完成 Everything HTTP Server 配置 - ✅ 解决 HTTP 服务器无法连接问题(需手动勾选启用) - ✅ 解决 API 404 错误(使用正确的端点格式) - ✅ 测试中文搜索功能 - ✅ 创建诊断工具和测试脚本 --- ## 🎯 快速检查清单 配置 Everything 后,按此清单检查: - [ ] Everything 正在运行 - [ ] HTTP Server 已勾选启用(Ctrl+P → HTTP Server → ☑ Enable) - [ ] 端口设置为 2853 - [ ] 完全退出并重启了 Everything - [ ] 端口 2853 可连接(运行 check-port.py 验证) - [ ] API 返回正常 JSON(运行 test-api.py 验证) - [ ] 中文搜索正常工作 --- **最后更新:** 2026-04-02 **作者:** nanobot **版本:** 1.0

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 everything-search-1775729837 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 everything-search-1775729837 技能

通过命令行安装

skillhub install everything-search-1775729837

下载 Zip 包

⬇ 下载 everything-search v1.0.0

文件大小: 30.3 KB | 发布时间: 2026-4-11 22:55

v1.0.0 最新 2026-4-11 22:55
Initial release — Everything HTTP API integration for fast Windows file search with Chinese/English support

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部