1. 更新版本号至 0.1.4 - 更新程序标题显示版本号 - 添加版本信息配置文件 2. 修复配置保存和加载问题 - 修复保存路径设置不生效的问题 - 优化配置加载时机,确保使用最新设置
243 lines
6.6 KiB
Markdown
243 lines
6.6 KiB
Markdown
# LLMClipboard
|
||
|
||
智能剪贴板增强工具,专注于提供高质量的文本捕获和处理体验。支持智能标题提取、自动分类、关键词标签等功能,让您的笔记管理更轻松高效。
|
||
|
||
## ✨ 核心特性
|
||
|
||
### 📋 智能文本处理
|
||
- 智能标题提取,自动从内容中识别最合适的标题
|
||
- 多格式支持:HTML、Markdown、纯文本等
|
||
- 保持原文格式,包括段落、换行、列表等
|
||
- 智能清理,去除冗余内容和空白行
|
||
|
||
### 🏷️ 自动分类和标签
|
||
- 基于内容智能分类,自动归档到合适目录
|
||
- 使用 NLP 技术提取关键词作为标签
|
||
- 支持自定义分类规则和标签规则
|
||
- YAML front matter 元数据支持
|
||
|
||
### 🎨 现代化界面
|
||
- 简洁优雅的用户界面
|
||
- 支持深色/浅色主题
|
||
- 系统托盘常驻
|
||
- 快捷键操作支持
|
||
|
||
## 🚀 快速开始
|
||
|
||
### 系统要求
|
||
- Python 3.8+
|
||
- Windows 10/11
|
||
|
||
### 安装步骤
|
||
1. 克隆仓库
|
||
```bash
|
||
git clone https://github.com/yourusername/llmclipboard.git
|
||
cd llmclipboard
|
||
```
|
||
|
||
2. 创建虚拟环境
|
||
```bash
|
||
python -m venv .venv
|
||
.venv\Scripts\activate
|
||
```
|
||
|
||
3. 安装依赖
|
||
```bash
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
4. 运行程序
|
||
```bash
|
||
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`:
|
||
```yaml
|
||
save_location: "文档保存位置"
|
||
default_category: "默认分类"
|
||
auto_save: true # 是否自动保存
|
||
dark_mode: auto # 主题模式:light/dark/auto
|
||
```
|
||
|
||
### 文档保存格式
|
||
```markdown
|
||
---
|
||
title: 自动提取或手动设置的标题
|
||
date: 2025-01-15 21:00:00
|
||
tags: [自动提取的标签]
|
||
category: 自动分类的目录
|
||
---
|
||
|
||
正文内容...
|
||
```
|
||
|
||
### 目录结构
|
||
```
|
||
save_location/
|
||
├── 技术/ # 技术相关文档
|
||
├── 学习/ # 学习笔记
|
||
├── 工作/ # 工作文档
|
||
├── 想法/ # 想法和灵感
|
||
└── 其他/ # 未分类文档
|
||
```
|
||
|
||
## 🔧 核心功能说明
|
||
|
||
### 标题提取算法
|
||
- 智能识别文档主题和重点
|
||
- 处理多种标题格式(Markdown、HTML等)
|
||
- 标点符号智能处理
|
||
- 长度自动优化
|
||
|
||
### 文本清理功能
|
||
- 保持原文格式和换行
|
||
- 智能去除冗余内容
|
||
- 优化空白行和段落间距
|
||
- 特殊字符处理
|
||
|
||
### 自动分类系统
|
||
- 基于内容的智能分类
|
||
- 关键词匹配
|
||
- 自定义分类规则
|
||
- 默认分类支持
|
||
|
||
## 📦 打包说明
|
||
|
||
### 生成可执行文件
|
||
1. 确保已安装所有依赖
|
||
```bash
|
||
.venv\Scripts\python.exe -m pip install pyinstaller
|
||
```
|
||
|
||
2. 使用 PyInstaller 打包
|
||
```bash
|
||
.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(v0.1.4)
|
||
- 添加应用程序打包支持
|
||
- 使用 PyInstaller 打包为独立可执行文件
|
||
- 添加打包配置文件 `llmclipboard.spec`
|
||
- 优化打包后的文件结构和依赖管理
|
||
|
||
- 改进日志系统
|
||
- 添加日志文件轮转功能,单个文件最大 5MB
|
||
- 优化日志文件路径处理,支持开发和打包环境
|
||
- 重定向控制台输出到日志文件
|
||
- 添加错误处理和临时日志备份机制
|
||
|
||
- 文档更新
|
||
- 添加打包说明和配置文档
|
||
- 补充日志系统使用说明
|
||
- 更新项目结构说明
|
||
|
||
## 🤝 贡献指南
|
||
|
||
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](LICENSE) 文件。
|
||
|
||
## 🙋♂️ 问题反馈
|
||
|
||
如果您遇到问题或有建议:
|
||
1. 提交 [Issue](../../issues)
|
||
2. 加入讨论组:[Discussions](../../discussions)
|
||
3. 发送邮件至:[your-email@example.com] |