Pot 跨平台划词翻译与 OCR 软件:一个快捷键打通「即选即译、截图识别、对外集成」的完整实战指南

发布时间:2026/10/30 1:50:53

Pot 跨平台划词翻译与 OCR 软件:一个快捷键打通「即选即译、截图识别、对外集成」的完整实战指南 Pot 跨平台划词翻译与 OCR 软件一个快捷键打通「即选即译、截图识别、对外集成」的完整实战指南【免费下载链接】pot-desktop一个跨平台的划词翻译和OCR软件 | A cross-platform software for text translation and recognize.项目地址: https://gitcode.com/pot-app/pot-desktopPot 是一款基于 Tauri Rust React 构建的跨平台划词翻译与 OCR 软件支持 Windows、macOS 与 Linux含 Wayland 环境。它解决的核心问题很直接选中文本按一个快捷键弹出译文框选屏幕区域做文字识别或截图翻译把剪贴板、截图、快捷键串成连续阅读与速记工作流。本文面向看得懂命令行、想装好用好并希望看懂关键实现的开发者与进阶用户读完你可以完成安装、配置多翻译服务、读懂核心调用链并通过 HTTP 接口把 Pot 接入自己的桌面流程。三分钟跑起来装完就能用的第一次体验三个平台的推荐安装路径都优先走包管理器装完即可用。Windows 用 wingetwinget install Pylogmon.potmacOS 用 Homebrewbrew tap pot-app/homebrew-tap brew install --cask potLinux 上Debian/Ubuntu 从 Release 下载.deb包安装依赖版本偏高跑不起来时换universal包它基于glibc2.28与openssl-1.1Arch/Manjaro 直接yay -S pot-translation首次启动会打开设置窗口先选一个可用的翻译服务如 Google、Bing 等免密钥服务为「划词翻译」绑定一个全局快捷键如CtrlShiftT。之后值得立刻试的三个操作在任意程序里选中一段英文按快捷键——译文窗口跟随鼠标弹出按「输入翻译」快捷键在窗口里打字回车无需先选中文本按「截图 OCR」快捷键框选屏幕任意区域识别结果直接展示并可再翻译成目标语言。能力图谱按使用场景对照源码模块Pot 把服务能力归为四类——翻译、识别、语音、收藏前端枚举在src/utils/service_instance.tsServiceTypetranslate/recognize/tts/collectionRust 侧的内置白名单在src-tauri/src/config.rs的check_service_available中builtin_translate_list等四个列表启动时会把已失效的服务从配置里剔除。按场景分组如下场景能力源码模块仓库相对路径划词 / 输入翻译21 个内置翻译服务并行出译多语言界面src/services/translate/index.jsx、src/i18n/locales截图 OCR / 截图翻译系统 OCR离线、Tesseract.js离线、百度/腾讯/火山/讯飞 OCR、Simple LaTeX、二维码识别等src/services/recognize/index.jsx、src-tauri/src/system_ocr.rs语音合成Lingva TTSsrc/services/tts/index.jsx导出到单词本Anki、欧路词典Eudicsrc/services/collection/anki、src/services/collection/eudic剪贴板监听「复制即译」500ms 轮询触发src-tauri/src/clipboard.rs外部调用 / 快捷键本地 HTTP 服务、全局快捷键注册src-tauri/src/server.rs、src-tauri/src/hotkey.rs插件扩展.potext插件覆盖四类能力src-tauri/src/cmd.rs、src/utils/invoke_plugin.js拆开来看一次划词翻译的完整调用链从「选中文字 → 弹出译文」这个最典型的操作切入整条链路是全局快捷键 → Rust 窗口管理 → 事件推送 → 前端渲染多路译文。入口全局快捷键。快捷键注册在src-tauri/src/hotkey.rs的register_shortcut应用启动时src-tauri/src/main.rs的 setup 里调用register_shortcut(all)把selection_translate、input_translate、ocr_recognize、ocr_translate四个 handler 绑定到 Tauri 的GlobalShortcutManager键位存于配置前端可通过register_shortcut_by_frontend命令随时改绑。取词与入状态。划词的底层实现在src-tauri/src/window.rs的selection_translate先用selection::get_text()读取系统选中文本写入全局状态StringWrappermain.rs中管理的MutexString随后translate_window()建窗并window.emit(new_text, text)把文本推给前端。前端拿到new_text事件后翻译窗口从useConfig(translate_service_list, ...)读出服务列表对每个服务实例并行发起请求多路译文在src/window/Translate/的SourceArea/TargetArea组件中分栏渲染。窗口跟随鼠标的细节。translate_window()会读取鼠标物理坐标与 DPI按translate_window_position配置决定定位mouse时窗口贴在鼠标旁并做越界回拉其他值则用translate_window_position_x/y的固定坐标。输入翻译走input_translate它向状态写入特殊标记[INPUT_TRANSLATE]并发同名事件前端据此切换为输入模式若定位模式为mouse窗口还会window.center()居中。OCR 的截图分支差异。按平台拆开看平台截图方式实现位置macOS直接调系统screencapture -i -r存到pot_screenshot_cut.pngwindow.rs的ocr_recognize#[cfg(target_os macos)]分支Windows / Linux全屏截图窗口src-tauri/src/screenshot.rs的screenshot命令抓屏存pot_screenshot.png前端src/window/Screenshot/index.jsx展示图片供用户拖框松手时调cut_imagesrc-tauri/src/cmd.rs裁剪出pot_screenshot_cut.png并emit(success)Rust 侧监听后打开识别窗口screenshot.rs、cmd.rs的cut_image、window.rs的screenshot_window系统 OCR 的三端实现是另一组对照src-tauri/src/system_ocr.rs三个#[cfg(target_os)]分支Windows 走Windows.Media.OCR的OcrEnginemacOS 运行打包进资源的 Vision 框架二进制Linux 直接执行tesseract命令缺语言包时会给出tesseract-ocr-{lang}的安装提示。LLM 类翻译服务的通用写法。OpenAI 类服务OpenAI、ChatGLM、Gemini Pro、Ollama 共用实现在src/services/translate/openai/index.jsx的translate函数自动补全/v1/chat/completions路径用promptList模板替换$text、$from、$to、$detect占位符构造提示词stream开启时按data:分片解析 SSE 流并逐段回填译文关闭时取choices[0].message.content。剪贴板监听的实现很朴素。src-tauri/src/clipboard.rs的start_clipboard_monitor是一个 500ms 轮询循环监听开关打开且剪贴板文本变化时直接调用text_translate复用整条翻译链路——这也解释了为什么「复制即译」无需任何前端配合。扩展与集成.potext 插件、HTTP 接口与第三方联动插件的运行机制。插件文件扩展名为.potext安装入口在设置页「添加外部插件」。校验与解压逻辑在src-tauri/src/cmd.rs的install_plugin文件名去掉.potext后必须以plugin开头压缩包内必须含info.json声明plugin_type与main.js通过后解压到配置目录的plugins/plugin_type/plugin_name/。运行侧对应到src/utils/invoke_plugin.js前端eval插件的main.js并注入一组工具对象——tauriFetch、http、readBinaryFile、readTextFile、Database、CryptoJS、cacheDir、pluginDir、osType以及关键的run它调用 Rust 侧run_binary命令以插件目录为工作目录执行插件自带的可执行二进制返回{stdout, stderr, status}。这就是一套「JS 脚本 原生二进制」的混合插件模型离线 OCR 插件如 Rapid、Paddle正是靠它跑本地识别引擎。本地 HTTP 接口。应用启动时src-tauri/src/server.rs的start_server在127.0.0.1上起一个tiny_http服务默认端口60828可在设置里改server_port改完需重启应用。http_handle的路由分发接口说明POST /或POST /translate请求体为待翻译文本直接翻译GET /config打开设置窗口GET /selection_translate翻译当前选中的文本GET /input_translate打开输入翻译窗口GET /ocr_recognize//ocr_translate先内置截图再识别/翻译GET /ocr_recognize?screenshotfalse跳过截图直接识别约定路径的图片screenshotfalse时handle_ocr_recognize直接调recognize_window()、handle_ocr_translate直接调image_translate()两者都读取pot_screenshot_cut.png请求处理完统一返回ok。一条最简调用curl 127.0.0.1:60828/selection_translate不依赖内置截图的工作流。用自己习惯的截图工具Flameshot、Scrot 等截完图把 PNG 存到系统缓存目录下的com.pot-app.desktop/pot_screenshot_cut.png再请求screenshotfalse接口即可。Linux 用 Flameshot 的完整示例rm ~/.cache/com.pot-app.desktop/pot_screenshot_cut.png \ flameshot gui -s -p ~/.cache/com.pot-app.desktop/pot_screenshot_cut.png \ curl 127.0.0.1:60828/ocr_recognize?screenshotfalse已有第三方集成Windows 上的 SnipDo装pot.pbar扩展选区旁出现 pot 图标macOS 上的 PopClip装pot.popclipextz扩展并在设置中启用Linux 上的 Starry仍在开发需手动编译。平台落地与兼容装完之后会踩的坑Windows启动后无界面、点托盘没反应→ 原因是 WebView2 被卸载或禁用企业系统甚至装不上 → 手动安装/恢复 WebView2装不上的话用 Release 里的*_fix_webview2_runtime-setup.exe修复版再不行尝试以 Windows 7 兼容模式启动。Windows 插件报错「The specified module could not be found」是缺 C 运行库安装 Microsoft Visual C Redistributable 即可「Not a valid Win32 application」是插件与当前系统/架构不匹配去插件仓库下对应架构版本。macOS提示开发者无法验证→ 原因是系统对未签名应用的隔离 → 点 Cancel 后在「设置 → 隐私与安全性」里「仍要打开」Apple Silicon 上提示文件损坏时执行sudo xattr -d com.apple.quarantine /Applications/pot.appmacOS每次打开都弹权限提示、或划词翻译失效→ 原因是辅助功能授权残留 → 在「设置 → 隐私与安全性 → 辅助功能」中移除 pot 后重新添加。注意Arch/Manjaro 上较新的 Webkit2Gtk2.42.0在 Nvidia 闭源驱动未完整实现 DMABUF 的情况下会导致启动失败或崩溃需降级 Webkit2Gtk或在/etc/environment添加WEBKIT_DISABLE_DMABUF_RENDERER1。注意Flatpak 版Flathub 上的com.pot_app.pot缺失托盘图标习惯用托盘的用户建议用 deb/AUR 包。Wayland 下的三件事各发行版支持程度不一需配置解决快捷键不可用Tauri 对 Wayland 的全局快捷键支持不完善应用内快捷键方案失效 → 改为系统级快捷键 curl调用 HTTP 接口上一节的/selection_translate等路由即为此准备。内置截图不可用纯 Wayland 环境如 Hyprland→ 用外部截图工具走screenshotfalse工作流Hyprland 配置示例bind ALT, X, exec, grim -g $(slurp) ~/.cache/com.pot-app.desktop/pot_screenshot_cut.png curl 127.0.0.1:60828/ocr_recognize?screenshotfalse bind ALT, C, exec, grim -g $(slurp) ~/.cache/com.pot-app.desktop/pot_screenshot_cut.png curl 127.0.0.1:60828/ocr_translate?screenshotfalse翻译窗口不跟随鼠标Wayland 下 Pot 取不到精确鼠标坐标translate_window()的跟随逻辑不生效 → 用窗口管理器规则实现Hyprland 示例windowrulev2 float, class:(pot), title:(Translator|OCR|PopClip|Screenshot Translate) windowrulev2 move cursor 0 0, class:(pot), title:(Translator|PopClip|Screenshot Translate)此外仓库里还有一份 patches/hyprland.patch它注释掉src/window/Translate/index.jsx中对tauri://move事件的监听避免移动窗口时触发误关闭逻辑自编译的 Wayland 用户可以参考。从源码到发布物环境要求与完整编译链路依赖最低版本Node.js 18.0.0pnpm 8.5.0Rust 1.80.0前端栈见 package.jsonTauri CLI^1.6.3、React 18、NextUI、TailwindCSS、i18next、tesseract.js桌面端为 Rustsrc-tauri/。克隆仓库git clone https://gitcode.com/pot-app/pot-desktop安装依赖cd pot-desktop pnpm installLinux 需补系统库sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev librsvg2-dev patchelf libxdo-dev libxcb1 libxrandr2 libdbus-1-3开发模式可选pnpm tauri dev构建安装包pnpm tauri build。多平台差异集中在src-tauri/tauri.conf.json之外的三个平台配置tauri.windows.conf.jsonNSIS 安装包、内嵌 WebView2 bootstrapper、tauri.macos.conf.json打包resources/*与 macOS 图标、tauri.linux.conf.json托盘图标设置。收尾三条实用路径与延伸阅读日常使用装好后绑定快捷键划词翻译 剪贴板监听覆盖绝大多数阅读场景特殊平台Wayland 等走「系统快捷键 curlHTTP 接口 外部截图工具 screenshotfalse」的组合绕开 Tauri 在 Wayland 上的短板深度集成或二次开发基于src/utils/invoke_plugin.js揭示的插件模型开发.potext插件或直接把127.0.0.1:60828的 REST 接口接入自己的软件与自动化脚本。延伸参考仓库内的 README_EN.md 是功能与安装口径最全的文档源码上建议按src-tauri/src/window.rs→src-tauri/src/server.rs→src/window/Translate/index.jsx的顺序读正好对应上文那条调用链。【免费下载链接】pot-desktop一个跨平台的划词翻译和OCR软件 | A cross-platform software for text translation and recognize.项目地址: https://gitcode.com/pot-app/pot-desktop创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/30 1:45:53

