高性能文件搜索工具 - 类似于Windows Everything的macOS解决方案
Project description
Everything Search for macOS
🚀 高性能文件搜索工具 - 类似于Windows Everything的macOS解决方案
✨ 特性
- 🔍 极速搜索 - 毫秒级文件搜索响应
- 📊 智能索引 - 增量索引和实时文件系统监控
- 🎯 多种搜索模式 - 支持模糊搜索、正则表达式、文件类型过滤
- 🖥️ 双界面支持 - 现代化GUI界面和强大的命令行工具
- ⚡ 高性能 - 多线程并发处理,优化的数据库查询
- 🔄 实时同步 - 文件系统变更实时更新索引
📦 安装
方式1:使用 uv tool(推荐)
# 安装
uv tool install everything-search
# 启动GUI
uv tool run everything-gui
# 使用CLI
uv tool run everything-index start
uv tool run everything-search "keyword"
方式2:使用 pip
# 安装
pip install everything-search
# 启动GUI
everything-gui
# 使用CLI
everything-index start
everything-search "keyword"
方式3:从源码安装
# 克隆仓库
git clone https://github.com/duolabmeng6/everything-for-mac.git
cd everything-for-mac
# 使用uv安装依赖
uv sync
# 运行
uv run everything-gui
🚀 快速开始
1. 初始化索引
首次使用需要建立文件索引:
# 自动启动(推荐)- 自动初始化索引并启动实时监控
everything-index start
# 或者手动初始化
everything-index init
2. 启动GUI界面
everything-gui
3. 命令行搜索
# 基本搜索
everything-search "document"
# 正则表达式搜索
everything-search "*.py" --regex
# 按文件类型搜索
everything-search extension py
# 按文件大小搜索
everything-search size --min-size 100M
# 搜索最近修改的文件
everything-search recent --days 7
📖 详细使用
GUI界面
启动GUI后,您可以:
-
搜索页面:
- 在搜索框中输入关键词
- 支持实时搜索结果预览
- 可按文件名、大小、修改时间排序
- 右键菜单支持打开文件/文件夹
-
设置页面:
- 管理索引目录
- 配置排除规则
- 查看索引状态
- 启动/停止实时监控
命令行工具
索引管理 (everything-index)
# 查看帮助
everything-index --help
# 初始化索引
everything-index init
# 自动启动(初始化+增量更新+实时监控)
everything-index start
# 重建索引
everything-index rebuild
# 启动实时监控
everything-index watch
# 查看索引状态
everything-index status
# 配置管理
everything-index config show
everything-index config add-dir ~/Documents
文件搜索 (everything-search)
# 查看帮助
everything-search --help
# 基本搜索
everything-search search "keyword"
# 高级搜索选项
everything-search search "pattern" --regex --limit 100
# 按扩展名搜索
everything-search extension py
# 按大小搜索
everything-search size --min-size 1M --max-size 100M
# 最近文件
everything-search recent --days 30
# 搜索并打开
everything-search open "config"
# 显示统计信息
everything-search stats --extensions
⚙️ 配置
配置文件位置:~/.everything-search/config.json
主要配置项:
{
"index": {
"directories": ["/Users/username/Documents", "/Users/username/Desktop"],
"exclude_dirs": [".git", "node_modules", ".venv"],
"exclude_extensions": [".tmp", ".log"],
"max_file_size_mb": 1000,
"follow_symlinks": false,
"index_hidden_files": false
},
"search": {
"case_sensitive": false,
"fuzzy_search": true,
"max_results": 1000
}
}
🛠️ 开发
环境要求
- Python 3.8+
- macOS 10.14+
- uv (推荐) 或 pip
开发安装
# 克隆仓库
git clone https://github.com/duolabmeng6/everything-for-mac.git
cd everything-for-mac
# 安装开发依赖
uv sync --extra dev
# 运行测试
uv run pytest
# 代码格式化
uv run black .
# 类型检查
uv run mypy .
项目结构
everything-search/
├── everything_search/ # 主包
│ ├── core/ # 核心模块
│ │ ├── config_manager.py # 配置管理
│ │ ├── database.py # 数据库操作
│ │ ├── file_indexer.py # 文件索引
│ │ ├── search_engine.py # 搜索引擎
│ │ └── file_watcher.py # 文件监控
│ ├── cli/ # 命令行工具
│ │ ├── index_cli.py # 索引管理CLI
│ │ └── search_cli.py # 搜索CLI
│ ├── gui/ # GUI界面
│ │ ├── main_window.py # 主窗口
│ │ ├── search_tab.py # 搜索页面
│ │ └── settings_tab.py # 设置页面
│ └── gui_main.py # GUI启动脚本
├── pyproject.toml # 项目配置
└── README.md # 项目说明
🤝 贡献
欢迎提交Issue和Pull Request!
- Fork 项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 打开Pull Request
📄 许可证
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
🙏 致谢
- 灵感来源于Windows平台的Everything搜索工具
- 使用了优秀的开源库:PySide6、watchdog等
📞 联系
- 作者:duolabmeng6
- 邮箱:1715109585@qq.com
- 项目链接:https://github.com/duolabmeng6/everything-for-mac
⭐ 如果这个项目对您有帮助,请给个Star支持一下!
打赏
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
everything_search-1.0.0.tar.gz
(577.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file everything_search-1.0.0.tar.gz.
File metadata
- Download URL: everything_search-1.0.0.tar.gz
- Upload date:
- Size: 577.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
60a7b7ee64f49dbcde83a9734d4245e4159b6720942fbf2afaf82bac5236bc76
|
|
| MD5 |
d89ea9f8dc95112f51ccce8ff3be908e
|
|
| BLAKE2b-256 |
0d7c78138d5fa3ed2b89f4c456ff052cad511f343f241d63928c233978df676a
|
File details
Details for the file everything_search-1.0.0-py3-none-any.whl.
File metadata
- Download URL: everything_search-1.0.0-py3-none-any.whl
- Upload date:
- Size: 53.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70d9459b8d869d4327768fcba480354f71f8b8d18a03e0b9d582ee68eacabd7a
|
|
| MD5 |
93122b32b1809e10cc791bac7b793433
|
|
| BLAKE2b-256 |
3512718d659b5f3526fc848963bc182ccef010d4e48ba7e4178c0530b13c056b
|