x-tools 是一款专为 Windows 打造的轻量级、极简风格的本地搜索与效率工具。
它结合了 Everything 强大的搜索能力和现代化的设计感,旨在通过最少的按键完成最常见的操作。
- 极速搜索:基于 Everything SDK,瞬间检索全盘文件。
- 应用启动:智能扫描系统已安装应用,支持通过拼音或名称快速启动。
- 截图贴图:全局快捷键
Alt + S/C/A唤起截图,支持区域选取、标注绘制、贴图钉在桌面、OCR 文字识别、二维码提取。 - Hosts 管理:SwitchHosts 风格的多方案 Hosts 管理器,支持本地/远程方案、一键切换、导入导出。
- 二维码生成:输入文本即时生成二维码,以贴图形式展示在屏幕上。
- 网络监控:托盘右键一键开启网络流量监控(上传/下载)悬浮窗,支持拖拽和置顶显示。
- 计算器模式:在搜索框输入
c并选择进入,即可进行实时数学运算,支持括号、常用函数。 - 命令直输:支持
关键词 + 空格 + 参数直接执行插件(如hash hello、json {"a":1}、qr hello)。 - 命令补全与参数面板:输入触发词即可看到命令提示、示例模板,并可用参数面板自动组装命令。
- 收藏与最近使用排序:可在结果右键加入收藏,收藏项优先展示,常用项自动靠前。
- 结果预览面板:搜索结果支持实时预览(文本结果、文件片段、插件用法说明)。
- 剪贴板历史中心:支持文本/图片历史记录、搜索过滤、置顶与快速复用。
- 工作流宏命令:支持在设置页管理宏(新增/编辑/删除),并通过
wf执行可配置多步命令链。 - 全局唤起:默认快捷键
Alt + Q(可配置),随时随地呼出/隐藏界面。 - 单例运行:防止多个实例重复运行,节省系统资源。
- 托盘控制:支持系统托盘图标,方便快速退出或调整设置。
- 诊断日志导出:托盘菜单支持一键导出日志与配置,便于排查问题。
- 性能诊断页:设置页可查看启动、搜索、OCR、截图保存耗时统计。
- 精致设计:
- 无边框半透明界面。
- 完美支持深色/浅色模式切换。
- 全键盘操作,支持
Tab/箭头导航。 - 搜索框支持拖拽移动窗口。
- 操作系统:Windows 10/11。
- Everything 服务:运行前需确保 Everything 已安装并在后台运行(它是搜索功能的引擎)。
本项目使用 uv 进行依赖管理(比 pip 快 10-100 倍)。
uv syncuv run main.py项目提供了完善的打包脚本,可生成单一可执行文件及安装包。
- 生成二进制 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 hello、url https://a.com?a=1、sys lock)。 - 输入触发词前缀可获得命令提示与示例;右键结果可打开参数面板自动填写命令。
- 输入
clip可打开剪贴板历史中心;输入wf可查看并执行工作流。
- 管理入口:设置页新增
宏子页面,可对工作流做新增、编辑、删除(CRUD),保存后立即生效。 - 步骤格式:每行一步,使用
command | pick(pick可省略)。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来声明。
您可以轻松扩展功能:
- 在
src/plugins目录下新建 Python 文件。 - 继承
src/core/plugin_base.py中的PluginBase。 - 实现
get_keywords(),execute(),get_name(),get_description()等方法。 - 可选:覆写
is_direct_action()返回True使插件跳过模式、直接在搜索结果中操作。 - 可选:实现
get_command_schema()提供命令提示、示例和参数面板元数据。 - 重启应用,插件将自动激活。
通过全局快捷键 Alt + S/Alt + C/Alt + A 唤起截图覆盖层,提供类似 Snipaste 的体验。
- 区域截取:鼠标框选任意屏幕区域,支持边缘锚点精确调整。
- 多屏支持:支持跨显示器统一截图与坐标选区。
- 标注绘制:矩形、圆形、箭头、自由画笔、文字标注,可选颜色与线宽。
- 复制到剪贴板:截图区域一键复制。
- 截图自动化:可配置截图后自动复制 / 自动贴图 / 自动保存(目录与文件名模板可配置)。
- 贴图钉在桌面:将截图钉为置顶悬浮窗,支持拖动、滚轮缩放、右键菜单。
- OCR 文字识别:基于 RapidOCR 离线识别截图中的文字,支持选区高亮、
Ctrl+C/ 右键复制选中文本、去换行复制、翻译与 CSV 导出(拖拽选区不会自动复制)。 - 二维码识别:自动识别截图中的二维码内容并复制。
- 撤销/重做:标注操作支持撤销与重做(
Ctrl+Y/Ctrl+Shift+Z)。
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