eSearch
(中文 | English)
简介
eSearch 是Information-portal的:electron:重写版(顺便加了亿些功能)
主要是想在 Linux 上(win 和 mac 上也能用)实现锤子大爆炸或小米传送门这样的屏幕搜索功能,当然也是一款方便的截屏软件。
经过数次版本迭代,eSearch 的功能愈加丰富
即拥有 截屏+OCR+搜索+翻译+贴图+以图搜图+录屏
字体是FiraCode,字体可在设置里设置
下载安装
到网站eSearch下载
或在右侧 releases 打开标签,选择符合你系统的包并下载安装
国内可以用GitHub Proxy加速下载
ArchLinux 可在 AUR 查找安装 e-search
或e-search-git
winget winget install esearch
OCR 服务
本地 OCR 由PaddleOCR的模型提供支持。
默认启用本地 OCR 服务,若想使用在线 OCR,目前提供了百度在线 OCR,需要依据教程获取API KEY 以及 Secret KEY,截止 2022 年 1 月,百度 OCR 还是可以免费领取服务。将获取到的API KEY 和Secret KEY 以及相应的你选择的文字识别服务URL 填入软件设置,去掉离线 OCR 的勾选即可使用在线 OCR。
源码运行&编译
编译需要python
和 C++
环境,Windows 下编译需要 python
和visual studio
(安装 C++)
git clone https://github.com/xushengfeng/eSearch.git
cd eSearch
npm install
# 运行
npm run start
# 调试
npm run dev
# 编译
npm run dist
# 将在build目录产生安装包和解压的目录
启动
在你的启动器打开 eSearch,他将出现在托盘。Gnome 用户需要安装appindicator插件
默认快捷键为 Alt+C(你也可以在设置里设置快捷键)
cli
eSearch支持 cli,可以通过命令行进行简单的截屏。
esearch (若找不到,请尝试e-search)
-a # 自动识别
-c # 截屏搜索
-s # 选中搜索
-b # 剪贴板搜索
-q # 快速截屏
不建议在终端进行自动或选中搜索,否则eSearch会执行Ctrl+C,从而导致终止终端程序
功能
已经勾选的功能是开发过程最新功能,但可能还没发布在最新版本
- 截屏
- 框选裁切
- 框选大小位置可调整(支持方向键或 WASD)
- 框选大小栏可输入四则运算式调整
- 取色器
- 放大镜
- 画笔(自由画笔)
- 几何形状(边框填充支持调节)
- 高级画板设置(使用 Fabric.js 的 api)
- 图像滤镜(支持局部马赛克模糊和色彩调节)
- 自定义框选松开后的操作
- 快速截取全屏到剪贴板或自定义的目录
- 截屏历史记录
- 窗口和控件选择(使用 OpenCV 边缘识别)
- 长截屏
- 多屏幕
- 录屏
- 录制全屏
- 自定义大小
- 按键提示
- 光标位置提示
- 录制栏
- 流写入
- 录音
- 录制摄像头
- 自定义比特率
- 保存(可选保存为 SVG 可编辑文件)
- 其他应用打开
- 复制到剪贴板
- 钉在屏幕上
- 滚轮缩放
- 恢复默认大小位置
- 透明度
- 鼠标穿透
- 二维码识别
- OCR 识别
- 离线 OCR(eSearch-OCR)
- 自定义离线 OCR 模型和字典
- 其他在线 OCR
- 在线公式识别
- 支持自己申请秘钥
- 表格识别
- 以图搜图
- 托盘
- 划词句来搜索
- 识别展示
- 自动搜索翻译
- 搜索
- 翻译
- 自定义搜索翻译引擎
- 自定义搜索翻译引擎(POST 模式,可用 Api)
- 软件自带浏览器打开
- 跟随关闭、失焦关闭
- 系统浏览器打开
- 链接识别
- 历史记录
- 自动删除换行(用于自动排版)
- 查找替换(支持正则匹配)
- 其他编辑器编辑(支持自动重载)
- 行号
- 拼写检查
- Wayland 桌面
插件
- 隐藏鼠标跟随栏(取色器和坐标)
- 隐藏工具栏按钮(可自行更改)
1.mp4
截屏,自由调整框选大小(视频约 2.6MB)
3.mp4
取色器(视频约 1MB)
2.mp4
Ding 在屏幕上,透明度调节、归位以及鼠标操作(视频约 1.8MB)
绘图界面
4.mp4
主页面搜索和其他应用编辑(视频约 1.6MB)
主页面查找替换(支持正则)
国际化
大多数按钮使用图标,简少了不必要的翻译
- 简体中文
- 繁体中文
- 世界语
- 西班牙语
- 阿拉伯语
- 英语
- 法语
- 俄语
测试
在 ArchLinux,KDE plasma,Xorg 下测试通过
Windows10 和 Windows11 测试通过
macOS Catalina 测试通过
Q&A
为什么选择 electron
- 跨平台需要,本来我是想在 Linux 上也能体验 Windows 下优秀的截屏工具,Linux 独占也不好,所以选择跨平台。
- qt 依赖 c++,学习成本太高。flutter 桌面版还不太成熟。我更擅长 js 开发。
- 截屏依赖本地系统,这是目前浏览器做不到的。
- 最后只有 js 类跨平台方案,我选择了较为成熟,使用最多的 electron。
tauri 也支持跨平台,也使用 js 开发,会转为 tauri 开发吗
- 有这个打算,还很心动。不过主进程 2000 行代码迁移到 rust 还是有些费劲的,所以现在不会很快迁移。
A JavaScript error occurred in the main process
这是主进程报错,可能由于各种原因导致,真正有用的错误信息是下面的具体错误,并且是代码错误。因此直接搜索“A JavaScript error occurred in the main process”很难解决问题。
一般来说,重装软件,恢复设置能解决 99%的问题。最好的办法是记录详细报错信息,提交一个issue进行反馈。
贡献
请查看贡献指南
开发原因
我在用 Windows 时一直用这个好用的截屏软件:Snipaste - 截图 + 贴图,但我现在切换到 Linux,Snipaste 不支持,所以我选择了Flameshot,很可惜它没有直观的取色器。
促使我开发 eSearch 的另一个契机是我很享受在手机上使用锤子大爆炸或小米传送门这样的即时信息搜索工具,但我没有找到电脑上类似的代替品。
所以我干脆自己开发一个“截屏+OCR+搜索+贴图”的软件。最开始用 python+pyqt 开发出Information-portal,但因为我不熟悉 pyqt,所以我转战:electron:,开发出本软件。😄
License
GPL-3.0 © xushengfeng