Pot(派了个萌的翻译器):划词翻译 × 截图OCR 上手指南
【免费下载链接】pot-desktop🌈一个跨平台的划词翻译和OCR软件 | A cross-platform software for text translation and recognition.项目地址: https://gitcode.com/GitHub_Trending/po/pot-desktop
Pot 是一款开源的划词翻译与截图 OCR 软件,技术底座是 Tauri(Rust + React),支持 Windows、macOS、Linux 三大平台。这篇上手指南带你从安装、快捷键配置,走到插件扩展与 HTTP 外部调用。
一句话认识它
Pot(派了个萌的翻译器)是跨平台划词翻译与截图 OCR 工具:按键出译文,框选出文字。基于 Tauri 构建,Windows、macOS、Linux 三端通用,适合重度外文阅读者和翻译工作流玩家。
它替你解决哪些事
划词翻译
在论文或网页里选中一段英文,按下划词翻译快捷键(设置中可重绑),Pot 读取选区文本后在鼠标旁弹出翻译面板,OpenAI、Google、火山等引擎的结果并排呈现。你不用离开原页面,立刻拿到这段话的意思。
输入翻译
手头没有现成选区时,按输入翻译快捷键,屏幕中央呼出翻译窗口,输入内容后按回车即可。后端先向窗口写入[INPUT_TRANSLATE]标记,前端据此切到输入模式,相当于桌面常驻一条"翻译输入框"。
截图 OCR
按截图 OCR 快捷键进入框选界面,框完自动裁剪并识别。裁剪图统一落在系统缓存目录的pot_screenshot_cut.png,识别引擎可选离线的系统 OCR、Tesseract.js,或百度、腾讯等云服务。
截图翻译
与截图 OCR 同样的框选动作,只是最后多做一步:图中文字先识别、再自动送翻,直接弹出译文面板。两条流程共用同一入口,最终动作从识别切换为翻译,实现"看到什么翻什么"。
剪贴板监听
在任意翻译面板点左上角图标,开启剪贴板监听模式:此后每复制一段文字,翻译窗口就自动更新。该开关默认关闭,由配置项clipboard_monitor控制,适合"复制即想翻"的场景。
能力全景
把全部能力按五个维度拆开,边界一眼看清:
| 维度 | 包含内容 |
|---|---|
| 输入通道 | 划词选区、手动输入、剪贴板监听、截图区域、HTTP 文本 |
| 引擎矩阵 | 20+ 翻译引擎(OpenAI、Google、DeepL、Ollama 离线等);14+ 识别引擎(系统 OCR、Tesseract.js、百度、腾讯、火山、讯飞、二维码等);Lingva 语音合成 |
| 结果出口 | 复制、TTS 朗读、导出生词本(Anki、欧路,另有有道、扇贝插件) |
| 扩展与对外接口 | .potext插件槽(translate / recognize / tts / collection 四类);本地 HTTP 服务,默认端口 60828 |
| 运行环境 | Windows / macOS / Linux(含 Wayland 下的 KDE、GNOME、Hyprland);可离线组合(Ollama + Tesseract.js) |
值得注意的关键词是"多引擎并行":同一面板里多个引擎的结果同时展示,每条结果旁都有 × 可单独收起,谁快用谁、谁准看谁。
装好它并跑起来
Windows
一条winget命令解决:
winget install Pylogmon.pot手动安装也行:从 Release 页下载pot_{version}_x64-setup.exe(32 位选 x86,arm64 有对应版本),双击走完向导。
macOS
Homebrew 装 cask:
brew tap pot-app/homebrew-tap brew install --cask pot或者直接下载pot_{version}_aarch64.dmg(Intel 机型选 x64),把 pot 拖进 Applications 完成。
Linux
Debian / Ubuntu 装 deb 包:sudo apt-get install ./pot_{version}_amd64.deb;Arch 系用yay -S pot-translation;Flatpak 版本com.pot_app.pot在 Flathub 上,但注意它暂时没有托盘图标。
或者从源码自己编译
环境要求 Node ≥ 18、pnpm ≥ 8.5、Rust ≥ 1.80,Linux 还需libgtk-3-dev、libwebkit2gtk-4.0-dev等系统库(完整清单见 README):
git clone https://gitcode.com/GitHub_Trending/po/pot-desktop cd pot-desktop && pnpm install pnpm tauri devpnpm tauri dev直接起开发版,要正式安装包就把最后一条换成pnpm tauri build。✅ 装不上先看这里:Windows 下启动后没有界面、点托盘没反应,十有八九是缺 WebView2——装回它,或改用内置运行时的fix_webview2_runtime版本。
玩深一点:扩展与集成
.potext 插件:四类能力都能扩
在"偏好设置 → 服务设置 → 添加外部插件 → 安装外部插件"里选中下载好的.potext文件。文件名必须以plugin开头,包内要有info.json(plugin_type字段决定它归哪类)和main.js入口,校验通过后被解压到配置目录的plugins/{类别}/{名称}下,像内置引擎一样启用。运行时会给插件注入一套工具集:tauriFetch发请求、Database存 SQL、CryptoJS加解密、run执行随插件附带的可执行文件,所以离线 Rapid、Paddle 这类自带二进制的识别插件也能跑起来。开发新插件可参考 README 插件一节给出的模板与插件列表。
HTTP 接口:一行 curl 触发任何功能
服务只监听127.0.0.1,默认端口60828(设置里改,配置键server_port)。常用端点:
POST /或/translate:请求体就是要翻译的文本GET /selection_translate//input_translate:触发划词、输入翻译GET /ocr_recognize//ocr_translate:走内置截图流程;加?screenshot=false则跳过内置截图,直接读取你提前放进系统缓存目录(如 Linux 的~/.cache/com.pot-app.desktop/)的pot_screenshot_cut.pngGET /config:打开设置窗口
所有成功请求都返回ok。想划词翻译就发这一行:curl "127.0.0.1:60828/selection_translate"。脚本化场景更妙:Linux 上让 Flameshot 截图存到固定路径,再 curl 触发 OCR,一条命令串完整个流程。
快捷键重绑与 Wayland 适配
划词、输入、OCR、截图翻译四个场景各有独立快捷键(hotkey_selection_translate、hotkey_input_translate、hotkey_ocr_recognize、hotkey_ocr_translate),在"快捷键设置"页改完即生效。Wayland 下应用内全局快捷键不可用、Hyprland 等纯 Wayland 环境的内置截图也失效——这时把系统级快捷键绑到上面的 curl 请求即可等效替代,patches/hyprland.patch 里有现成的 Hyprland 配置(grim + slurp 截图后 curl);想让翻译窗口跟随鼠标,再用windowrulev2规则把窗口设为浮动并移到光标处。
第三方工具联动
Windows 上装 SnipDo 再装 pot 的.pbar扩展,选中文本就会弹出翻译按钮;macOS 对应 PopClip(.popclipextz扩展);Linux 的 Starry 还在开发中。扩展文件都在 Release 页面下载。
踩坑速查:看症状、找根因、一步解决
- Windows 启动后没有界面,点托盘无反应——前端渲染依赖 WebView2,机器上被卸载或禁用了。安装或恢复 WebView2,或改用内置运行时的
fix_webview2_runtime安装包。 - macOS 提示"由于开发者无法验证,pot 无法打开"——这是系统 Gatekeeper 的隔离标记。去"设置 → 隐私与安全性"点"仍要打开";找不到该选项或提示文件损坏,就在终端跑
sudo xattr -d com.apple.quarantine /Applications/pot.app再启动。 - macOS 划词翻译失效、每次弹出辅助功能权限——辅助功能列表里留着一条旧记录。进"隐私与安全 → 辅助功能"移除"pot"后重新添加。
- Linux(Arch 系)无法启动或崩溃——WebKit2Gtk 2.42.0 与 Nvidia 专有驱动的 DMABUF 实现不完整。在
/etc/environment加入WEBKIT_DISABLE_DMABUF_RENDERER=1后重新登录。 - Wayland 下应用快捷键全部失效——Tauri 的全局快捷键方案尚不支持 Wayland。把系统快捷键绑到 curl 请求来触发对应功能,见上一节。
- Windows 装插件报"找不到指定的模块"或"不是有效的 Win32 应用程序"——前者缺 C++ 运行库,后者是插件架构(x86/x64/arm64)不匹配。装 Visual C++ Redistributable,或去插件仓库下对应架构版本。
架构一眼看懂
Rust 侧持有窗口、全局快捷键、截图裁剪、托盘和本地 HTTP 服务这些"原生能力",React 侧持有界面与每个引擎的具体实现。两侧靠invoke命令和事件推送对话:按下快捷键后,后端读选区文本写入全局状态,再发new_text事件给翻译窗口渲染。全部服务引擎都在前端src/services/下,按 translate / recognize / tts / collection 四类分组,每类含info.ts(描述)、Config.jsx(配置表单)、index.jsx(调用实现)。想读源码,从这三个文件进:main.rs(启动与命令注册)、window.rs(窗口与跟随逻辑)、invoke_plugin.js(插件运行时)。
src-tauri/src/ # Rust 侧:窗口 / 快捷键 / HTTP / 系统能力 ├─ main.rs # 入口:命令注册、启动、HTTP 服务、快捷键注册 ├─ window.rs # 划词、输入、OCR 窗口与鼠标跟随逻辑 ├─ server.rs # 本地 HTTP 路由(默认端口 60828) ├─ hotkey.rs # 全局快捷键注册与分发 └─ cmd.rs # 截图裁剪、base64、插件安装等命令 src/services/ # 前端服务层 └─ translate/ recognize/ tts/ collection/谁该装它 & 下一步
经常读外文论文、文档和外语站点,需要处理图片里的文字,或者想把"翻译这句话"塞进自己脚本工作流的人,Pot 值得进常驻软件清单。下一步:有具体问题去官方仓库提 Issue;想参与贡献,可看 README_EN.md 与 README_KR.md 多语言版本,src/i18n/locales 下的界面文案也在 Weblate 上开放协作翻译,缺你的语言就补上它。
【免费下载链接】pot-desktop🌈一个跨平台的划词翻译和OCR软件 | A cross-platform software for text translation and recognition.项目地址: https://gitcode.com/GitHub_Trending/po/pot-desktop
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考