文件结构工具

一个专业的文件结构查看工具,支持命令行导出、PyQt5 GUI界面和MCP服务器集成。

  • by NeoXider
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 NeoXider/Directory-Tool

使用说明

目录工具文档

这个项目提供了一个专业的工具来查看文件项目的结构:一个控制台实用程序 make.py 集成了树导出、方便的pyqt5接口和用于与代理集成的MCP服务器。

简短

make.py -三种模式的单一输入:将结构导出到文本中,通过pyqt5 GUI查看,并通过MCP服务器发布。所有模式共享扫描仪(tree_core.py),因此筛选器、树格式和搜索结果匹配。

命令行界面

出口(python make.py export …)

  • 任命: 创建文本树并在控制台中显示它。
  • 关键选项: --max-depth, --dirs-only, --include-pattern/--exclude-pattern, --include-hidden, --skip-empty-dirs, --dir-ignore, --file-ignore, --no-ignore.
  • 例子: python make.py export D:\Work\Game --max-depth 2 --include-pattern "*.cs" --skip-empty-dirs →保存 PROJECT_STRUCTURE.txt (姓名变更后) --name).

搜索(python make.py search …)

  • 任命: 通过子字符串(不区分大小写)搜索文件和目录,筛选器与导出相同。
  • 选项: 相同的过滤器+ --limit (0=无限制) --show-tree 输出匹配目录的子树。
  • 例子: python make.py search . src --include-pattern "*.py" --limit 20 显示相对路径命中列表。

GUI(python make.py gui … 或 python gui_app.py …)

  • 任命: 交互式树视图,过滤,导出到 .txt 快速搜索。
  • 里面是什么:
    • 浅色/深色控制被紧凑的深色风格所取代,带有深蓝色。
    • 在路径的顶部,带有“选择…”按钮,过滤器下方有“返回”、“更新”、“导出…”按钮,它们位于树的正上方。
    • 滤波器组(Файлы, Скрытые, Пропускать пустые,深度,包括/排除全球。
    • 在右侧窗格中,结果列表上方有一个搜索块:字段、“查找”和“重置”按钮。双击目录打开它,双击文件在树中选择它。
    • 左边是目录树,右边是找到的项目列表及其详细信息/子树。
  • 启动: python make.py gui D:\Repo --include-hidden --max-depth 3PyQt5 是必需的 : pip install pyqt5.

MCP(python make.py mcp … 或直接进口 mcp_server.py)

  • 任命: 通过MCP提供外部模型的结构、文件列表和搜索结果。
  • 工具和设置:
    • list_structure 目录树。参数: root, max_depth, include_files, include_hidden, include_patterns, exclude_patterns, skip_empty_dirs, no_ignore, extra_dir_ignores, extra_file_ignores, include_json实例: list_structure('.', max_depth=2, include_json=False).
    • list_targets -通过glob模板输出文件。参数: root, patterns, max_depth, include_hidden, skip_empty_dirs, no_ignore, extra_dir_ignores, extra_file_ignores, include_tree实例: list_targets('src', patterns=['*.py', '*/tests/**'], include_tree=False).
    • search_entries -不区分大小写的名字搜索。参数: root, query, max_depth, include_hidden, include_files, skip_empty_dirs, no_ignore, extra_dir_ignores, extra_file_ignores, limit, include_tree实例: search_entries('.', 'config', limit=10).
  • 安装:
    1. pip install fastmcp (如果只需要服务器,则不需要PyQt5)。
    2. 从文件夹运行 make.py 和 mcp_server.py.
  • 启动服务器:
    python make.py mcp --host 0.0.0.0 --port 8765 --debug
    
  • 模型连接:
    1. 添加MCP结束点 http://<host>:<port> 在客户/代理。
    2. 允许使用工具 list_structure, list_targets, search_entries.
    3. 传送绝对 root 和所需的过滤器(深度,隐藏,包括/排除, limit 等等。D.其他事项).
    4. 答案包含 tree_text如有必要,JSON(tree)相对路径和旗帜 truncated如果搜索被限制。
  • 在Python中直接使用:
    from mcp_server import search_entries
    print(search_entries('.', 'node', limit=5))
    

导出,GUI和MCP使用相同的遍历和搜索实现(tree_core.py因此,各制度之间的结果仍然是一致的。