Hello大家好呀,我从今年夏天至今写了一个款Windows上的生产力工具,也可以说是效率工具,类似于MacOS的Alfred,命名为Gotcha。
写这款工具的原因很简单,Windows内置的启动菜单不好用,和Alfred差远了,我很单纯就想写一个类似于Alfred的启动工具,因为我自己喜欢用。
肯定有朋友会问,uTools不是很好的Alfred替代品么,为什么要自己再写一个工具?
是的,uTools非常优秀,但是我就是喜欢写一款符合自己喜好的工具。比如我喜欢Alfred中Workflow的理念,所以我加到了这个工具中。再比如我不太喜欢electron架构的工具(没有冒犯的意思,我也用vscode,纯粹是太多优化不好的electron工具太占资源),所以我选择使用Qt。
自己造轮子一个最大的好处就是随意自己心意,让自己心情好就是最好的工具。在此分享这个工具也是Gotcha工具的第一次分享,希望能找到志同道合的朋友使用体验(BUG可能很多,毕竟一直都是自己用的)。
对了,Gotcha的中文名叫做“火眼”,取这个名字也是最近的事情。估计有的朋友都能猜出来,最近中黑神话悟空的毒比较深,所以用“火眼金睛”的“火眼”来命名软件,正好符合一个搜索为主的效率工具的调性。
需要郑重说明的是,软件肯定一直都会免费使用,原因很简单,第一,软件本身就使用了大量的MIT,BSD,LGPL等协议的代码,不可能厚着脸皮收费;第二,软件才1.0版本,比这个软件好用的软件多的去了,发布这个工具只是为了分享,找点志同道合的朋友,一起完善它。
最后,我想说一下火眼(Gotcha)为什么没有开源,其实原因很简单,代码写的比较随意,一边想一边写的,不符合我自己对于“开源”的代码质量规范的要求,简单说就是不拿出来丢人现眼了。如果有朋友想知道某些功能是如何实现的,大可以联系我,我甚至能写文章或者录视频来讲解。
好了,说了这么多,来看看火眼(Gotcha)究竟能做些什么吧。
简介
火眼(Gotcha)是 Windows 上的生产力工具,允许你通过键盘快速搜索、执行命令、启动应用、管理剪贴板、创建自定义工作流等。它极大地提高了工作效率,减少了鼠标操作。
官网链接:火眼(Gotcha)
下载连接: 点我下载
安装
- 打开 火眼(Gotcha)官网 并下载最新版。
- 运行下载的
.exe
文件安装程序。 - 启动 火眼(Gotcha)即可开始搜索。
基本功能
火眼(Gotcha)使用符号 >
作为搜索执行符,是整个软件的核心字符。
应用搜索
按下 Win + Y
打开 火眼(Gotcha)界面,输入关键字即可搜索应用。搜索的范围包括开始菜单、程序目录、用户桌面和环境变量中可执行程序和快捷方式。目前拼音搜索和首字母搜索只支持应用搜索,因为拼音搜索和首字母会减缓搜索速度。
进程搜索
使用pi>
前缀即可开启进程搜索,其中pi
为搜索功能前缀,>
为搜索执行符。比如,搜索chrome,输入pi>chrome
即可。
剪贴板搜索
使用cb>
前缀即可开启进程搜索,剪贴板搜索可以搜索火眼(Gotcha)启动以来的剪贴板历史。注意:程序重启后,重新开始记录剪贴板历史。
Web搜索引擎搜索
使用s>
前缀即可开启进程搜索,例如搜索s>火眼
,目前还只支持作者常用的搜索引擎,如果需要其他搜索引擎,可以使用工作流(Workflow)功能自由创建搜索功能。
搜索资源管理器窗口中的文件
使用sf>
前缀即可开启搜索资源管理器(explorer.exe)窗口中的文件,在打开窗口比较多的时候,使用此功能可以方便的找到想要的文件。
普通文件搜索和文件内容搜索
使用f>
前缀即可开启普通文件搜索,普通文件搜索目录需要通过配置选项设置,可以添加包含路径和排除路径。
使用in>
前缀即可开启文件内容二进制搜索,搜索路径依然是通过配置选项设置,与普通文件搜索相同。
执行命令
使用cmd>
前缀即可执行cmd命令,输入cmd命令后需要输入>
执行命令,cmd命令支持命令行参数。例如:cmd>ipconfig /all>
快速计算
使用calc>
前缀即可开启计算器功能,输入数学表达式,火眼(Gotcha)会自动计算结果。例如:
calc>5 * 8 + sin(1) - s2i(‘0x10’)
支持的函数包括:
abs, avg, ceil, clamp, erf, erfc, exp, expm1, floor, frac, hypot, iclamp, inrange, log, log10, log1p, log2, logn, max, min, mod, mul, ncdf, pow, root, round, roundn, sgn, sqrt, sum, swap, trunc, equal, not_equal, acos, acosh, asin, asinh, atan, atan2, atanh, cos, cosh, cot, csc, sec, sin, sinc, sinh, tan, tanh, deg2rad, rad2deg, deg2grad, grad2deg
Windows设置项搜索
使用st>
前缀即可开启Windows设置项搜索,例如st>xz
。
文档内容搜索
使用doc>
前缀即可开启文档文件内容搜索,目前支持Word、Excel、PowerPoint文件以及PDF搜索,注意Word、Excel、PowerPoint的搜索借助MS Office能力,需要安装Office,PDF搜索根据文件大小可能会比较慢。
超级搜索
使用ss>
前缀即可开启超级搜索,会使用管理员权限运行searchfileserver服务 ,该服务能力类似everything,对NTFS文件系统做全盘扫描搜索,目前暂不支持配置搜索盘符,所以盘符都会进行索引。
运行脚本
目前支持执行脚本的类型包括QuickJs,Python和PowerShell,其他脚本包括NodeJs还在计划当中。
使用qjs>
前缀即可开启执行QuickJs脚本,QuickJs为火眼(Gotcha)内置脚本引擎,可以在不依赖任何第三方库的情况下,执行简单的JS脚本操作。当然也支持一些基本的文件操作(QuickJs默认支持),后续内置功能陆续更新。
使用py>
前缀即可开启执行Python脚本,Python脚本非内置引擎,依赖Python312.dll(需要安装Python3.12),因为是依赖第三方安装,所以pip安装的包都可以使用。Python脚本对应的文件夹如果存在requirements.txt文件,火眼(Gotcha)启动的时候会优先安装依赖包,因此Python是比较好的脚本传播选择。
py
| dict.py
|
-–dict
requirements.txt
dict\requirements.txt:
requests==2.32.3
使用ps>
前缀即可开启执行PowerShell脚本。因为PowerShell是Windows内置脚本,所以基本上等于内置脚本。另外因为PowerShell支持.net和COM的调用,所以理论上可以完成一些复杂的功能,只是编写脚本不如Python方便。
三种脚本的运行方式为:
(qjs|py|ps)>(script name)>(script args)>(search pattern [optional])
火眼(Gotcha)工作流(Workflow )
什么是工作流?
工作流是 火眼(Gotcha)最强大的功能之一,允许用户通过自定义的操作流程自动完成多项任务。它可以用来启动一系列应用、进行复杂搜索、执行脚本等。
如何创建工作流?
- 打开 火眼(Gotcha)设置。
- 点击左侧的 “工作流(Workflow)”。
- 点击新建工作流。
- 按照需要添加触发器、操作步骤(如运行脚本、打开文件等)。
请注意,选择工作流节点有两种状态,蓝色是选择节点 ,也是起始节点。红色是结束节点只用于连接节点使用 。
以ip工作流为例:
- 首先创建触发器,触发器是所有工作流的起点,需要设置工作流的名称和前缀。注意前缀非常重要 ,在运行工作流的时候需要用到。
- 创建所需要的行动节点,例如在ip这个工作流中需要执行PowerShell命令。
- 接着需要解析执行命令的结果,因为上一个节点输出的变量为
output
,所以需要解析的变量为${output}
。这里用到了一个非常重要的组件Json解析器,可以通过类似XML的XPath解析Json。在例子中命令行返回的是一个Json数组,通过/[*]/IPAddress
这个查询路径,告诉解析器遍历Json数组中所有的数组,并且输出IPAddress
的值到ip_addresses
,ip_addresses
最后得到的也是一个数组。
查询路径使用方法:
/[*]/target - 选择所有数组中的target Key
/[5]/target - 选择数组第5个target key
/[@‘attr1’==‘value1’, @‘attr2’<‘value2’]/target - 通过Json对象中的某个key的值,过滤对象,并且输出符合条件的target
- 输出到列表,将
${ip_addresses}
和${interface_aliases}
作为主信息和辅助信息输出到结果列表。
运行工作流
使用wf>
前缀即可开启执行工作流,整体输入为:
wf>(workflow name)>(input [optional)>(search pattern [optional])
其中workflow name
为工作流名称,input
为输入给工作流的参数,是可选的,其他工作流节点可以通过${input}
变量获取,search pattern
是搜索结果过滤。
例如wf>ip>>12
:
如果需要查看所有工作流可以通过wfl>
查看:
工作流的相关例子均可以在安装目录的workflows文件夹下找到。
常见问题
火眼(Gotcha)是否可以离线工作?
是的,大多数 火眼(Gotcha)功能在离线状态下都可以正常工作,但一些在线搜索功能(如互联网搜索)需要网络连接。
如何备份我的 火眼(Gotcha)设置?
您可以通过 火眼(Gotcha)设置(Settings)中的打开 Config.toml 另存为备份文件。
火眼(Gotcha)的工作流(Workflow)是否免费?
是的,火眼所有功能完全免,包括Workflow。