pot-desktop:外部调用 HTTP 接口驱动翻译与 OCR 实战
pot-desktop外部调用 HTTP 接口驱动翻译与 OCR 实战【免费下载链接】pot-desktop一个跨平台的划词翻译和OCR软件 | A cross-platform software for text translation and recognition.项目地址: https://gitcode.com/GitHub_Trending/po/pot-desktoppot 的 HTTP 外部调用接口允许其他软件通过本机请求直接触发划词翻译、截图 OCR、截图翻译省去快捷键与点击操作。适用场景Wayland 下快捷键或内置截图不可用时的替代驱动方式需先安装 pot 并确认监听端口。环境与前置确认涉及文件src-tauri/src/server.rsHTTP 服务与路由、src-tauri/src/window.rs各端点驱动的窗口动作、src-tauri/tauri.conf.jsonbundle idcom.pot-app.desktop决定截图缓存目录名端口默认监听127.0.0.1:60828在「偏好设置 - 常规」中修改server_port后重启应用生效接口路由总表见 README.md 的「外部调用」章节⚠ 服务绑定127.0.0.1仅本机可访问无法跨设备调用。路由与请求映射下方代码块展示路由入口所有请求在此按 URL 分发screenshot查询参数决定走内置截图还是读取外部截图文件成功时统一回复ok。// src-tauri/src/server.rs match request.url() { / handle_translate(request), /config handle_config(request), /translate handle_translate(request), /selection_translate handle_selection_translate(request), /input_translate handle_input_translate(request), /ocr_recognize handle_ocr_recognize(request), /ocr_translate handle_ocr_translate(request), /ocr_recognize?screenshotfalse handle_ocr_recognize(request), // ... }各端点驱动的窗口动作定义在 src-tauri/src/window.rs端点行为POST /或POST /translate请求体为待翻译文本唤起翻译面板GET /config打开设置窗口GET /selection_translate读取系统选中文本并划词翻译GET /input_translate唤起输入翻译面板GET /ocr_recognize触发内置截图 OCRGET /ocr_translate触发内置截图翻译GET /ocr_recognize?screenshotfalse不截图读取缓存目录中pot_screenshot_cut.png做 OCRGET /ocr_translate?screenshotfalse不截图读取缓存目录中pot_screenshot_cut.png做翻译外部截图文件位于$CACHE/com.pot-app.desktop/pot_screenshot_cut.pngWindows 即C:\Users\{用户名}\AppData\Local\com.pot-app.desktop\Linux 为~/.cache/com.pot-app.desktop/。构建与调用# 1. 获取源码并安装依赖Node.js 18.0.0 / pnpm 8.5.0 / Rust 1.80.0 git clone https://gitcode.com/GitHub_Trending/po/pot-desktop cd pot-desktop pnpm install # 2. Linux 编译额外依赖Windows/macOS 跳过 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 # 3. 启动应用 pnpm tauri dev# port60828 为默认监听端口可在 偏好设置-常规 中修改 curl 127.0.0.1:60828/selection_translate # 划词翻译读取系统选中文本 curl 127.0.0.1:60828/config # 打开设置窗口 curl -X POST --data hello world 127.0.0.1:60828/translate # 请求体为待翻译文本 # 外部截图流程先保存截图到缓存目录再请求 screenshotfalse 端点 flameshot gui -s -p ~/.cache/com.pot-app.desktop/pot_screenshot_cut.png curl 127.0.0.1:60828/ocr_recognize?screenshotfalseWaylandHyprland 示例下可用系统快捷键直接串联截图与请求# Hyprland 配置ALTX 截图 OCRALTC 截图翻译 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结果校验与限制$ curl 127.0.0.1:60828/selection_translate ok响应体ok表示请求已被接受随后翻译窗口在鼠标所在显示器弹出并显示翻译结果OCR 请求则唤起识别窗口展示文字内容。⚠?screenshottrue与不带参数时行为一致均走内置截图screenshotfalse才读取外部截图文件。 ⚠ macOS 下截图 OCR 调用系统/usr/sbin/screencapture与其他平台的内置截图实现不同。 ⚠ 端口被占用时服务启动失败应用仅弹出系统通知提示更换端口不会自动退出。【免费下载链接】pot-desktop一个跨平台的划词翻译和OCR软件 | A cross-platform software for text translation and recognition.项目地址: https://gitcode.com/GitHub_Trending/po/pot-desktop创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考