1. 改进日志系统 - 添加日志文件轮转功能 - 优化日志文件路径处理 - 重定向控制台输出 - 添加错误处理机制 2. 更新文档 - 添加日志系统说明 - 更新最近更新记录 |
||
|---|---|---|
| .. | ||
| docs | ||
| llmclipboard | ||
| .python-version | ||
| config.ini | ||
| pyproject.toml | ||
| README.md | ||
| uv.lock | ||
LLMClipboard
智能剪贴板增强工具,专注于提供高质量的文本捕获和处理体验。支持智能标题提取、自动分类、关键词标签等功能,让您的笔记管理更轻松高效。
✨ 核心特性
📋 智能文本处理
- 智能标题提取,自动从内容中识别最合适的标题
- 多格式支持:HTML、Markdown、纯文本等
- 保持原文格式,包括段落、换行、列表等
- 智能清理,去除冗余内容和空白行
🏷️ 自动分类和标签
- 基于内容智能分类,自动归档到合适目录
- 使用 NLP 技术提取关键词作为标签
- 支持自定义分类规则和标签规则
- YAML front matter 元数据支持
🎨 现代化界面
- 简洁优雅的用户界面
- 支持深色/浅色主题
- 系统托盘常驻
- 快捷键操作支持
🚀 快速开始
系统要求
- Python 3.8+
- Windows 10/11
安装步骤
- 克隆仓库
git clone https://github.com/yourusername/llmclipboard.git
cd llmclipboard
- 创建虚拟环境
python -m venv .venv
.venv\Scripts\activate
- 安装依赖
pip install -r requirements.txt
- 运行程序
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/: 单元测试集合,确保核心功能的正确性
📝 使用说明
基本操作
- 双击右键:快速保存剪贴板内容
- 系统托盘图标:
- 左键单击:打开主界面
- 右键单击:显示菜单选项
配置说明
配置文件位于 ~/.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等)
- 标点符号智能处理
- 长度自动优化
文本清理功能
- 保持原文格式和换行
- 智能去除冗余内容
- 优化空白行和段落间距
- 特殊字符处理
自动分类系统
- 基于内容的智能分类
- 关键词匹配
- 自定义分类规则
- 默认分类支持
📦 打包说明
生成可执行文件
- 确保已安装所有依赖
.venv\Scripts\python.exe -m pip install pyinstaller
- 使用 PyInstaller 打包
.venv\Scripts\python.exe -m PyInstaller llmclipboard.spec --clean
生成的可执行文件位于 dist 目录下:
LLMClipboard.exe: 独立的可执行文件,包含所有依赖
打包配置说明
打包配置文件 llmclipboard.spec 包含以下设置:
- 无控制台窗口模式
- 自动包含所有必要的依赖
- 包含配置文件和分类规则文件
- 支持的 Python 版本:3.10+
📝 日志说明
应用程序运行时的所有日志都保存在 logs 目录下:
- 日志文件:
llmclipboard.log - 日志级别:INFO 及以上
- 日志轮转:单个文件最大 5MB,保留 3 个备份文件
- 日志内容:包含所有控制台输出和错误信息
日志文件位置
- 开发环境:项目根目录下的
logs文件夹 - 打包环境:可执行文件所在目录的
logs文件夹
日志内容说明
- 应用程序启动和关闭信息
- 剪贴板操作记录
- 文件保存操作记录
- 错误和异常信息
- 调试信息(DEBUG 级别,默认不记录)
🔄 最近更新
2025-01-15
- 🔍 改进标题提取算法
- 优化对 Markdown 格式的处理
- 改进代码块标题处理
- 智能处理标点符号
- 保持标题简洁明了
- 📝 优化文本格式处理
- 保持原文换行格式
- 智能清理空白行
- 改进中文标点处理
- 🔧 改进日志输出
- 添加详细的调试信息
- 确保 UTF-8 编码支持
- 优化日志格式和可读性
2025-01-16
-
添加应用程序打包支持
- 使用 PyInstaller 打包为独立可执行文件
- 添加打包配置文件
llmclipboard.spec - 优化打包后的文件结构和依赖管理
-
改进日志系统
- 添加日志文件轮转功能,单个文件最大 5MB
- 优化日志文件路径处理,支持开发和打包环境
- 重定向控制台输出到日志文件
- 添加错误处理和临时日志备份机制
-
文档更新
- 添加打包说明和配置文档
- 补充日志系统使用说明
- 更新项目结构说明
🤝 贡献指南
- Fork 项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'feat: 添加一些特性') - 推送到分支 (
git push origin feature/AmazingFeature) - 提交 Pull Request
编码规范
- 遵循 PEP 8 规范
- 使用类型注解
- 编写单元测试
- 添加详细注释
📄 许可证
本项目采用 MIT 许可证。详见 LICENSE 文件。
🙋♂️ 问题反馈
如果您遇到问题或有建议:
- 提交 Issue
- 加入讨论组:Discussions
- 发送邮件至:[your-email@example.com]