Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,630 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NeoPot icon

NeoPot

面向 Windows 和 Linux 的划词翻译、输入翻译、截图 OCR 与截图翻译工具。

English | 简体中文

下载最新版 | 反馈问题

Version License Electron TypeScript Windows Linux

NeoPot 基于 Pot Desktop 继续维护,并迁移到 Electron、HeroUI 和 TypeScript。 macOS 版本暂不发布。原因是 macOS 分发需要 Apple Developer 账号;当前安装说明只面向 Windows 与 Linux。

目录

功能预览

划词翻译 输入翻译 外部调用
选中文字后按下快捷键翻译 呼出翻译窗口后输入文本并回车 通过本地 HTTP 接口被其他工具调用
划词翻译演示 输入翻译演示 外部调用演示
剪贴板监听 截图 OCR 截图翻译
开启监听后复制文本即可翻译 框选屏幕区域并识别文字 框选屏幕区域并翻译识别结果
剪贴板监听演示 截图 OCR 演示 截图翻译演示

NeoPot screenshot 1 NeoPot screenshot 2 NeoPot screenshot 3

主要功能

  • 多接口并行翻译
  • 本地模型文字识别
  • 插件语音合成
  • 截图 OCR 与截图翻译
  • 剪贴板监听翻译
  • 本地 HTTP 外部调用
  • 插件扩展系统
  • Windows 与 Linux 支持
  • Wayland 外部截图调用方案
  • 多语言界面

支持接口

当前版本内置以下接口:

翻译
  • Google
  • DeepL
  • Ollama
文字识别
  • 本地模型 OCR(PaddleOCR.js PP-OCRv6)
语音合成
  • 仅通过插件支持

更多翻译引擎和服务可通过插件系统扩展。打开应用内的插件市场获取社区插件。
欢迎协助扩充官方插件市场

安装

请前往 Releases 下载对应系统和架构的安装包。

Windows

  • NeoPot-Setup-{version}.exe: 64 位 Windows 安装包
  • NeoPot-{version}-portable-x64.exe: 64 位 Windows 便携版

Linux

发布页会提供 debrpmAppImage 包。Debian/Ubuntu 可以直接安装下载到本地的 deb 文件:

sudo apt-get install ./NeoPot-*.deb

Arch、Manjaro、Flatpak、Homebrew、Winget 等分发入口尚未接入 NeoPot,请以 GitHub Releases 为准。

插件系统

NeoPot 支持通过插件扩展翻译、OCR 和语音合成功能。

安装方式

  • 从应用内插件市场直接安装
  • 导入 .zip 插件包
  • 选择本地插件目录(开发用)

插件可以添加新的翻译引擎、OCR 服务和 TTS 提供商。开发者可参考插件市场中的模板和文档创建自己的插件。

外部调用

NeoPot 提供本地 HTTP 接口,默认端口为 60828,可在设置中修改。

POST "/"                                  翻译请求体中的文本
GET  "/config"                            打开设置
POST "/translate"                         翻译请求体中的文本
GET  "/selection_translate"               划词翻译
GET  "/input_translate"                   输入翻译
GET  "/ocr_recognize"                     截图 OCR
GET  "/ocr_translate"                     截图翻译
GET  "/ocr_recognize?screenshot=false"    使用外部截图文件进行 OCR
GET  "/ocr_translate?screenshot=false"    使用外部截图文件进行截图翻译

示例:

curl "127.0.0.1:60828/selection_translate"

SnipDo

Windows 用户可以从 Microsoft Store 安装 SnipDo。SnipDo 扩展源码位于 .scripts/snipdo/ 目录,可自行构建为 .pbar 文件后安装。

Wayland 支持

Linux 全局快捷键在 Wayland 下可能受桌面环境限制。Wayland 用户可以通过桌面环境或窗口管理器绑定快捷键,再用 curl 调用 NeoPot 的本地 HTTP 接口。

Hyprland 外部截图示例:

bind = ALT, X, exec, grim -g "$(slurp)" ~/.cache/neopot/pot_screenshot_cut.png && curl "127.0.0.1:60828/ocr_recognize?screenshot=false"
bind = ALT, C, exec, grim -g "$(slurp)" ~/.cache/neopot/pot_screenshot_cut.png && curl "127.0.0.1:60828/ocr_translate?screenshot=false"

浮动窗口示例:

windowrulev2 = float, class:(neopot), title:(Translator|OCR|Screenshot Translate)
windowrulev2 = move cursor 0 0, class:(neopot), title:(Translator|Screenshot Translate)

开发与构建

技术栈

  • 桌面框架: Electron 41+ with electron-vite
  • 前端: React 19, TypeScript, Vite 7
  • UI 框架: HeroUI, Tailwind CSS 4
  • 状态管理: Jotai
  • 国际化: i18next

环境要求

已验证环境:

  • Node.js >= 24.0.0
  • pnpm >= 9

开始开发

拉取代码:

git clone https://github.com/shirumesu/NeoPot.git
cd NeoPot
pnpm install

Linux 打包工具(可选,仅用于构建 deb/rpm):

sudo apt-get install -y rpm

常用命令:

pnpm run dev
pnpm run lint
npm run test
pnpm run format
pnpm run make

npm run test 是提交前的完整本地质量门禁;快速测试、覆盖率和 Electron 旅程等分层命令见 tests/README.md

致谢

NeoPot 源自 Pot Desktop,并继续沿用 GPL-3.0-only 许可。感谢原项目及插件生态的长期积累。

About

NeoPot | 一个自用的基于pot-desktop的跨平台的划词翻译和OCR软件 | A self-used, cross-platform annotation translation and OCR software based on pot-desktop.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages