Skip to main content

高性能文件搜索工具 - 类似于Windows Everything的macOS解决方案

Project description

Everything Search for macOS

🚀 高性能文件搜索工具 - 类似于Windows Everything的macOS解决方案

Python License Platform alt text

✨ 特性

  • 🔍 极速搜索 - 毫秒级文件搜索响应
  • 📊 智能索引 - 增量索引和实时文件系统监控
  • 🎯 多种搜索模式 - 支持模糊搜索、正则表达式、文件类型过滤
  • 🖥️ 双界面支持 - 现代化GUI界面和强大的命令行工具
  • 高性能 - 多线程并发处理,优化的数据库查询
  • 🔄 实时同步 - 文件系统变更实时更新索引

📦 安装

方式1:使用 uv tool(推荐)

# 安装
uv tool install everything-search

# 启动GUI
everything-search

# 使用CLI
everything-index start
everything-cli "keyword"

# 卸载
uv tool uninstall everything-search

方式2:从源码安装

# 克隆仓库
git clone https://github.com/duolabmeng6/everything-for-mac.git
cd everything-for-mac

# 使用uv tool安装到系统
uv tool install .

# 然后就可以使用系统命令了
everything-search          # 启动GUI
everything-index start     # 启动索引服务
everything-cli "keyword"   # 搜索文件

# 卸载
uv tool uninstall everything-search

🚀 快速开始

命令行搜索

# 初始化索引后才可以搜索
everything-index start

# 基本搜索(直接搜索)
everything-cli "document"

# 正则表达式搜索
everything-cli "*.py" --regex

# 按文件类型搜索
everything-cli extension py

# 按文件大小搜索
everything-cli size --min-size 100M

# 搜索最近修改的文件
everything-cli recent --days 7

# 传统子命令方式(向后兼容)
everything-cli search "document"

🎯 快速命令参考

功能 命令 说明
安装工具 uv tool install everything-search 安装到系统
卸载工具 uv tool uninstall everything-search 从系统卸载
启动GUI everything-search 启动图形界面
初始化索引 everything-index init 首次建立文件索引
自动启动服务 everything-index start 自动初始化+增量更新+实时监控
查看索引状态 everything-index status 显示索引统计信息
基本搜索 everything-cli "keyword" 搜索包含关键词的文件
正则搜索 everything-cli "*.py" --regex 使用正则表达式搜索
按类型搜索 everything-cli extension py 搜索指定扩展名的文件
按大小搜索 everything-cli size --min-size 100M 搜索大于指定大小的文件

📖 详细使用

GUI界面

启动GUI后,您可以:

  1. 搜索页面

    • 在搜索框中输入关键词
    • 支持实时搜索结果预览
    • 可按文件名、大小、修改时间排序
    • 右键菜单支持打开文件/文件夹
  2. 设置页面

    • 管理索引目录
    • 配置排除规则
    • 查看索引状态
    • 启动/停止实时监控

命令行工具

索引管理 (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-cli)

# 查看帮助
everything-cli --help

# 基本搜索(直接搜索)
everything-cli "keyword"

# 高级搜索选项
everything-cli "pattern" --regex --limit 100

# 按扩展名搜索
everything-cli extension py

# 按大小搜索
everything-cli size --min-size 1M --max-size 100M

# 最近文件
everything-cli recent --days 30

# 搜索并打开
everything-cli open "config"

# 显示统计信息
everything-cli stats --extensions

# 传统子命令方式(向后兼容)
everything-cli search "keyword"

⚙️ 配置

配置文件位置:~/.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
  }
}

项目结构

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!

  1. Fork 项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情

🙏 致谢

  • 灵感来源于Windows平台的Everything搜索工具
  • 使用了优秀的开源库:PySide6、watchdog等

📞 联系


⭐ 如果这个项目对您有帮助,请给个Star支持一下!

打赏

alt text

Project details


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.2.tar.gz (577.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

everything_search-1.0.2-py3-none-any.whl (53.9 kB view details)

Uploaded Python 3

File details

Details for the file everything_search-1.0.2.tar.gz.

File metadata

  • Download URL: everything_search-1.0.2.tar.gz
  • Upload date:
  • Size: 577.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.8

File hashes

Hashes for everything_search-1.0.2.tar.gz
Algorithm Hash digest
SHA256 f882d2b11ba89b48ed432e03a348a5e151c09b69d3eea29b49b82492819d070e
MD5 276a58e747bedca0808d338478a32e04
BLAKE2b-256 743437a044635e4c68e7e1846062c2d5c8cca3ad9cd15e446223d3cff8844b51

See more details on using hashes here.

File details

Details for the file everything_search-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for everything_search-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ee12dc765e26e8847b26feaba23afe07e5ef36ce5d0a60b4455d7edada266fc4
MD5 bfd12c386986ddd2021669ebf6b9583f
BLAKE2b-256 07f7ad029f492c280a711437e1717d89ffab636ceb8af67a7455cc51b4249b47

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page