Skip to content

glwlg/X-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

x-tools

x-tools 是一款专为 Windows 打造的轻量级、极简风格的本地搜索与效率工具。

它结合了 Everything 强大的搜索能力和现代化的设计感,旨在通过最少的按键完成最常见的操作。

✨ 核心特性

  • 极速搜索:基于 Everything SDK,瞬间检索全盘文件。
  • 应用启动:智能扫描系统已安装应用,支持通过拼音或名称快速启动。
  • 截图贴图:全局快捷键 Alt + S/C/A 唤起截图,支持区域选取、标注绘制、贴图钉在桌面、OCR 文字识别、二维码提取。
  • Hosts 管理:SwitchHosts 风格的多方案 Hosts 管理器,支持本地/远程方案、一键切换、导入导出。
  • 二维码生成:输入文本即时生成二维码,以贴图形式展示在屏幕上。
  • 网络监控:托盘右键一键开启网络流量监控(上传/下载)悬浮窗,支持拖拽和置顶显示。
  • 计算器模式:在搜索框输入 c 并选择进入,即可进行实时数学运算,支持括号、常用函数。
  • 命令直输:支持 关键词 + 空格 + 参数 直接执行插件(如 hash hellojson {"a":1}qr hello)。
  • 命令补全与参数面板:输入触发词即可看到命令提示、示例模板,并可用参数面板自动组装命令。
  • 收藏与最近使用排序:可在结果右键加入收藏,收藏项优先展示,常用项自动靠前。
  • 结果预览面板:搜索结果支持实时预览(文本结果、文件片段、插件用法说明)。
  • 剪贴板历史中心:支持文本/图片历史记录、搜索过滤、置顶与快速复用。
  • 工作流宏命令:支持在设置页管理宏(新增/编辑/删除),并通过 wf 执行可配置多步命令链。
  • 全局唤起:默认快捷键 Alt + Q(可配置),随时随地呼出/隐藏界面。
  • 单例运行:防止多个实例重复运行,节省系统资源。
  • 托盘控制:支持系统托盘图标,方便快速退出或调整设置。
  • 诊断日志导出:托盘菜单支持一键导出日志与配置,便于排查问题。
  • 性能诊断页:设置页可查看启动、搜索、OCR、截图保存耗时统计。
  • 精致设计
    • 无边框半透明界面。
    • 完美支持深色/浅色模式切换。
    • 全键盘操作,支持 Tab/箭头 导航。
    • 搜索框支持拖拽移动窗口。

🛠️ 环境要求

  • 操作系统:Windows 10/11。
  • Everything 服务:运行前需确保 Everything 已安装并在后台运行(它是搜索功能的引擎)。

🚀 开发与运行

本项目使用 uv 进行依赖管理(比 pip 快 10-100 倍)。

1. 安装依赖

uv sync

2. 运行程序

uv run main.py

3. 打包发布

项目提供了完善的打包脚本,可生成单一可执行文件及安装包。

  • 生成二进制 EXE (在 dist/x-tools 目录下):
    uv run build_exe.py

    已包含 RapidOCR 运行所需模型与配置文件,安装版 OCR 可直接使用。

  • 创建安装程序 (生成 x-tools-setup.exe):
    uv run create_installer.py

📦 安装说明

生成的安装包具备以下功能:

  • 自动安装至 %LOCALAPPDATA%\Programs\x-tools
  • 自动创建桌面及开始菜单快捷方式(带自定义图标)。
  • 附带 卸载程序 (uninstall.exe),支持一键干净卸载。

🔌 插件系统

x-tools 拥有一个可扩展的插件系统,支持自动发现加载插件。

内置插件

插件 触发词 说明
计算器 c / calc 数学运算,支持复制结果
时间戳工具 t / ts / time / timestamp Unix 时间戳与日期互转,支持 now
Base64 转换 b / b64 / base64 文本的 Base64 编码与解码
Hash 计算 h / hash 计算文本的 MD5/SHA 等哈希值
JSON 格式化 j / json JSON 美化与压缩
URL 编解码 u / url URL 编码与解码
UUID 生成 uuid / guid 生成随机 UUID
二维码生成 qr / qrcode 输入文本生成二维码贴图
Hosts 管理 hosts / host 打开 Hosts 管理窗口(直接操作)
系统命令 sys / system 执行系统操作(如 lock, sleep, empty
剪贴板历史 clip / clipboard 浏览历史剪贴板并一键复用
工作流宏 wf / workflow / flow 可配置多步命令链工作流

如何使用

  • 在搜索框输入特定的 触发词(例如 t)。
  • 从结果列表中选择对应的插件模式(例如 Timestamp Converter Mode)并按 回车
  • 进入插件模式后,搜索框将变为专用输入框。按 Esc 可退出插件模式返回常规搜索。
  • 部分插件(如 Hosts 管理)为直接操作类型,无需进入模式,选中后直接执行。
  • 也可直接输入 关键词 + 参数 触发命令直输(如 hash hellourl https://a.com?a=1sys lock)。
  • 输入触发词前缀可获得命令提示与示例;右键结果可打开参数面板自动填写命令。
  • 输入 clip 可打开剪贴板历史中心;输入 wf 可查看并执行工作流。

工作流宏(可配置)

  • 管理入口:设置页新增 子页面,可对工作流做新增、编辑、删除(CRUD),保存后立即生效。
  • 步骤格式:每行一步,使用 command | pickpick 可省略)。
    • command:按“触发词 + 参数”执行插件命令,例如 url {clipboard}
    • pick:按结果名称前缀匹配目标项,例如 MD5编码结果
  • 变量支持
    • {clipboard}:当前剪贴板文本。
    • {prev}:上一步选中结果的 path
    • {input}wf <workflow-id> <input> 的额外输入文本。
  • 示例
    url {clipboard} | 编码结果
    hash {prev} | MD5
    

核心架构

插件系统基于自动扫描机制。src/core/plugin_manager.py 会自动扫描 src/plugins 目录并加载所有继承自 PluginBase 的类。插件支持两种交互模式:

  • 模式型插件:进入专属输入模式后交互(如计算器、时间戳)。
  • 直接操作插件:在主搜索列表中直接展示操作项并执行(如 Hosts 管理)。通过 is_direct_action() 返回 True 来声明。

自定义开发

您可以轻松扩展功能:

  1. src/plugins 目录下新建 Python 文件。
  2. 继承 src/core/plugin_base.py 中的 PluginBase
  3. 实现 get_keywords(), execute(), get_name(), get_description() 等方法。
  4. 可选:覆写 is_direct_action() 返回 True 使插件跳过模式、直接在搜索结果中操作。
  5. 可选:实现 get_command_schema() 提供命令提示、示例和参数面板元数据。
  6. 重启应用,插件将自动激活。

📸 截图贴图工具

通过全局快捷键 Alt + S/Alt + C/Alt + A 唤起截图覆盖层,提供类似 Snipaste 的体验。

功能

  • 区域截取:鼠标框选任意屏幕区域,支持边缘锚点精确调整。
  • 多屏支持:支持跨显示器统一截图与坐标选区。
  • 标注绘制:矩形、圆形、箭头、自由画笔、文字标注,可选颜色与线宽。
  • 复制到剪贴板:截图区域一键复制。
  • 截图自动化:可配置截图后自动复制 / 自动贴图 / 自动保存(目录与文件名模板可配置)。
  • 贴图钉在桌面:将截图钉为置顶悬浮窗,支持拖动、滚轮缩放、右键菜单。
  • OCR 文字识别:基于 RapidOCR 离线识别截图中的文字,支持选区高亮、Ctrl+C / 右键复制选中文本、去换行复制、翻译与 CSV 导出(拖拽选区不会自动复制)。
  • 二维码识别:自动识别截图中的二维码内容并复制。
  • 撤销/重做:标注操作支持撤销与重做(Ctrl+Y / Ctrl+Shift+Z)。

🌐 Hosts 管理

SwitchHosts 风格的系统 Hosts 文件管理器,通过搜索框输入 hosts 打开。

功能

  • 多方案管理:创建多个 Hosts 方案,通过开关独立启用/禁用。
  • 远程 Hosts:支持从 URL 拉取远程 Hosts 文件(如广告屏蔽列表)。
  • 远程拉取异步化:远程更新在后台线程执行,避免界面卡顿。
  • 一键应用:将所有启用的方案合并写入系统 Hosts,自动保留原有系统条目。
  • 应用前预览:应用前提供完整 Diff 预览并检测同域名多 IP 冲突。
  • 导入/导出:方案支持 JSON 格式导入导出备份。
  • 语法高亮:编辑器支持 IP 地址、域名、注释的语法着色与行号显示。
  • 实时同步:外部修改系统 Hosts 文件时自动同步到应用内。
  • 防抖保存:编辑器改为防抖落盘,减少频繁 IO。

⌨️ 快捷操作

  • Alt + Q:显示/隐藏搜索窗口。
  • Alt + S / Alt + C / Alt + A:唤起截图贴图工具。
  • Enter:启动选中项目。
  • Esc:退出当前插件模式、关闭截图覆盖层或隐藏窗口。
  • Tab / 方向键:在搜索结果间移动。
  • 右键点击结果:打开文件所在位置、复制路径或执行其他操作。

📜 许可证

Apache-2.0 License

About

x-tools 是一款专为 Windows 打造的轻量级、极简风格的本地搜索与效率工具。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors