poc/project/llmclipboard/README.md
zhukang bb5e014a9b feat: 添加应用程序打包支持
1. 添加 PyInstaller 打包配置
2. 更新 README.md 添加打包说明
3. 生成独立的可执行文件
2025-01-15 23:34:27 +08:00

5.5 KiB
Raw Blame History

LLMClipboard

智能剪贴板增强工具,专注于提供高质量的文本捕获和处理体验。支持智能标题提取、自动分类、关键词标签等功能,让您的笔记管理更轻松高效。

核心特性

📋 智能文本处理

  • 智能标题提取,自动从内容中识别最合适的标题
  • 多格式支持HTML、Markdown、纯文本等
  • 保持原文格式,包括段落、换行、列表等
  • 智能清理,去除冗余内容和空白行

🏷️ 自动分类和标签

  • 基于内容智能分类,自动归档到合适目录
  • 使用 NLP 技术提取关键词作为标签
  • 支持自定义分类规则和标签规则
  • YAML front matter 元数据支持

🎨 现代化界面

  • 简洁优雅的用户界面
  • 支持深色/浅色主题
  • 系统托盘常驻
  • 快捷键操作支持

🚀 快速开始

系统要求

  • Python 3.8+
  • Windows 10/11

安装步骤

  1. 克隆仓库
git clone https://github.com/yourusername/llmclipboard.git
cd llmclipboard
  1. 创建虚拟环境
python -m venv .venv
.venv\Scripts\activate
  1. 安装依赖
pip install -r requirements.txt
  1. 运行程序
python -m llmclipboard.app

📁 项目结构

llmclipboard/
├── llmclipboard/           # 主程序包
│   ├── __init__.py        # 包初始化文件
│   ├── app.py             # 主程序入口
│   ├── document_processor.py  # 文档处理核心逻辑
│   ├── gui.py             # 图形界面实现
│   ├── categories.json    # 分类配置文件
│   └── tests/             # 测试目录
│       ├── __init__.py
│       ├── test_clipboard.py     # 剪贴板功能测试
│       ├── test_data.py         # 数据处理测试
│       └── test_document_processor.py  # 文档处理测试
├── docs/                  # 文档目录
├── .python-version        # Python 版本配置
├── config.ini            # 程序配置文件
├── pyproject.toml        # 项目依赖配置
├── README.md             # 项目说明文档
└── text_capture.log      # 日志文件

核心模块说明

  • app.py: 程序入口,包含主要的应用逻辑和事件循环
  • document_processor.py: 文档处理核心,实现了标题提取、内容清理、标签生成等功能
  • gui.py: 图形界面实现,包含主窗口和托盘图标的设计
  • categories.json: 预设的文档分类规则配置
  • tests/: 单元测试集合,确保核心功能的正确性

📝 使用说明

基本操作

  1. 双击右键:快速保存剪贴板内容
  2. 系统托盘图标:
    • 左键单击:打开主界面
    • 右键单击:显示菜单选项

配置说明

配置文件位于 ~/.llmclipboard/config.yaml

save_location: "文档保存位置"
default_category: "默认分类"
auto_save: true  # 是否自动保存
dark_mode: auto  # 主题模式light/dark/auto

文档保存格式

---
title: 自动提取或手动设置的标题
date: 2025-01-15 21:00:00
tags: [自动提取的标签]
category: 自动分类的目录
---

正文内容...

目录结构

save_location/
├── 技术/          # 技术相关文档
├── 学习/          # 学习笔记
├── 工作/          # 工作文档
├── 想法/          # 想法和灵感
└── 其他/          # 未分类文档

🔧 核心功能说明

标题提取算法

  • 智能识别文档主题和重点
  • 处理多种标题格式Markdown、HTML等
  • 标点符号智能处理
  • 长度自动优化

文本清理功能

  • 保持原文格式和换行
  • 智能去除冗余内容
  • 优化空白行和段落间距
  • 特殊字符处理

自动分类系统

  • 基于内容的智能分类
  • 关键词匹配
  • 自定义分类规则
  • 默认分类支持

📦 打包说明

生成可执行文件

  1. 确保已安装所有依赖
.venv\Scripts\python.exe -m pip install pyinstaller
  1. 使用 PyInstaller 打包
.venv\Scripts\python.exe -m PyInstaller llmclipboard.spec --clean

生成的可执行文件位于 dist 目录下:

  • LLMClipboard.exe: 独立的可执行文件,包含所有依赖

打包配置说明

打包配置文件 llmclipboard.spec 包含以下设置:

  • 无控制台窗口模式
  • 自动包含所有必要的依赖
  • 包含配置文件和分类规则文件
  • 支持的 Python 版本3.10+

🔄 最近更新

2025-01-15

  • 🔍 改进标题提取算法
    • 优化对 Markdown 格式的处理
    • 改进代码块标题处理
    • 智能处理标点符号
    • 保持标题简洁明了
  • 📝 优化文本格式处理
    • 保持原文换行格式
    • 智能清理空白行
    • 改进中文标点处理
  • 🔧 改进日志输出
    • 添加详细的调试信息
    • 确保 UTF-8 编码支持
    • 优化日志格式和可读性

🤝 贡献指南

  1. Fork 项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'feat: 添加一些特性')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 提交 Pull Request

编码规范

  • 遵循 PEP 8 规范
  • 使用类型注解
  • 编写单元测试
  • 添加详细注释

📄 许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。

🙋‍♂️ 问题反馈

如果您遇到问题或有建议:

  1. 提交 Issue
  2. 加入讨论组:Discussions
  3. 发送邮件至:[your-email@example.com]