高校生鲜配送系统:Spring Boot+Vue轻量级实战项目

简介:高校社区生鲜配送系统是一套面向大学生及周边居民的轻量级在线生鲜电商解决方案,适用于Java Web课程设计、毕业设计或中小型校园O2O项目实践,聚焦用户管理、商品调度、订单履约与本地化配送等核心业务闭环。资源包共909个文件&#xff0…

2026/10/30 1:45:53

含分布式电源的配电网可靠性评估:基于MATPOWER的潮流计算实现

简介:面向电力系统研究人员与配电网规划工程师的MATLAB仿真代码包,聚焦分布式电源接入后配电网运行可靠性的量化分析。代码支持自定义分布式电源接入位置及有功、无功功率,借助牛顿-拉夫逊法求解接入前后潮流分布,对比节点电压、线…

2026/10/30 1:45:53

Python Flask+ECharts 轻量级数据可视化大屏实战

简介:这份基于Python与Flask的轻量级数据可视化大屏项目,面向需要快速搭建企业数据监控与业务分析界面的开发者及前端工程化学习者,重点解决多页面看板切换、实时数据渲染与模块化展示需求。压缩包共24个文件,约1.02MB&#xff0c…

2026/10/30 5:21:09

macOS下OpenClaw命令行工具的安装与使用指南

