poc/project/llmclipboard
zhukang 595f22c929 fix: improve clipboard handling and add status messages
- Enhance clipboard content detection and error handling
- Add detailed logging for debugging
- Add GUI status messages for user feedback
- Fix document saving issues
- Improve error reporting
2025-01-15 21:38:34 +08:00
..
docs add package and docs 2024-12-13 15:29:23 +08:00
llmclipboard fix: improve clipboard handling and add status messages 2025-01-15 21:38:34 +08:00
.python-version 右键双击自动保存剪贴板内容到markdown文件 2024-12-13 14:22:58 +08:00
config.ini feat: add modern GUI interface and cross-platform support 2025-01-15 21:10:59 +08:00
pyproject.toml feat: add intelligent document processing 2025-01-15 21:34:42 +08:00
README.md feat: add intelligent document processing 2025-01-15 21:34:42 +08:00
uv.lock 右键双击自动保存剪贴板内容到markdown文件 2024-12-13 14:22:58 +08:00

LLMClipboard

一个跨平台的富文本捕获工具提供现代化的GUI界面支持一键将任何应用程序中的富文本内容转换为Markdown格式并保存。

特性

  • 🖥️ 现代化图形界面,支持深色/浅色主题
  • 📋 智能富文本捕获和格式保持
  • 快速双击右键保存
  • 🔧 可视化配置界面
  • 💾 自动保存为Markdown格式
  • 🌐 完整的跨平台支持
  • 🔄 系统托盘支持,后台运行
  • 🎨 自适应系统主题
  • 📝 优化的文本格式处理

🎯 功能亮点

智能格式转换

  • HTML 富文本

    • 保持原始格式(粗体、斜体、链接等)
    • 保留图片和表格结构
    • 智能处理段落和换行
    • 清理多余空白行
  • 纯文本处理

    • 自动识别文本编码
    • 智能处理中文内容
    • 保持段落结构
    • 优化换行格式
  • Unicode 支持

    • 完整的 Unicode 字符支持
    • 多语言文本兼容
    • 保持特殊字符格式

智能文档处理

  • 智能标题生成

    • 自动从内容提取关键信息作为标题
    • 使用自然语言处理识别主题
    • 生成简洁有意义的标题
  • 自动标签系统

    • 基于内容智能提取关键词
    • 自动识别文档主题
    • 支持多维度标签分类
    • 可自定义标签规则
  • 智能分类系统

    • 自动对文档进行分类
    • 支持多级目录结构
    • 预设常用分类模板
    • 可自定义分类规则
  • 文档元数据

    • 自动添加创建时间
    • 记录文档分类信息
    • 保存标签信息
    • YAML front matter 格式

目录结构

保存的文档会自动按以下结构组织:

save_location/
├── 技术/
│   └── 20250115_210000_Python项目最佳实践.md
├── 学习/
│   └── 20250115_210100_机器学习基础概念.md
├── 工作/
│   └── 20250115_210200_项目进度报告.md
├── 想法/
│   └── 20250115_210300_产品改进建议.md
└── 资源/
    └── 20250115_210400_有用的开发工具集合.md

每个文档都包含以下格式的元数据:

---
title: 文档标题
date: 2025-01-15 21:00:00
tags: 标签1, 标签2, 标签3
category: 分类名称
---

文档内容...

格式优化

  • 自动清理冗余空行
  • 保持段落间距一致
  • 优化列表和缩进结构
  • 保持代码块格式

🚀 快速开始

环境要求

  • Python >= 3.10
  • Windows/Linux/MacOS

安装步骤

  1. 克隆仓库:
git clone <repository-url>
cd llmclipboard
  1. 创建虚拟环境:
uv venv .venv
  1. 激活虚拟环境:
# Windows
.venv\Scripts\activate
# Linux/MacOS
source .venv/bin/activate
  1. 安装依赖:
# Windows
.venv\Scripts\python.exe -m pip install -e .
# Linux/MacOS
.venv/bin/python -m pip install -e .

⚙️ 配置

编辑 config.ini 文件:

[Settings]
# 双击判定的时间阈值(秒)
double_click_threshold = 0.3
# Markdown文件保存路径
save_location = C:\Users\YourName\Documents\Markdown

📖 使用指南

启动程序

# Windows
.venv\Scripts\python.exe -m llmclipboard.app
# Linux/MacOS
.venv/bin/python -m llmclipboard.app

基本操作

  1. 配置设置

    • 启动程序后在GUI界面设置保存路径
    • 根据需要调整双击阈值
    • 点击"保存设置"应用更改
  2. 开始使用

    • 点击"启动监听"按钮
    • 选择任意文本内容
    • 快速双击鼠标右键保存
    • 文件自动保存为Markdown格式
  3. 后台运行

    • 点击最小化按钮,程序会缩小到系统托盘
    • 双击托盘图标可重新打开界面
    • 右键托盘图标可访问快捷菜单
  4. 退出程序

    • 点击"停止监听"停止服务
    • 通过托盘菜单退出
    • 或按ESC键退出

🔧 技术栈

  • GUI框架: PyQt6
  • 主题: qt-material
  • 系统集成:
    • pynput: 鼠标事件监听
    • keyboard: 键盘事件处理
    • pywin32: Windows系统集成
  • 格式转换: html2text
  • 配置管理: configparser

📁 项目结构

llmclipboard/
├── llmclipboard/           # 源代码目录
│   ├── __init__.py
│   ├── app.py             # 主程序和服务逻辑
│   ├── gui.py            # GUI界面实现
├── config.ini             # 配置文件
├── README.md             # 项目文档
├── pyproject.toml        # 项目依赖配置

🛠️ 开发指南

安装开发依赖

uv pip install -e .

构建分发包

uv pip install build
python -m build

构建完成后,在 dist 目录下可以找到:

  • .tar.gz: 源码分发包
  • .whl: Python wheel包

🤝 贡献指南

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 提交 Pull Request

📄 许可证

MIT License - 查看 LICENSE 文件了解更多详情

🙏 致谢

📞 支持与反馈

如果你遇到任何问题或有建议:

  1. 提交 Issue
  2. 发送邮件至 [your-email@example.com]