poc/project/llmclipboard
2025-03-02 20:07:24 +08:00
..
docs add package and docs 2024-12-13 15:29:23 +08:00
llmclipboard 改进: 托盘图标状态管理和分类配置持久化- 添加活动状态图标(icon_active.png),提供更明显的视觉反馈- 优化图标切换逻辑,确保状态变化时图标正确更新- 增强图标刷新机制,解决某些环境下图标不更新的问题- 添加更全面的错误处理,提高系统托盘功能稳定性- 完善分类配置的持久化和管理机制- 更新README.md,添加v0.1.7版本更新内容 2025-03-02 20:07:24 +08:00
resources 改进: 托盘图标状态管理和分类配置持久化- 添加活动状态图标(icon_active.png),提供更明显的视觉反馈- 优化图标切换逻辑,确保状态变化时图标正确更新- 增强图标刷新机制,解决某些环境下图标不更新的问题- 添加更全面的错误处理,提高系统托盘功能稳定性- 完善分类配置的持久化和管理机制- 更新README.md,添加v0.1.7版本更新内容 2025-03-02 20:07:24 +08:00
.python-version 右键双击自动保存剪贴板内容到markdown文件 2024-12-13 14:22:58 +08:00
build.bat 改进: 托盘图标状态管理和分类配置持久化- 添加活动状态图标(icon_active.png),提供更明显的视觉反馈- 优化图标切换逻辑,确保状态变化时图标正确更新- 增强图标刷新机制,解决某些环境下图标不更新的问题- 添加更全面的错误处理,提高系统托盘功能稳定性- 完善分类配置的持久化和管理机制- 更新README.md,添加v0.1.7版本更新内容 2025-03-02 20:07:24 +08:00
categories.json 改进: 托盘图标状态管理和分类配置持久化- 添加活动状态图标(icon_active.png),提供更明显的视觉反馈- 优化图标切换逻辑,确保状态变化时图标正确更新- 增强图标刷新机制,解决某些环境下图标不更新的问题- 添加更全面的错误处理,提高系统托盘功能稳定性- 完善分类配置的持久化和管理机制- 更新README.md,添加v0.1.7版本更新内容 2025-03-02 20:07:24 +08:00
CHANGELOG-v0.1.7.md 改进: 托盘图标状态管理和分类配置持久化- 添加活动状态图标(icon_active.png),提供更明显的视觉反馈- 优化图标切换逻辑,确保状态变化时图标正确更新- 增强图标刷新机制,解决某些环境下图标不更新的问题- 添加更全面的错误处理,提高系统托盘功能稳定性- 完善分类配置的持久化和管理机制- 更新README.md,添加v0.1.7版本更新内容 2025-03-02 20:07:24 +08:00
CHANGELOG.md fix package bug 2025-03-02 18:56:33 +08:00
config.ini v0.1.5 update 增加AI模型集成,增加图片保存,界面优化,异步优化 2025-03-02 13:58:05 +08:00
create_active_icon.py 改进: 托盘图标状态管理和分类配置持久化- 添加活动状态图标(icon_active.png),提供更明显的视觉反馈- 优化图标切换逻辑,确保状态变化时图标正确更新- 增强图标刷新机制,解决某些环境下图标不更新的问题- 添加更全面的错误处理,提高系统托盘功能稳定性- 完善分类配置的持久化和管理机制- 更新README.md,添加v0.1.7版本更新内容 2025-03-02 20:07:24 +08:00
debug.py fix package bug 2025-03-02 18:56:33 +08:00
file_version_info.txt feat: 更新版本号和程序信息 2025-01-16 00:01:35 +08:00
generate_icons.py fix package bug 2025-03-02 18:56:33 +08:00
import_test.py fix package bug 2025-03-02 18:56:33 +08:00
notification_style_test.py fix package bug 2025-03-02 18:56:33 +08:00
notification_system.md fix package bug 2025-03-02 18:56:33 +08:00
notification_test.py fix package bug 2025-03-02 18:56:33 +08:00
pyproject.toml v0.1.5 update 增加AI模型集成,增加图片保存,界面优化,异步优化 2025-03-02 13:58:05 +08:00
README.md 改进: 托盘图标状态管理和分类配置持久化- 添加活动状态图标(icon_active.png),提供更明显的视觉反馈- 优化图标切换逻辑,确保状态变化时图标正确更新- 增强图标刷新机制,解决某些环境下图标不更新的问题- 添加更全面的错误处理,提高系统托盘功能稳定性- 完善分类配置的持久化和管理机制- 更新README.md,添加v0.1.7版本更新内容 2025-03-02 20:07:24 +08:00
run_app.py fix package bug 2025-03-02 18:56:33 +08:00
setup.py update package 2025-03-02 14:28:16 +08:00
test_categories.py 改进: 托盘图标状态管理和分类配置持久化- 添加活动状态图标(icon_active.png),提供更明显的视觉反馈- 优化图标切换逻辑,确保状态变化时图标正确更新- 增强图标刷新机制,解决某些环境下图标不更新的问题- 添加更全面的错误处理,提高系统托盘功能稳定性- 完善分类配置的持久化和管理机制- 更新README.md,添加v0.1.7版本更新内容 2025-03-02 20:07:24 +08:00
test_category_manager.py 改进: 托盘图标状态管理和分类配置持久化- 添加活动状态图标(icon_active.png),提供更明显的视觉反馈- 优化图标切换逻辑,确保状态变化时图标正确更新- 增强图标刷新机制,解决某些环境下图标不更新的问题- 添加更全面的错误处理,提高系统托盘功能稳定性- 完善分类配置的持久化和管理机制- 更新README.md,添加v0.1.7版本更新内容 2025-03-02 20:07:24 +08:00
test_package.py fix package bug 2025-03-02 18:56:33 +08:00
tray_test.py fix package bug 2025-03-02 18:56:33 +08:00
uv.lock fix package bug 2025-03-02 18:56:33 +08:00

LLMClipboard

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

核心特性

📋 智能文本处理

  • 智能标题提取,自动从内容中识别最合适的标题
  • 多格式支持HTML、Markdown、纯文本等
  • 保持原文格式,包括段落、换行、列表等
  • 智能清理,去除冗余内容和空白行
  • 新增: 大模型集成支持OpenAI和Ollama提供更智能的内容理解

🖼️ 图片处理

  • 新增: 支持剪贴板图片保存
  • 新增: 自动提取HTML内容中的图片
  • 新增: 支持网络图片和base64编码图片
  • 新增: 自动关联图片与文本内容

🏷️ 自动分类和标签

  • 基于内容智能分类,自动归档到合适目录
  • 使用NLP技术提取关键词作为标签
  • 新增: 可视化分类管理器,轻松编辑分类规则
  • 新增: 大模型辅助分类和标签生成
  • YAML front matter 元数据支持

🎨 现代化界面

  • 全新扁平化设计风格
  • 支持深色/浅色主题
  • 新增: 增强的系统托盘功能,状态指示和快捷操作
  • 新增: 最近保存列表,快速访问历史内容
  • 新增: 桌面通知系统,保存反馈更直观
  • 新增: 开机自启动支持

🚀 快速开始

系统要求

  • Python 3.10+
  • Windows 10/11

安装步骤

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

使用大模型功能(可选)

  • 对于OpenAI API:

    • 在设置中选择"OpenAI兼容API"
    • 输入您的API密钥和模型名称
    • 支持自定义API地址兼容各种OpenAI兼容服务
  • 对于Ollama:

    • 安装Ollama (https://ollama.com/)
    • 在设置中选择"Ollama本地模型"
    • 选择您已下载的模型如llama2、mistral等

📁 项目结构

llmclipboard/
├── llmclipboard/           # 主程序包
│   ├── __init__.py        # 包初始化文件
│   ├── app.py             # 主程序入口
│   ├── document_processor.py  # 文档处理核心逻辑
│   ├── gui.py             # 图形界面实现
│   ├── ai_processor.py    # AI模型集成
│   ├── category_manager.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             # 项目说明文档
└── logs/                 # 日志目录
    └── llmclipboard.log  # 日志文件

核心模块说明

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

📝 使用说明

基本操作

  1. 双击右键:快速保存剪贴板内容(文本或图片)
  2. 系统托盘图标:
    • 左键双击:打开主界面
    • 右键单击:显示菜单选项(启动/停止监听、设置、退出等)
    • 图标状态:绿色表示正在监听,灰色表示已停止

高级功能

  1. 分类管理:

    • 点击"分类管理"按钮打开分类管理器
    • 添加、删除、编辑分类和关键词
    • 实时预览分类效果
  2. AI模型设置

    • 点击"AI模型设置"按钮配置大模型
    • 选择OpenAI或Ollama
    • 测试连接确保可用性
  3. 最近保存列表:

    • 在主界面查看最近保存的文件
    • 双击打开对应文件

配置说明

配置文件位于 config.ini

[Settings]
save_location = 文档保存位置
double_click_threshold = 0.3

[AI]
model_type = none/openai/ollama
api_key = 您的API密钥仅OpenAI
base_url = API地址
model = 模型名称

文档保存格式

---
title: 自动提取或手动设置的标题
date: 2025-03-02 13:45:00
tags: [自动提取的标签]
category: 自动分类的目录
---

正文内容...

## 相关图片

![图片1](./image_20250302_134500_1.png)

![图片2](./image_20250302_134500_2.png)

目录结构

save_location/
├── 技术/          # 技术相关文档
├── 学习/          # 学习笔记
├── 工作/          # 工作文档
├── 想法/          # 想法和灵感
├── 资源/          # 资源文档
├── 图片/          # 图片文件
└── 未分类/        # 未分类文档

🔧 核心功能说明

标题提取算法

  • 智能识别文档主题和重点
  • 处理多种标题格式Markdown、HTML等
  • 标点符号智能处理
  • 长度自动优化
  • 新增: 大模型辅助标题提取,更加智能准确

文本和图片处理

  • 保持原文格式和换行
  • 智能去除冗余内容
  • 优化空白行和段落间距
  • 特殊字符处理
  • 新增: 图片提取和保存
  • 新增: 图文混合内容处理

自动分类系统

  • 基于内容的智能分类
  • 关键词匹配
  • 新增: 可视化分类规则编辑
  • 新增: 大模型辅助分类
  • 默认分类支持

性能优化

  • 新增: 多线程处理避免UI卡顿
  • 新增: 异步图片下载和处理
  • 新增: 内存使用优化

📦 打包说明

生成可执行文件

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

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

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

打包配置说明

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

  • 无控制台窗口模式
  • 自动包含所有必要的依赖
  • 包含配置文件和分类规则文件
  • 支持的 Python 版本3.10+
  • 支持系统托盘功能,关闭窗口时程序继续在后台运行

系统托盘功能

  • 关闭主窗口时,应用程序不会退出,而是最小化到系统托盘
  • 双击系统托盘图标可以重新打开主窗口
  • 右键点击系统托盘图标可以显示菜单:
    • 显示主窗口
    • 启动/停止监听
    • 设置选项
    • 退出应用程序

📝 日志说明

应用程序运行时的所有日志都保存在 logs 目录下:

  • 日志文件:llmclipboard.log
  • 日志级别INFO 及以上
  • 日志轮转:单个文件最大 5MB保留 3 个备份文件
  • 日志内容:包含所有控制台输出和错误信息

日志文件位置

  • 开发环境:项目根目录下的 logs 文件夹
  • 打包环境:可执行文件所在目录的 logs 文件夹

日志内容说明

  • 应用程序启动和关闭信息
  • 剪贴板操作记录
  • 文件保存操作记录
  • 错误和异常信息
  • 调试信息DEBUG 级别,默认不记录)
  • 新增: AI模型调用日志
  • 新增: 图片处理日志

🔄 最近更新

2025-01-15

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

2025-01-16 (v0.1.4)

  • 添加应用程序打包支持

    • 使用 PyInstaller 打包为独立可执行文件
    • 添加打包配置文件 llmclipboard.spec
    • 优化打包后的文件结构和依赖管理
  • 改进日志系统

    • 添加日志文件轮转功能,单个文件最大 5MB
    • 优化日志文件路径处理,支持开发和打包环境
    • 重定向控制台输出到日志文件
    • 添加错误处理和临时日志备份机制
  • 文档更新

    • 添加打包说明和配置文档
    • 补充日志系统使用说明
    • 更新项目结构说明

2025-03-02 (v0.1.5)

  • 🤖 添加AI模型集成

    • 支持OpenAI兼容API
    • 支持Ollama本地模型
    • AI辅助标题提取、分类和标签生成
  • 🖼️ 增强图片处理功能

    • 支持剪贴板图片保存
    • 自动提取HTML内容中的图片
    • 支持网络图片和base64编码图片
    • 图文混合内容处理
  • 🎨 界面改进

    • 全新扁平化设计风格
    • 增强的系统托盘功能
    • 添加最近保存列表
    • 桌面通知系统
    • 开机自启动支持
  • 🔧 功能增强

    • 添加可视化分类管理器
    • 多线程处理避免UI卡顿
    • 异步图片下载和处理
    • 内存使用优化

v0.1.6 (2025-03-02)

  • 修复ConfigParser导入问题
  • 修复系统托盘功能
  • 添加darkdetect模块支持深色/浅色模式自动检测
  • 改进通知系统样式和错误处理
  • 优化UI响应性能
  • 添加uv环境打包支持

v0.1.7 (2025-03-02)

  • 改进托盘图标状态管理
    • 添加活动状态图标,提供更明显的视觉反馈
    • 优化图标切换逻辑,确保状态变化时图标正确更新
    • 增强图标刷新机制,解决某些环境下图标不更新的问题
    • 添加更全面的错误处理,提高系统托盘功能稳定性
  • 完善分类配置的持久化和管理机制
    • 支持开发和打包环境下的配置文件路径
    • 确保配置文件正确保存和加载
    • 添加更详细的日志记录

🤝 贡献指南

  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]