- Add PyQt6-based modern GUI - Add system tray support - Add dark/light theme support - Refactor app into service architecture - Update documentation with GUI features - Add cross-platform compatibility
2.7 KiB
2.7 KiB
LLMClipboard
一个跨平台的富文本捕获工具,具有现代化的GUI界面,可以通过选择任何应用程序的富文本内容,快速双击鼠标右键将其保存为markdown格式文件,保持原有的图文样式。
功能特点
- 现代化的图形用户界面
- 支持从任何应用程序中捕获富文本
- 保持原有的文本格式和样式
- 自动转换为markdown格式
- 简单的右键双击操作
- 可配置的保存路径
- 支持HTML、纯文本、Unicode文本格式
- 系统托盘支持
- 自适应深色/浅色主题
- 跨平台支持
安装步骤
- 创建虚拟环境:
uv venv .venv
- 激活虚拟环境:
.venv\Scripts\activate
- 安装依赖:
.venv\Scripts\python.exe -m pip install pynput pywin32 html2text keyboard configparser PyQt6 darkdetect qt-material
配置说明
编辑 config.ini 文件,设置以下参数:
[Settings]
double_click_threshold = 0.3
save_location = 你的保存路径
double_click_threshold: 双击判定的时间阈值(秒)save_location: markdown文件的保存路径
使用方法
- 启动程序:
.venv\Scripts\python.exe -m llmclipboard.app
- 使用步骤:
- 在GUI界面中设置保存路径和双击阈值
- 点击"启动监听"按钮开始监听
- 选择需要保存的富文本内容
- 快速双击鼠标右键
- 文件会自动保存到配置的路径中
- 可以最小化到系统托盘继续运行
- 按ESC键或点击"停止监听"按钮停止监听
项目结构
llmclipboard/
├── llmclipboard/
│ ├── __init__.py
│ ├── app.py
│ ├── gui.py
├── config.ini
├── README.md
├── pyproject.toml
依赖说明
- Python >= 3.10
- pynput: 鼠标事件监听
- pywin32: Windows API交互
- html2text: HTML转Markdown转换
- keyboard: 键盘事件处理
- configparser: 配置文件处理
- PyQt6: GUI框架
- qt-material: 现代化主题
- darkdetect: 系统主题检测
GUI功能
-
主要功能:
- 可视化配置保存路径和双击阈值
- 实时显示程序运行状态
- 一键启动/停止监听
- 系统托盘支持,最小化后继续运行
- 自适应系统主题(深色/浅色)
-
系统托盘:
- 双击托盘图标显示主窗口
- 右键菜单支持显示/退出操作
- 最小化时显示通知消息
开发说明
- 安装开发依赖:
uv pip install -e .
- 构建分发包:
uv pip install build
python -m build
这将在项目根目录下生成 dist 目录,包含 .tar.gz 和 .whl 文件。
许可证
MIT License
贡献指南
欢迎提交 Issue 和 Pull Request。