MCPcopy Index your code
hub / github.com/pot-app/pot-desktop

github.com/pot-app/pot-desktop @3.0.7 sqlite

repository ↗ · DeepWiki ↗ · release 3.0.7 ↗
488 symbols 1,764 edges 189 files 0 documented · 0% 20 cross-repo links
README

Pot (A cute translator)

A cross-platform translator application (Telegram Group)

License Tauri JavaScript Rust Windows MacOS Linux


中文 | English | 한글

Table of Contents

Usage

Translation by selection Translate by input External calls
Select text and press the shortcut to translate Press shortcut to open translation window, translate by hitting Enter More efficient workflow by integrating other apps, see External Calls
Clipboard Listening Screenshot OCR Screenshot Translation
Click the top left icon on any translation panel to start clipboard listening. Copied text will be translated automatically. Press shortcut, select area to OCR Press shortcut, select area to translate

Features

Supported Services

Translation

More Services see Plugin System

Text Recognize

More Services see Plugin System

Text-to-Speech

More Services see Plugin System

Collection

More Services see Plugin System

Plugin System

The built-in services are limited. But you can expand the app's functionality through the plugin system.

Install Plugin

You can find plugins you need in the Plugin List, and then go to the plugin repo to download it.

The file extension of pot plugin is .potext. After downloading the .potext file, go to Preferences - Service Settings - Add External Plugin - Install External Plugin to select the corresponding .potext to install it. It will then be added to the service list and can be used like a built-in service.

Troubleshooting

  • The specified module could not be found (Windows)

    Errors like this occur because the system lacks C++ libraries,Go to here download and install it.

  • Not a valid Win32 application (Windows)

    An error like this indicates that you did not download the plugin for the corresponding system or architecture. Go to the plugin repository and download the correct plugin to solve the problem.

Develop Plugin

The Template section in the Plugin List provides plugin development templates for various plugins. Please check the corresponding template repo for specific documentation.

Installation

Windows

Install via Winget

winget install Pylogmon.pot

Install Manually

  1. Download the installation package ending in .exe from the Latest Release page.

    • 64-bit machine download pot_{version}_x64-setup.exe
    • 32-bit machine download pot_{version}_x86-setup.exe
    • arm64 machine download pot_{version}_arm64-setup.exe
  2. Double click the downloaded file to install it.

故障排除

  • There is no interface after startup, and there is no response when clicking the tray icon.

    Check if WebView2 is uninstalled/disabled, if so, install WebView2 manually or restore it.

    If the enterprise edition system is inconvenient to install or cannot install WebView2, please try to download the fix WebView2 version pot_{version} at [Release](https://github.com/pot-app/pot-desktop/releases/latest) _{arch}_fix_webview2_runtime-setup.exe

    If the issue persists, please try starting in Windows 7 compatibility mode.

MacOS

Install via Brew

  1. Add our tap:
brew tap pot-app/homebrew-tap
  1. Install pot:
brew install --cask pot
  1. Upgrade pot
brew upgrade --cask pot

Install Manually

  1. Download the installation package ending in .dmg from the Latest Release page. (If you are using M1, please download the installation package named pot_{version}_aarch64.dmg, otherwise download the installation package named pot_{version}_x64.dmg)
  2. Double click the downloaded file to install it.

Troubleshooting

  • "pot" can’t be opened because the developer cannot be verified.

    Click the Cancel button, then go to the Settings -> Privacy and Security page, click the Still Open button, and then click the Open button in the pop-up window. After that, there will be no more pop-up warnings when opening pot.

    If you cannot find the above options in Privacy & Security, or get error prompts such as broken files with Apple Silicon machines. Open Terminal.app and enter the following command (you may need to enter a password halfway through), then restart pot:

    bash sudo xattr -d com.apple.quarantine /Applications/pot.app

  • If you encounter a permission prompt every time you open it, or if you cannot perform a shortcut translation, please go to Settings -> Privacy & Security -> Supporting Features to remove pot, and then re-add pot.

Linux

Debian/Ubuntu

We provide deb packages for Linux.

Please note that: There are two deb package, universal is based on glibc2.28 and openssl-1.1, If the regular deb package can't run on your machine due to dependency problems, please download the universal package, Due to its low version dependency, it can run on most systems.

Arch/Manjaro

[!WARNING]
In newer version of Webkit2Gtk (2.42.0), Because Nvidia Proprietary drives are not fully implemented DMABUF, it will cause failure to start and crash.

Please downgrade or add the WEBKIT_DISABLE_DMABUF_RENDERER=1 environment variable to /etc/environment (or other places where environment variables are set) to turn off the use of DMABUF.

  1. View on AUR

Use aur helper:

yay -S pot-translation # or pot-translation-bin or pot-translation-git
# or
paru -S pot-translation # or pot-translation-bin or pot-translation-git
  1. If you are using archlinuxcn, you can install directly using pacman:
sudo pacman -S pot-translation

Flatpak

[!WARNING] The tray icon is missing in Flatpak version.

Download on Flathub

External Calls

Pot provides a complete HTTP interface for integration with other software. You can call pot by sending HTTP requests to 127.0.0.1:port, where port is the listening port of pot, default to 60828, and can be changed in the app settings.

API Docs:

POST "/" => Translate given text (body is text to translate)
GET "/config" => Open settings
POST "/translate" => Translate given text (same as "/")
GET "/selection_translate" => Translate selected text
GET "/input_translate" => Open input translation
GET "/ocr_recognize" => Perform OCR on screenshot
GET "/ocr_translate" => Perform translation on screenshot
GET "/ocr_recognize?screenshot=false" => OCR without taking screenshot
GET "/ocr_translate?screenshot=false" => Translate screenshot without taking screenshot
GET "/ocr_recognize?screenshot=true" => OCR with screenshot
GET "/ocr_translate?screenshot=true" => Translate screenshot

Example:

  • Call translation by selection:

    To call pot's translation by selection, simply send a request to 127.0.0.1:port:

    E.g. using curl:

    bash curl "127.0.0.1:60828/selection_translate"

OCR without internal screenshot

This allows you to perform OCR/translation without using pot's internal screenshot, so you can use your own screenshot tools. It also solves the problem where pot's internal screenshot doesn't work on some platforms.

Workflow:

  1. Take screenshot using other tool
  2. Save screenshot to `$CACHE/com.pot-app.desktop/pot_screenshot_cut

Core symbols most depended-on inside this repo

useConfig
called by 133
src/hooks/useConfig.jsx
getServiceName
called by 64
src/utils/service_instance.ts
useToastStyle
called by 43
src/hooks/useToastStyle.jsx
A
called by 38
public/tesseract-core-simd-lstm.wasm.js
H
called by 37
public/tesseract-core-simd-lstm.wasm.js
J
called by 30
public/tesseract-core-simd-lstm.wasm.js
getServiceSouceType
called by 26
src/utils/service_instance.ts
I
called by 23
public/tesseract-core-simd-lstm.wasm.js

Shape

Function 439
Enum 40
Class 6
Method 3

Languages

TypeScript100%

Modules by API surface

public/tesseract-core-simd-lstm.wasm.js109 symbols
public/worker.min.js65 symbols
src/window/Config/pages/Backup/utils/aliyun.jsx13 symbols
src/services/translate/cambridge_dict/index.jsx11 symbols
src/window/Config/pages/History/index.jsx9 symbols
src/utils/service_instance.ts8 symbols
src/utils/lang_detect.js8 symbols
src/window/Translate/index.jsx7 symbols
src/window/Translate/components/SourceArea/index.jsx7 symbols
src/services/translate/deepl/index.jsx7 symbols
src/window/Translate/components/TargetArea/index.jsx6 symbols
src/window/Config/pages/Backup/index.jsx6 symbols

Dependencies from manifests, versioned

@nextui-org/react2.4.8 · 1×
@nextui-org/theme2.2.11 · 1×
@react-spring/web9.7.5 · 1×
@tauri-apps/api1.6.0 · 1×
@tauri-apps/cli1.6.3 · 1×
@vitejs/plugin-react4.3.3 · 1×
autoprefixer10.4.20 · 1×
crypto-js4.2.0 · 1×
flag-icons7.2.3 · 1×
framer-motion11.11.10 · 1×
i18next23.16.4 · 1×
jose5.9.6 · 1×

For agents

$ claude mcp add pot-desktop \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact