[Share Experiences] 【实例展示】用CoPaw手搓的Deepin系统剪贴板增强工具
Tofloor
poster avatar
kookboy
deepin
10 hours ago
Author

Deepin 25系统剪贴板增强工具 v0.0.1

桌面图标:

剪贴板图标.png

剪贴板新界面.png


这是Deepin系统自带的(需快捷键调出win+V)...........

怪我笨才发现,哈哈哈~~~虽然工具搞重复了,那我的这个就作为一小实例吧~tail shamed

剪贴板调出.png

这个小工具手搓的很偶然哈,哈哈哈~ 我只是在测试CoPaw的控制浏览器功能,让它访问我随手打开的Deepin社区的一个帖子,测试它自动回复技能时,这家伙~给出帖子的回复内容竟然让我大吃一惊:想想,这确实是一个刚需啊~! 😂tail

于是这个小工具就这么诞生了~~~smirk

以下是与CoPaw小龙虾的对话记录 (希望对新手有所启发~)

导出时间:2026-04-07 19:54:33


👤 老板

访问这个帖子:https://bbs.deepin.org.cn/post/296883 ,你看下内容,我该回复什么内容呢?

🤖 CoPaw小龙虾

好的老板,我先读取浏览器控制技能,然后帮您访问这个帖子看看内容!


🤖 CoPaw小龙虾

好的,我现在使用 Firefox 来访问这个帖子!🦞


🤖 CoPaw小龙虾

帖子内容获取到了!🦞 这是 Deepin 社区官方发起的小工具需求征集活动,让我帮您分析一下:


📋 帖子概要

项目 内容
发帖人 一头牛(社区产品经理)
主题 收集大家关于 Deepin 小工具的建议
背景 论坛大佬们(buyike、克亮等)已做了字体管理、磁盘管理等实用工具
目的 征集日常办公场景痛点,官方将尝试做小工具解决

💡 我的建议回复内容

根据这个帖子要求的格式,我来帮您起草一个回复:

我遇到的问题:在日常办公中,经常需要在多个文档之间复制粘贴内容,但系统的剪贴板只能保存最近一次复制的内容,如果不小心复制了新的东西,之前的内容就丢失了,很不方便。

期望的功能:希望有一个增强版的剪贴板工具,可以:

  1. 自动记录多次复制的内容(至少保存最近 20 条)
  2. 支持快捷键呼出剪贴板历史列表
  3. 可以选择性粘贴之前的内容
  4. 最好能支持图片和文本混合记录

这样在做文字整理工作时,不用反复切换窗口复制粘贴,能大大提升效率!😊


老板,您觉得这个回复方向怎么样?或者您有其他想要反馈的需求吗?我可以帮您调整内容!😄


👤 老板

哈哈哈,不错!

🤖 CoPaw小龙虾

哈哈,太好了!😄🦞

那老板,这条回复需要我帮您发到论坛上吗?我可以直接在 Firefox 浏览器里帮您填入内容、提交回复!

或者您想自己手动发也完全可以~


👤 老板

不用去回复。对了,这个功能,我们可以自已开发吧?

🤖 CoPaw小龙虾

完全可以!🦞 这类小工具在 Deepin/Linux 上开发是完全可行的!

🎯 技术方案分析

技术栈 优点 适合场景
Python + Qt/GTK 轻量、原生界面、性能好 首选,推荐!
Electron 跨平台、前端技术栈 如果想用 JS/React
Shell + 桌面集成 极简、快速 极简版

💡 核心功能点

  1. 监控剪贴板变化 — 用 pyperclipxclip 监听
  2. 历史记录存储 — SQLite 或 JSON 文件持久化
  3. 快捷键呼出 — 全局快捷键绑定
  4. Tray 托盘图标 — 常驻后台,点击查看历史

⚡ 快速原型

用 Python 做个基础版其实很简单,核心代码也就 100 行左右


老板,您想不想试试?我可以帮您:

  1. 写一个 MVP 版本 — 先跑起来,验证思路
  2. 做成 Deepin 应用 — 打包成 .deb 安装包
  3. 后续迭代优化 — 加图片支持、云同步等

要不要开干?🔥


👤 老板

你把这个任务交给“开发者”去完成。

🤖 CoPaw小龙虾

好的老板!我来调用开发者角色来完成这个剪贴板增强工具的开发任务!🦞


🤖 CoPaw小龙虾

找到了开发者角色!现在我把任务转交给开发者 👨‍💻


🤖 CoPaw小龙虾

开发者agent可能正在处理中,让我检查一下开发者的workspace是否有新文件:


🤖 CoPaw小龙虾

让我用 session 续聊追问一下:


🤖 CoPaw小龙虾

开发者agent似乎没有响应内容。让我尝试用任务分发器的方式来分配任务:


🤖 CoPaw小龙虾

让我创建任务文件:


🤖 CoPaw小龙虾

任务文件已创建!现在让我再次调用开发者,并使用流式输出:


🤖 CoPaw小龙虾

老板,有个情况要汇报一下 👇


⚠️ 开发者 Agent 暂时不可用

调用开发者时遇到了配置错误:

Provider 'huoshan' not found

这说明开发者的 agent 配置里用了火山引擎的模型但还没配置好。


💡 解决方案

我可以先帮您自己搭建这个剪贴板工具的项目框架,MVP 版本代码写好放在 developer workspace,您后续可以继续完善。或者,等开发者的配置修复后再让他继续。

老板,您想怎么办?🤔

  1. 我现在就写 — 先把项目框架搭起来
  2. 等配置好再调用开发者 — 稍后再试

👤 老板

哦,配置有问题,我去修改下。

🤖 CoPaw小龙虾

好的老板!🦞

配置好了跟我说一声,我立刻再次调用开发者来完成剪贴板工具的开发任务!👍

您也可以顺便看看开发者的配置文件,确保模型 provider 那边没问题~


👤 老板

我已配置好了,你再叫他试试。

🤖 CoPaw小龙虾

好的老板!让我再次调用开发者!👨‍💻


🤖 CoPaw小龙虾

太好了!🎉 开发者已经在工作了!让我检查一下项目进展:


🤖 CoPaw小龙虾

项目已经开始搭建了!让我看看进度:


🤖 CoPaw小龙虾

太棒了!🎉 开发者已经完成了 MVP 版本的开发!让我给您汇报一下:


📦 项目已创建完成

文件 说明
README.md 完整项目文档
main.py 核心代码(18KB)
requirements.txt Python 依赖
start.sh 启动脚本

✅ MVP 功能已实现

功能 状态
记录最近 20 条复制内容
全局快捷键Ctrl+Shift+V
选择性粘贴(双击/回车)
文本和图片混合支持
搜索过滤
系统托盘图标
无边框窗口

📋 后续开发计划

  • v1.1 - 持久化存储(数据库)、搜索增强、固定常用项
  • v1.2 - 云同步、跨设备同步

🚀 如何运行

cd /home/kookboy/.copaw/workspaces/developer/clipboard-enhancer
pip install -r requirements.txt
python main.py

老板,要不要我帮您测试一下这个工具?或者还需要什么功能?🦞


👤 老板

是不是应该在虚拟环境中测试呢?还是直接用你给的命令测试?


🤖 CoPaw小龙虾

好问题!老板,建议用虚拟环境测试更稳妥 👍

原因​

  • 隔离依赖,不影响系统环境
  • 测试完不需要了直接删掉就行
  • 避免和其他项目冲突

我来帮您创建虚拟环境并安装依赖测试:......


🤖 CoPaw小龙虾

所有依赖都安装正确!✅


📊 测试结果

检查项 状态
Python 环境 ✅ 3.12.11
PyQt5 ✅ 正常
pyperclip ✅ 正常
pynput ✅ 正常
图标文件 ✅ 已创建

🚀 在 Deepin 桌面上运行

这个是 GUI 应用,在您的 Deepin 桌面上运行更合适。在终端执行:

cd /home/kookboy/.copaw/workspaces/developer/clipboard-enhancer

# 激活虚拟环境(每次运行前)
source venv/bin/activate

# 运行程序
python main.py

使用方式

  1. 程序启动后会在系统托盘显示图标 🖼️
  2. 正常复制内容(Ctrl+C)
  3. Ctrl+Shift+V 呼出历史记录
  4. 点击或回车即可粘贴

老板,您可以现在去 Deepin 桌面上测试一下,有问题随时告诉我!🦞


👤 老板

帮我创建个快速启动脚本start.sh,同时,桌面也创建个快捷方式。


🤖 CoPaw小龙虾

好的老板!🦞 我来帮您搞定!


🤖 CoPaw小龙虾

搞定!✅


🎉 已完成

1️⃣ 启动脚本 start.sh

# 一键启动(自动处理所有前置工作)
cd clipboard-enhancer
./start.sh

自动完成

  • 首次运行自动创建虚拟环境
  • 自动安装依赖
  • 自动创建图标

2️⃣ 桌面快捷方式

已在您的桌面创建 剪贴板增强工具.desktop 🖱️


📁 项目文件结构

clipboard-enhancer/
├── start.sh              ← 一键启动脚本 ✅
├── main.py               ← 主程序
├── clipboard-enhancer.desktop  ← 快捷方式源文件 ✅
├── assets/
│   └── icon.png          ← 应用图标 ✅
├── venv/                 ← 虚拟环境(首次运行自动创建)
└── requirements.txt

老板,现在您可以直接:

  • 双击桌面图标 启动
  • 或在终端运行 ./start.sh 启动

试试看效果如何?🦞


👤 老板

剪贴板调出的快捷键是什么?


🤖 CoPaw小龙虾

快捷键是:

Ctrl + Shift + V


就是同时按这三个键,剪贴板历史记录窗口就会弹出来~ 🪟

如果觉得这个组合不好记或冲突,可以在代码里改:


🤖 CoPaw小龙虾

找到了!在 main.py 第 32 行:

HOTKEY = '++v'  # 全局快捷键

老板想换成其他快捷键吗?比如:

  • Ctrl+Alt+V
  • Super+V (Win键+V)
  • F6

告诉我您想用的组合,我帮您改!🦞


👤 老板

用这两个试试:Ctrl+Alt+V Super+V (Win键+V)

🤖 CoPaw小龙虾

好的老板!我来帮您加上这两个快捷键 🦞

先看看快捷键监听部分的代码:


🤖 CoPaw小龙虾

明白了!pynput 支持同时监听多个快捷键。我来帮您修改:


🤖 CoPaw小龙虾

现在更新 README 中的说明:


🤖 CoPaw小龙虾

搞定!✅ 让我验证一下修改:


🤖 CoPaw小龙虾

完成!🎉


✅ 快捷键已更新

现在支持 两个快捷键

快捷键 说明
Ctrl + Alt + V 同时按这三个键
Super + V Win键 + V

按任意一个都能呼出剪贴板历史窗口~


重新启动程序即可生效!🦞


👤 老板

启动程序时,会有旧快捷键的提示,这个提示也要更新下。

🤖 CoPaw小龙虾

找到了!在启动通知里还写着旧快捷键~


🤖 CoPaw小龙虾

搞定!✅

已更新启动通知,现在显示:

"已启动!按 Ctrl+Alt+V 或 Win+V 呼出历史记录"

重新启动程序就能看到新提示了!🦞


Reply Favorite View the author
All Replies

No replies yet