1. OpenClaw简介与macOS环境准备OpenClaw是一款轻量级的开源命令行工具,主要用于快速抓取和处理网络数据。它在开发者社区中广受欢迎,特别适合需要频繁进行网页内容提取或API测试的场景。与curl等传统工具相比,OpenClaw提供了更简洁的语法和更…

2026/10/30 5:21:09

动态火焰识别算法:抗光照突变与烟雾干扰的实时检测方案

简介:本资源是一套基于MATLAB实现的动态火焰识别源程序,面向计算机视觉初学者、图像处理课程设计学生及火灾智能监控方向的研究者,解决视频流中火焰区域的实时检测与标记问题,适用于实验室教学、毕业设计参考及安防系统原型开发。…

2026/10/30 5:21:09

Seedance2.0多模态生成技术解析与应用实践

1. Seedance2.0技术架构解析1.1 双分支扩散变换器设计原理Seedance2.0采用的双分支扩散变换器架构是其核心技术亮点。这种架构本质上是一种改进的扩散模型,通过并行处理视觉和音频两个数据流来实现多模态生成。视觉分支负责处理图像序列和视频帧,而音频分…

2026/10/30 5:21:09

无监督学习:从K-means到对比学习的AI核心技术

1. 无监督学习的本质与核心价值十年前我第一次接触无监督学习时,实验室的师兄指着屏幕上的一堆杂乱数据点说:"看,这就是未来。"当时我完全不明白这些没有标签的数据能有什么用。如今十年过去,无监督学习已经从实验室的玩…

