英语“论文”语法检查工具

目录

[Grammar correction](#Grammar correction)

功能

环境要求

快速开始

[1. 云端 DeepSeek](#1. 云端 DeepSeek)

[2. 本地 Ollama](#2. 本地 Ollama)

使用方法

划词检查

固定窗口

快捷键

命令行

配置与隐私

打包

兼容性说明

项目结构

项目源码:


Grammar correction

在 Word、浏览器、邮件或任何能选中文字的地方,选中一句话,按 Ctrl+Alt+G, 用 DeepSeek 云端 API 或 本机 Ollama 检查语法、拼写、标点和用词, 并在置顶窗口中流式显示「结论 / 问题 / 修改后 / 提示」。

Windows、Ubuntu 20.04+、macOS 均可运行, 也可以打包成单文件程序。

功能

  • 划词检查:在任意应用选中文字,按全局快捷键即可检查。
  • 固定窗口 :置顶、可调透明度、记忆窗口大小;粘贴文本后 Ctrl+Enter 检查。
  • 双引擎 :DeepSeek(deepseek-chat / deepseek-reasoner)或本地 Ollama。
  • 流式输出:结果边生成边显示,可随时停止。
  • 两种模式:仅语法检查;语法 + 表达优化。
  • 结果处理:复制完整报告,或只复制「修改后」的文本。
  • 提示词自定义 :支持 {``{selectedText}} 占位符。
  • 命令行 :--check-text、--check-clipboard、--list-ollama,适合脚本或 Wayland 快捷键。

环境要求

平台 要求
Windows Windows 10 1809+ / 11,Python 3.8+(官方安装包自带 Tk)
Ubuntu / Debian Ubuntu 20.04+,sudo apt install python3-tk
macOS macOS 10.15+,Python 3.8+(python.org 安装包自带 Tk)

无需 pip install 即可运行。可选安装:

复制代码
python3 -m pip install keyring   # 把 API Key 存进系统钥匙串
python3 -m pip install pynput    # macOS 全局快捷键(Windows/Linux 不需要)

快速开始

复制代码
# Linux / macOS
cd "Grammar correction"
./run.sh
# 或
python3 grammar_correction.py

Windows:

复制代码
cd /d "D:\path\to\Grammar correction"
run.bat

首次启动会提示配置模型。

1. 云端 DeepSeek

  1. 打开 DeepSeek,创建 API Key;
  2. 应用 → 设置 → 云端 DeepSeek;
  3. 粘贴 Key → 保存;
  4. 模型选 deepseek-chat(日常)或 deepseek-reasoner(复杂文本);
  5. 点 测试连接。

Key 优先保存到系统钥匙串;没有可用钥匙串时,会写入 config.json(权限 0600), 界面会明确提示。也可以用环境变量覆盖:

复制代码
DEEPSEEK_API_KEY=sk-xxx python3 grammar_correction.py

2. 本地 Ollama

复制代码
# 安装(Linux;Windows/macOS 用官网安装包)
curl -fsSL https://ollama.com/install.sh | sh

# 启动
ollama serve

# 下载一个对话模型
ollama pull qwen2.5:7b

# 确认服务
curl http://127.0.0.1:11434/api/version

应用 → 设置 → 本地 Ollama → 检测本地模型 → 选模型 → 测试连接 。 程序只把 capabilities 含 completion 的模型放进下拉框,自动排除 embedding/rerank 模型。

推荐模型:

模型 体积 说明
qwen2.5:7b ~4.7 GB 默认推荐,中英文都不错
qwen2.5:3b ~2 GB 轻量快
llama3.2:3b ~2 GB 英文够用
llama3.1:8b ~4.9 GB 英文表达更自然

使用方法

划词检查

  1. 在 Word / 浏览器 / 邮件里选中一句话;
  2. 按 Ctrl+Alt+G;
  3. 工具窗口出现在鼠标附近并置顶,自动填入原文、开始检查;
  4. 点 复制修改后文本;
  5. 回到原文 Ctrl+V 替换;
  6. 按 Esc 最小化窗口。

取词方式:

  • Windows :保存剪贴板文本 → 模拟 Ctrl+C → 读回 → 恢复剪贴板。 只恢复文本;图片/富文本格式无法保留。
  • Linux X11:直接读取 PRIMARY 选区,不修改剪贴板。
  • macOS :模拟 ⌘C,需要在「系统设置 → 隐私与安全性 → 辅助功能」中授权。

固定窗口

勾选 固定窗口置顶 ,把文本粘贴到输入框,按 Ctrl+Enter 检查。 窗口大小、置顶状态、透明度会记住。适合划词快捷键不可用、或者想边改边查的场景。

快捷键

快捷键 作用
Ctrl+Alt+G 检查当前选区(可在设置里改)
Ctrl+Enter 在输入框内检查
Esc 检查中停止;否则最小化 / 返回检查页
Ctrl+V 粘贴

命令行

不创建主窗口,适合脚本或 Wayland 自定义快捷键:

复制代码
python3 grammar_correction.py --check-text "She go to school every day."
python3 grammar_correction.py --check-clipboard
python3 grammar_correction.py --list-ollama
python3 grammar_correction.py --hidden
python3 grammar_correction.py --portable
python3 grammar_correction.py --config ./config.json

Wayland 下建议在桌面环境里绑定系统快捷键到:

复制代码
python3 /path/to/grammar_correction.py --check-clipboard

配置与隐私

配置文件位置:

平台 路径
Windows %APPDATA%\GrammarCorrection\config.json
Linux ${XDG_CONFIG_HOME:-~/.config}/grammar-correction/config.json
macOS ~/Library/Application Support/GrammarCorrection/config.json
绿色版 <程序目录>/data/config.json
  • 普通设置写入 config.json,原子写、权限 0600;
  • API Key 优先系统钥匙串,失败才回退配置文件;
  • 日志只记录长度、模型、耗时、错误,不记录正文与 Key;
  • 云端模式会把选中文本发送给 DeepSeek;本地模式只发往你填的 Ollama 地址;
  • 默认最大 6000 字,超过会截断,防止误选整篇文档。

打包

Windows 单 exe:

复制代码
build_windows.bat

产物:dist\GrammarCorrection.exe。目标电脑不需要 Python。

Linux 单文件:

复制代码
./build_linux.sh
./dist/grammar-correction

macOS:

复制代码
python3 -m pip install pyinstaller
python3 -m PyInstaller --noconfirm --clean --windowed --name GrammarCorrection \
  --add-data "assets:assets" --add-data "README.md:." grammar_correction.py

Linux 桌面菜单 / 开机自启:

复制代码
./install_linux.sh
./install_linux.sh --autostart
./install_linux.sh --uninstall

兼容性说明

平台 划词 全局快捷键 备注
Windows 10/11 模拟 Ctrl+C RegisterHotKey 目标应用不能以更高权限运行
Ubuntu 20.04+ X11 PRIMARY 选区 XGrabKey 推荐,最顺畅
Wayland 原生应用可能读不到 仅 XWayland 有效 用固定窗口或 --check-clipboard
macOS 模拟 ⌘C 可选 pynput 需辅助功能权限

其他说明:

  • 没有系统托盘;关闭窗口即退出。需要常驻可勾选「启动时隐藏」,配合快捷键和开机自启。
  • Windows/macOS 取词会临时借用剪贴板,只恢复文本,不保留图片/富文本。
  • Linux X11 主路径不改剪贴板;兜底复制路径退出程序后剪贴板可能失效。
  • 小参数本地模型可能不严格遵守 ## 修改后 格式,此时用「复制结果」复制全文。
  • 没有自动替换 Word 原文;复制「修改后」文本后手动粘贴,避免误改文档。

项目结构

复制代码
Grammar correction/
├── grammar_correction.py          # 入口
├── grammar_correction/
│   ├── api.py                     # DeepSeek SSE / Ollama NDJSON
│   ├── cli.py                     # 命令行
│   ├── config.py                  # 配置、路径、Key
│   ├── constants.py               # 默认值
│   ├── hotkey.py                  # 全局快捷键
│   ├── logging_setup.py           # 日志
│   ├── platform_utils.py          # 平台工具
│   ├── prompts.py                 # 提示词与结果解析
│   ├── selection.py               # 选区 / 剪贴板
│   └── ui.py                      # Tkinter 界面
├── tests/                         # 单元与集成测试
├── assets/                        # 图标与截图
├── packaging/                     # Linux desktop 模板
├── run.sh / run.bat / run.command
├── build_windows.bat / build_linux.sh
├── install_linux.sh
├── run_tests.sh / run_tests.bat
├── requirements-optional.txt
└── README.md

项目源码:

复制代码
https://gitcode.com/LNN0212/Grammar_correction_zucker
相关推荐
2601_967987376 小时前
安装 Redis 或 Redis Stack
linux·windows·redis·macos·安装
feng_you_ying_li6 小时前
linux之数据链路层
linux·网络·智能路由器
GeW8 小时前
高端化走到深处,是数据库和Linux的事
linux
程序员初一9 小时前
Linux 远程桌面有四种做法
linux·ssh
程序开发阿元9 小时前
1C1G 能跑什么:把留常驻服务和不留摆进一张内存表
linux·ssh
xbzb11 小时前
自定义 yum 软件源:Linux 上 createrepo,Windows 上纯 Python 也能造
linux·运维·windows·python·yum·createrepo
武雄(小星Ai)12 小时前
Ollama报llama-server binary not found排坑实录:服务活着引擎没了
人工智能·windows·大模型·ollama·排坑
Android系统攻城狮12 小时前
Linux FFmpeg深度解析之avio_open调用流程与实战(三十八)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
独隅12 小时前
WebStorm Linux 版安装实战与核心效能展示
linux·ide·webstorm
雪落漂泊14 小时前
Linux进程(五):进程地址空间篇
linux·运维·服务器