poc/project/llmclipboard/README.md
zhukang f5849d416d feat: add modern GUI interface and cross-platform support
- 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
2025-01-15 21:10:59 +08:00

2.7 KiB
Raw Blame History

LLMClipboard

一个跨平台的富文本捕获工具具有现代化的GUI界面可以通过选择任何应用程序的富文本内容快速双击鼠标右键将其保存为markdown格式文件保持原有的图文样式。

功能特点

  • 现代化的图形用户界面
  • 支持从任何应用程序中捕获富文本
  • 保持原有的文本格式和样式
  • 自动转换为markdown格式
  • 简单的右键双击操作
  • 可配置的保存路径
  • 支持HTML、纯文本、Unicode文本格式
  • 系统托盘支持
  • 自适应深色/浅色主题
  • 跨平台支持

安装步骤

  1. 创建虚拟环境:
uv venv .venv
  1. 激活虚拟环境:
.venv\Scripts\activate
  1. 安装依赖:
.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文件的保存路径

使用方法

  1. 启动程序:
.venv\Scripts\python.exe -m llmclipboard.app
  1. 使用步骤:
    • 在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功能

  1. 主要功能

    • 可视化配置保存路径和双击阈值
    • 实时显示程序运行状态
    • 一键启动/停止监听
    • 系统托盘支持,最小化后继续运行
    • 自适应系统主题(深色/浅色)
  2. 系统托盘

    • 双击托盘图标显示主窗口
    • 右键菜单支持显示/退出操作
    • 最小化时显示通知消息

开发说明

  1. 安装开发依赖:
uv pip install -e .
  1. 构建分发包:
uv pip install build
python -m build

这将在项目根目录下生成 dist 目录,包含 .tar.gz.whl 文件。

许可证

MIT License

贡献指南

欢迎提交 Issue 和 Pull Request。