2026/10/30 5:21:09

高性能图像处理库优化技术与深度学习应用

1. 高性能图像处理库的核心价值与应用场景在计算机视觉和深度学习领域,图像预处理环节往往成为整个推理流程的性能瓶颈。传统OpenCV等库虽然功能全面,但在处理高分辨率图像或批量数据时,性能表现难以满足实时性要求。这就是为什么近年来专门针…

2026/10/30 5:16:09

线性代数及其应用第五版:矩阵、特征值与最小二乘学习路线

简介:《线性代数及其应用》第5版英文原版PDF面向高校理工科、经济管理类学生以及人工智能与机器学习自学者,用于系统学习线性方程组、矩阵运算、行列式、向量空间、特征值与特征向量、正交性、最小二乘和二次型等核心内容。资源包为1个PDF文件&#xff0…

2026/10/29 17:05:52

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/29 17:06:02

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/29 17:06:13

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/30 0:00:46

NCP1342高频准谐振反激控制器:从设计约束到验收的完整方案

简介:NCP1342 高频准谐振反激控制器应用介绍译文文档,面向电源设计工程师、硬件研发人员及开关电源学习者,帮助读者跨越英文原版资料的语言门槛,系统理解这款高集成度 QR Flyback 控制器的设计要点。文档围绕芯片核心特性展开&…

2026/10/30 0:00:46

NCP1342准谐振反激电源设计:从选型到验收的全流程解析

简介:这份文档面向电源设计工程师与开关电源学习者,系统梳理NCP1342高频准谐振反激控制器的应用要点,帮助读者快速理解这款高集成度离线电源变换器控制芯片的工作机制与设计方法。内容涵盖芯片核心特性、引脚功能定义、电气特性参数表、最大额…

2026/10/30 0:00:46

Web系统自动登出机制设计与实现全解析

1. 系统自动登出机制的设计初衷在各类Web应用和后台管理系统中,自动登出功能早已成为标配。这个看似简单的功能背后,实际上涉及用户安全、资源管理和体验优化的多重考量。作为从业十多年的老开发,我见过太多因为登出逻辑设计不当导致的安全事…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