Pot(pot-desktop)跨平台划词翻译与 OCR 软件实战指南:使用、接口体系、外部调用、插件系统与 Wayland 适配
桌面应用AI 应用【免费下载链接】pot-desktop一个跨平台的划词翻译和OCR软件 | A cross-platform software for text translation and recognize.项目地址https://gitcode.com/pot-app/pot-desktop点击查看免费下载Pot派了个萌的翻译器是当前开源仓库 pot-app/pot-desktop 中的核心项目一款基于 Tauri Rust 构建的跨平台划词翻译与 OCR 桌面软件覆盖 Windows、macOS、Linux 三大平台并以 多接口并行 插件扩展 HTTP 外部调用 为核心设计。本文以仓库根目录的 README.md 为主线结合src-tauri下的 Rust 源码如 server.rs、hotkey.rs、cmd.rs与前端服务实现系统讲解六大核心使用方式、内置/插件接口体系、HTTP API 外部调用方案、安装与手动编译流程以及 Wayland 桌面环境下的适配技巧帮助读者快速上手并二次集成 Pot 的能力。一、核心使用方式Pot 的全部常用功能都由全局快捷键驱动快捷键在应用内偏好设置中可自由配置。Rust 侧通过 hotkey.rs 的register_shortcut在应用启动时统一注册selection_translate、input_translate、ocr_recognize、ocr_translate四类全局快捷键前端修改后通过register_shortcut_by_frontend命令热更新hotkey.rs。六种主要使用方式如下使用方式操作说明触发原理划词翻译鼠标选中需要翻译的文本按下设置的划词翻译快捷键即可翻译selection_translate读取选中文本并弹出翻译窗口window.rs输入翻译按下输入翻译快捷键呼出翻译窗口输入待翻译文本后按回车翻译input_translate将窗口状态置为[INPUT_TRANSLATE]window.rs外部调用被其他软件通过 HTTP 请求调用实现更高效灵活的功能编排内置 HTTP 服务server.rs详见下文外部调用章节剪贴板监听模式在任意翻译面板点击左上角图标启动剪贴板监听复制文字即自动翻译由配置项clipboard_monitor控制随应用启动main.rs截图 OCR按下截图 OCR 快捷键后框选识别区域即可完成文字识别ocr_recognize启动全屏截图窗口框选后调用 OCR 服务截图翻译按下截图翻译快捷键后框选识别区域即可完成截图 → 识别 → 翻译ocr_translate在截图成功后直接进入翻译流程其中截图相关逻辑集中在 window.rsocr_recognize与ocr_translate在 macOS 上直接调用系统screencapture命令在其他平台则创建全屏透明的screenshot窗口并监听success事件框选裁剪后写入缓存图片pot_screenshot_cut.png再交由识别服务处理。翻译窗口则默认跟随鼠标弹出translate_window_position默认为mouse并自动规避超出屏幕边界的情况window.rs。二、特色功能一览多接口并行翻译详见支持接口多接口文字识别详见支持接口多接口语音合成详见支持接口导出到生词本详见支持接口外部调用HTTP API 服务插件系统.potext扩展支持所有 PC 平台Windows、macOS、Linux支持 Wayland在 KDE、Gnome 以及 Hyprland 上测试多语言支持i18n 多语言界面值得说明的是多接口并行与多实例能力。从 config.rs 的check_service_available可以看到内置服务分为recognize、translate、tts、collection四类服务清单分别保存在recognize_service_list、translate_service_list、tts_service_list、collection_service_list配置项中前端 service_instance.ts 通过createServiceInstanceKey以服务名随机ID的形式支持同一接口配置多个实例并对以plugin开头的服务实例自动识别为插件来源service_instance.ts从而实现同一翻译/识别任务可由多个服务并行分发。三、支持接口体系Pot 的接口分为内置接口与插件接口两大类内置接口在 config.rs 中作为白名单硬编码校验插件接口通过安装.potext插件动态注册。翻译接口内置翻译接口包括AI/大模型类OpenAI、智谱 AI、Gemini Pro、Ollama离线国内云厂商阿里翻译、百度翻译、彩云小译、腾讯翻译君、腾讯交互翻译、火山翻译、小牛翻译国际通用Google、Bing、Bing 词典、DeepL、有道翻译、剑桥词典、Yandex、Lingva社区/插件Tatoeba、ECDICT以上两项以插件形式提供以 OpenAI 为例其实现位于 services/translate/openai/index.jsx自动补全v1/chat/completions端点、将$text/$from/$to/$detect占位符注入系统提示词并支持stream流式输出通过ReadableStream逐段解析data:增量并实时刷新结果配置项则定义了 API Key、模型名、请求参数、Prompt 模板等Config.jsx。同类的 LLM 接口智谱、Gemini、Ollama、OpenAI共享 OpenAI 兼容协议的封装思路。文字识别接口系统 OCR离线Windows 使用 Windows.Media.OCRmacOS 使用 Apple Vision FrameworkLinux 使用 Tesseract离线方案Tesseract.js、Rapid离线插件、Paddle离线插件云端方案百度、腾讯、火山、迅飞通用 OCR腾讯图片翻译、百度图片翻译Simple LaTeX公式识别其他OCRSpace插件系统 OCR 的实现细节非常清晰system_ocr.rsWindows 分支通过Windows.Media.Ocr.OcrEngine读取缓存截图并识别若语言包缺失会提示安装macOS 分支调用内嵌的ocr-{arch}-apple-darwin二进制Linux 分支直接执行系统tesseract命令tesseract 图片 stdout [-l lang]并在缺少 Tesseract 或语言数据时给出明确的安装提示system_ocr.rs。语音合成接口Lingva更多 TTS 接口通过插件扩展。生词本导出接口内置Anki、欧路词典插件有道、扇贝Anki 与欧路词典的导出实现分别位于 services/collection/anki 与 services/collection/eudic。四、插件系统软件内置接口数量有限但可以通过插件系统扩展翻译、识别、TTS、生词本任意一类能力。插件安装在 Pot 官网的 Plugin List 页面查找需要的插件前往插件仓库下载Pot 插件扩展名为.potext获得文件后进入偏好设置 → 服务设置 → 添加外部插件 → 安装外部插件选择对应的.potext文件即可安装安装成功后在服务列表中即可像内置服务一样正常配置和使用。安装的底层逻辑由install_plugin命令实现cmd.rs校验文件名必须以plugin开头以 zip 方式解压并校验压缩包内必须包含info.json读取plugin_type判定插件类别与main.js插件入口随后解压到$CONFIG/com.pot-app.desktop/plugins/{plugin_type}/{plugin_name}目录。故障排除找不到指定的模块Windows此类报错通常因系统缺少 C 运行库Visual C Redistributable导致安装对应运行库即可解决。不是有效的 Win32 应用程序Windows说明下载的插件与当前系统或 CPU 架构不匹配请前往插件仓库下载对应架构x64/x86/arm64的插件。插件开发Pot 官网 Plugin List 的模板章节提供了各类插件的开发模板具体开发文档见对应模板仓库。运行机制上前端通过 invoke_plugin.js 读取插件目录下的main.js将其eval后执行同时注入tauriFetch/http网络请求、readBinaryFile/readTextFile文件读取、DatabaseSQLite、CryptoJS加解密、run调用run_binary命令执行插件内置二进制、cacheDir/pluginDir、osType等实用工具对象。插件如需携带原生二进制如 OCR 引擎则由run_binary在插件目录上下文中启动子进程并返回 stdout/stderr/statuscmd.rs。五、安装指南WindowsWinget 安装winget install Pylogmon.pot手动安装在 Release 页面下载最新exe安装包64 位机器下载pot_{version}_x64-setup.exe32 位机器下载pot_{version}_x86-setup.exearm64 机器下载pot_{version}_arm64-setup.exe双击安装包进行安装。故障排除启动后没有界面点击托盘图标没有反应检查是否卸载/禁用了 WebView2若企业版系统无法安装 WebView2可下载内置 WebView2 运行时的版本pot_{version}_{arch}_fix_webview2_runtime-setup.exe问题仍存在可尝试以 Windows 7 兼容模式启动。MacOSBrew 安装brew tap pot-app/homebrew-tap brew install --cask pot brew upgrade --cask pot # 更新 pot手动安装从 Release 页面下载最新dmg安装包M1/M2 芯片下载pot_{version}_aarch64.dmgIntel 机型下载pot_{version}_x64.dmg双击后将 pot 拖入 Applications 文件夹即完成安装。故障排除由于开发者无法验证pot 无法打开点击取消前往 设置 → 隐私与安全性点击仍要打开再在弹出的窗口点击打开若找不到该选项或提示文件损坏在 Terminal 中执行以下命令后重启sudo xattr -d com.apple.quarantine /Applications/pot.app辅助功能权限问题若每次打开都提示辅助功能权限或无法进行划词翻译请前往 设置 → 隐私与安全 → 辅助功能移除 pot 后重新添加。LinuxDebian/Ubuntu从 Release 下载对应架构的deb包后执行sudo apt-get install ./pot_{version}_amd64.debArch/Manjaro可在 AUR 搜索pot-translation后用 AUR helper 安装yay -S pot-translation # 或 pot-translation-bin # paru -S pot-translation # 或 pot-translation-bin若使用archlinuxcn源可直接sudo pacman -S pot-translation[!WARNING] 在较新版本的 Webkit2Gtk如 2.42.0中Nvidia 专有驱动未完全实现 DMABUF会导致无法启动或崩溃。请降级或在/etc/environment等环境变量配置处加入WEBKIT_DISABLE_DMABUF_RENDERER1以关闭 DMABUF 渲染。Flatpak可通过 Flathub 应用中心安装注意Flatpak 版本缺失托盘图标。六、外部调用HTTP APIPot 内置完整的 HTTP 接口可被任意外部软件调用。其实现位于 server.rs应用启动时即start_server读取配置项server_port默认60828可在软件设置中更改监听127.0.0.1:port若端口被占用会弹通知提示Please Change Server Port and restart the application。请求分发由 http_handle 完成。API 端点方法端点功能POST/翻译指定文本body 为待翻译文本GET/config打开设置窗口POST/translate翻译指定文本同/GET/selection_translate划词翻译GET/input_translate输入翻译GET/ocr_recognize截图 OCRGET/ocr_translate截图翻译GET/ocr_recognize?screenshotfalse截图 OCR不使用软件内截图GET/ocr_translate?screenshotfalse截图翻译不使用软件内截图GET/ocr_recognize?screenshottrue截图 OCRGET/ocr_translate?screenshottrue截图翻译注意区分screenshottrue/false的差异服务端通过 URL 是否以false结尾来分流server.rs——false分支直接读取缓存截图文件pot_screenshot_cut.png进入识别/翻译窗口true或默认分支则先启动软件内的截图框选流程。调用示例例如用 curl 触发划词翻译curl 127.0.0.1:60828/selection_translate不使用软件内截图该能力允许在不依赖软件内截图的前提下调用截图 OCR/截图翻译可以使用任意喜欢的截图工具也规避了部分平台尤其 Wayland内置截图不可用的问题。调用流程使用其他截图工具截图将截图保存到$CACHE/com.pot-app.desktop/pot_screenshot_cut.png请求127.0.0.1:port/ocr_recognize?screenshotfalse即可完成识别。$CACHE为系统缓存目录Windows 上对应C:\Users\{用户名}\AppData\Local\com.pot-app.desktop\pot_screenshot_cut.png。该文件名的约定与软件内部完全一致——内置截图框选后由cut_image命令裁剪输出到同名文件cmd.rs后续所有 OCR 服务含系统 OCR都从该路径读取图片因此外部截图只需覆盖此文件即可无缝接入。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现有用法快捷划词翻译SnipDoWindows从 Microsoft Store 安装 SnipDo下载安装 pot 的 SnipDo 扩展pot.pbar后选中文字即可在弹出的工具条点击翻译按钮。PopClipMacOS从 App Store 安装 PopClip下载安装 pot 的 PopClip 扩展pot.popclipextz并在 PopClip 扩展中启用后选中文本即可点击翻译。StarryLinux目前仍处于开发阶段需要手动编译其源码仓库由社区维护。七、Wayland 支持由于各大发行版对 Wayland 的支持程度不同Pot 自身无法做到完美适配但通过合理配置也可以在 Wayland 下稳定运行。以下是常见问题的解决方案。快捷键无法使用Tauri 的全局快捷键方案尚未支持 Wayland因此 Pot 应用内设置的快捷键在 Wayland 下无效。解决思路是用系统快捷键 curl 请求触发 Pot即通过系统的快捷键绑定把请求发给 Pot 的 HTTP 服务详见上文外部调用。截图无法使用在部分纯 Wayland 桌面环境/窗口管理器如 Hyprland上Pot 内置截图无法使用可改用其他截图工具配合screenshotfalse参数见上文不使用软件内截图。下面是 Hyprland 下使用 grim slurp 实现截图的配置示例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其他桌面环境/窗口管理器思路类似。此外仓库中的 patches/hyprland.patch 记录了针对 Hyprland 的一个官方修复补丁注释掉翻译窗口中监听tauri://move事件该事件在 Wayland 下会干扰失焦自动关闭窗口的逻辑可作为二次开发时的参考。划词翻译窗口跟随鼠标位置Pot 目前无法在 Wayland 下获取正确鼠标坐标可通过桌面环境/窗口管理器的窗口规则实现跟随。以 Hyprland 为例windowrulev2 float, class:(pot), title:(Translator|OCR|PopClip|Screenshot Translate) # Translation window floating windowrulev2 move cursor 0 0, class:(pot), title:(Translator|PopClip|Screenshot Translate) # Translation window follows the mouse position.八、国际化与贡献Pot 的国际化通过 Weblate 平台协作翻译仓库内已内置 21 个语言文件位于 src/i18n/locales包含简体/繁体中文、英、日、韩、法、德、俄、西、意等用户可在 Weblate 页面参与翻译。项目在 README 中向灵感来源 Bob、OpenAI 接口参考项目以及 Tauri 框架表达了致谢。九、手动编译Pot 是标准的 Tauri 项目前端为 Vite Reactsrc后端为 Rustsrc-tauri/src可自行编译调试。环境要求Node.js 18.0.0pnpm 8.5.0Rust 1.80.0编译步骤git clone https://gitcode.com/pot-app/pot-desktop.git cd pot-desktop pnpm install仅 Linux 需要额外安装系统依赖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产品名pot、bundle 标识com.pot-app.desktop并针对 Windows/macOS/Linux 分别有 tauri.windows.conf.json、tauri.macos.conf.json、tauri.linux.conf.json 平台级覆盖配置deb/rpm 包会自动声明libxdo-dev、libxcb1、libxrandr2、tesseract-ocr等运行时依赖tauri.conf.json。项目以 GPLv3 协议开源见根目录 LICENSE。赞分享桌面应用AI 应用【免费下载链接】pot-desktop一个跨平台的划词翻译和OCR软件 | A cross-platform software for text translation and recognize.项目地址https://gitcode.com/pot-app/pot-desktop点击查看免费下载相关推荐Potpot-desktop跨平台划词翻译与 OCR 软件完整使用指南内置服务、插件扩展、HTTP 外部调用与 Wayland 适配Potpot desktop跨平台划词翻译与 OCR 软件完整使用指南内置服务、插件扩展、HTTP 外部调用与 Wayland 适配 Pot간편 번역기桌面应用AI 应用pot-desktopPot跨平台划词翻译与 OCR 软件功能、插件系统、HTTP 外部调用与多平台安装实战指南pot desktopPot跨平台划词翻译与 OCR 软件功能、插件系统、HTTP 外部调用与多平台安装实战指南 Pot 是一款基于 Tauri Ru桌面应用AI 应用如何快速掌握Pot-Desktop跨平台划词翻译与OCR软件的终极指南如何快速掌握Pot Desktop跨平台划词翻译与OCR软件的终极指南 Pot Desktop派了个萌的翻译器是一款功能强大的跨平台划词翻译和OCR软件桌面应用AI 应用上一篇终极指南如何高效管理Steam游戏成就的5个核心技巧下一篇Steam Achievement Manager终极Steam成就管理工具完全指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →