Home
Softono

AI Screenshot Translator

Open source C
202
Stars
24
Forks
0
Issues
2
Watchers
3 months
Last Commit

 About AI Screenshot Translator

🚀全新重构!AI论文阅读工具,一键截图AI翻译,支持数学公式,贴片截图,窗口锁定,归档管理

Platforms

Web Self-hosted Windows

Languages

C

Links

Need Help Installing AI Screenshot Translator?

We provide expert installation service for this software. Our team will install, configure, and secure AI Screenshot Translator on your server. plans start at just $30.

AI Screenshot Translator

View on GitHub

中文 | English

AI 截图翻译工具 (AI Screenshot Translator)

Qt6 WebView2 GitHub release (latest by date) GitHub issues Downloads

一个基于 Qt 6 + WebView2 的截图翻译/归档工具:

  • 截图 → AI 翻译 → 富文本结果(Markdown/代码高亮/LaTeX)
  • 结果窗口支持快捷键翻页/编辑/查看原图/标签
  • 归档窗口支持筛选、批量操作与键盘导航
  • 多配置文件、代理、连通性测试

注:目前本项目仅支持 Windows,将在未来支持跨平台

适用场景(想解决的痛点)

  1. 不想用“整篇文档翻译”那种笨重工作流
  2. PDF 复制文本后公式(LaTeX)经常乱或不可用
  3. 扫描版 PDF 无法复制文本
  4. 划词翻译/截图翻译很多无法正确识别和渲染公式

功能亮点

  • 全局快捷键:截图、打开归档、打开设置(可自定义)
  • 截图工作流:框选区域 → 预览卡片(拖拽/缩放/可选边框) → 结果窗口
  • AI Provider:OpenAI / Gemini / Claude(可扩展),提示词可自定义,支持代理
  • 结果窗口:锁定置顶、翻页、编辑 Markdown、查看原图、标签弹窗、快捷键导航
  • 归档窗口:日期/标签筛选,批量选择删除/加减标签,键盘切换查看/编辑/截图预览
  • 本地历史:storage/history.json + storage/images/*(删除图片会同步删除条目)
  • 多配置文件:%AppData%/AI-Screenshot-Translator-Cpp/profiles/*.json,支持导入/导出/复制/重命名
  • 调试日志:设置里开启 Debug Mode,输出到工作目录 debug.log

演示视频

https://github.com/user-attachments/assets/458abdde-0d36-4b84-b486-8638194c3555

快速上手

  1. 启动程序(Release 包或自行构建)。
  2. 首次启动会自动弹出设置窗口:
    • 选择 Provider
    • 填写 API Key
    • (可选)设置 Base URL / Endpoint / Proxy
  3. 使用托盘菜单或快捷键开始截图翻译。

默认快捷键

  • 截图:ctrl+alt+s
  • 打开归档:alt+s
  • 结果窗口:上一页 z / 下一页 x;标签 t
  • 归档窗口:编辑 e、查看切换 r、截图预览 s
  • 编辑辅助:加粗/下划线/高亮:ctrl+b / ctrl+u / ctrl+h

API 配置说明

Base URL + Endpoint 是如何拼接的?

  • 请求地址统一按 Base URL + Endpoint 组合。
  • 默认 Endpoint(可自行改):
    • OpenAI:/chat/completions
    • Gemini:/v1beta
    • Claude:/v1/messages

注意:如果你在 Base URL 里已经包含了版本路径(例如 .../v1),Endpoint 就不要再写 /v1/...,避免重复路径

测试连通性

设置页提供“测试”按钮,用于快速验证:

  • 代理是否可连接(若配置了 Proxy)
  • API 端点是否可访问(基于当前 Base URL + Endpoint)

目录结构

  • src/ 核心代码:App、配置、服务(API/历史/翻译)、UI 窗口与小部件、平台封装(GlobalHotkey)、WebView 封装
  • assets/ 静态资源与前端库(marked/highlight/katex、字体、图标、模板等)
  • webview2_pkg/ WebView2 SDK 依赖
  • build/ 构建输出(本地生成)

环境与依赖

  • Windows + MSVC(推荐 VS 2022 工具链)
  • CMake ≥ 3.16
  • Qt 6(Widgets、Network、Gui、Core)
  • WebView2 Runtime(Windows 11 默认有,Windows 10 可能需要单独安装)
  • 仓库内置 WebView2 SDK(webview2_pkg)以及前端库(assets/libs

WebView2 包说明

  • 仓库已内置官方 NuGet 包 Microsoft.Web.WebView2 1.0.2903.40(已精简,保留 build/native/x64/WebView2Loader.dll(.lib)WebView2.h/.idl/.tlbLICENSE/NOTICE),克隆后可直接编译。
  • 若仓库未包含 webview2_pkg/,可执行:
    nuget install Microsoft.Web.WebView2 -Version 1.0.2903.40 -OutputDirectory third_party
    
    然后将生成的 .nupkg 解压到仓库根目录的 webview2_pkg/

本地构建

  1. 安装 Qt 6,并设置 CMAKE_PREFIX_PATH(或在 VS 开发者命令行中使用 -DCMAKE_PREFIX_PATH=".../Qt/6.x/msvc2019_64/lib/cmake")。
  2. 生成并构建:
    cmake -S . -B build -G "Visual Studio 17 2022" -A x64
    cmake --build build --config Release
    
  3. 运行:
    .\build\Release\AI-Screenshot-Translator-Cpp.exe
    

打包

构建后可将运行所需依赖统一放到 build/Release/

# 1) 构建
cmake --build build --config Release

# 2) 部署 Qt 运行时(将 QTDIR 替换为你的 Qt 安装路径;--compiler-runtime 会把 MSVC 运行库也拷进来)
& "$Env:QTDIR\bin\windeployqt.exe" --release --compiler-runtime --no-translations build\Release\AI-Screenshot-Translator-Cpp.exe

# 如果看到 windeployqt 提示找不到 Visual Studio(如 VCINSTALLDIR 未设置),请在
# “x64 Native Tools Command Prompt/Developer PowerShell for VS 2022” 中运行上述命令,
# 这样才能把 MSVC 运行库 DLL 一并复制到 Release 目录。

# 3) 复制资产与 WebView2 Loader
cmake -E copy_directory assets build/Release/assets
cmake -E copy_if_different webview2_pkg/build/native/x64/WebView2Loader.dll build/Release/

完成后 build/Release/ 下的 exe + DLL + assets 即为可分发包。

常见问题(FAQ)

1) 测试连通但实际请求失败?

  • 重点检查 Base URL 和 Endpoint 是否重复包含了版本路径(例如 /v1)。
  • 如果你配置的是“兼容 OpenAI”的第三方服务,Endpoint 可能不是 /chat/completions,请按服务文档调整。

2) WebView2 相关问题

  • Windows 10 可能需要单独安装 WebView2 Runtime。
  • 如果窗口空白/崩溃,先确认系统 WebView2 Runtime 正常,再检查打包时 WebView2Loader.dll 是否拷贝到 exe 同目录。

许可

项目包含的 webview.h 遵循 MIT 许可,其余代码请根据仓库实际许可使用。

其他

喜欢本项目不妨点个 star 支持一下。

Star History Chart