Show HN: ClipCapsule - 一款基于 Go 和 Wails 构建的 Linux 剪贴板管理器
**ClipCapsule** 是一款基于 **Go** 和 **Wails** 构建的 Linux 剪贴板管理器,专注于键盘操作。它允许用户通过快捷键管理和切换剪贴板历史,无需鼠标交互。主要功能包括键盘优先的工作流、剪贴板历史记录和动态重排序。目前处于开发阶段,需要提升权限才能运行,且 GUI 必须保持打开状态。项目使用本地存储,不涉及云同步。安装需要克隆仓库、安装 **Wails** 并构建。未来计划包括守护进程模式、托盘图标、可配置快捷键等。欢迎贡献。
ClipCapsule 是一款极简的 Linux 剪贴板管理器,使用 Go 和 WailsJS 构建。它让你仅使用键盘快捷键就能管理和切换剪贴板条目,无需鼠标或 GUI,从而大幅提升你的生产力。
⚠️ 这是一个正在开发中的项目。目前,GUI 必须保持打开状态快捷键才能生效,但我们正在积极开发一个后台守护进程,以便应用程序无需启动界面即可无缝运行。
✨ 功能特性
- 🚀 键盘优先的工作流: 使用
CTRL + SHIFT + 1~9
立即切换剪贴板项目。 - 📜 剪贴板历史记录: 自动将你最近复制的内容保存在嵌入式数据库中。
- 🔄 动态重排序: 使用快捷键选择项目会将其移动到堆栈顶部。
- 🔐 本地优先: 你的数据保留在你的机器上,没有云同步或遥测。
🖥️ 使用示例
当你复制项目时,数据库会像这样存储它们:
文本 | 位置 ---|--- item1text | 1 item2text | 2 item3text | 3 item4text | 4 item5text | 5 ... | ...
pos = 1
处的项目是活动的剪贴板项目(在CTRL + V
时粘贴的内容)。- 按下
CTRL + SHIFT + 3
:- 将
item3text
移动到位置 1。 - 相应地对其他内容进行重新排序。
- 将
⚙️ 安装
1. 克隆仓库
git clone https://github.com/Victor-Evogor/clipcapsule.git
cd clipcapsule
2. 安装 Wails
按照 Wails 文档 中的说明进行操作。
3. 构建应用程序
你需要使用提升的权限进行构建,以允许应用程序监听全局按键事件:
sudo wails build
🛑 或者,通过添加适当的 udev 规则或组权限,授予你的用户访问键盘输入设备路径(例如
/dev/input/eventX
)的权限。
示例(用于测试):
sudo chmod a+r /dev/input/eventX
(将 /dev/input/eventX
替换为你实际的键盘事件设备。)
⚠️ 权限的正确修复程序将很快添加。目前,需要提升的权限或手动访问设置。
⌨️ 键盘快捷键
快捷键 | 动作
---|---
CTRL + V
| 粘贴当前最顶部的剪贴板条目
CTRL + SHIFT + 1-9
| 将所选项目移动到堆栈顶部
🛠️ 开发
- 前端: Wails + JS/TS (参见
runtime/
) - 后端: Go (参见
go/main/
) - 剪贴板访问和键盘拦截由原生代码处理。
🧱 技术栈
🚧 路线图
- 核心剪贴板逻辑
- 键盘快捷键映射
- 守护进程模式(在没有 GUI 的情况下在后台运行)
- 托盘图标和首选项
- 可配置的快捷键
- 剪贴板预览 UI
- 排除敏感条目 (例如, 密码)
🐞 已知问题
- 你需要以
sudo
身份运行应用程序或手动允许访问键盘输入设备。 - 还没有守护进程 - 必须打开 GUI 才能使快捷方式起作用。
🙌 贡献
欢迎提交 PR 和 issue!如果你有想法或发现错误,请打开一个 issue 或提交一个补丁。
📄 许可证
MIT 许可证 — 详细信息请参见 LICENSE
文件。