Clippy 是一款专为 macOS 设计的工具,它能让你直接在终端复制文件,并将其粘贴到各种 GUI 应用程序中,避免了在 Finder 与终端之间频繁切换的麻烦。
brew install neilberkman/clippy/clippy
# 克隆并构建
git clone https://github.com/neilberkman/clippy.git
cd clippy
go build -o clippy ./cmd/clippy
sudo mv clippy /usr/local/bin/
# 或者使用 go install
go install github.com/neilberkman/clippy/cmd/clippy@latest
# 将文件作为引用复制(可粘贴到任何 GUI 应用程序)
clippy report.pdf # ⌘V 粘贴到 Slack 或邮件中 - 上传文件
clippy *.jpg # 一次复制多个文件
# 通过管道将数据作为文件复制
curl -sL https://picsum.photos/300 | clippy # 下载 → 以文件形式复制到剪贴板
# 复制最近的下载文件(立即操作)
clippy -r # 复制刚刚下载的文件
clippy -r 3 # 复制最近的 3 个下载文件
# 交互式选择最近的文件
clippy -i # 从最近的下载文件列表中选择
clippy -i 5m # 仅显示最近 5 分钟内的文件选择器
clippy document.pdf # 以文件引用形式复制(可粘贴到任何应用程序)
clippy notes.txt # 同样以文件引用形式复制
clippy -t notes.txt # 使用 -t 标志以复制文本内容
clippy *.jpg # 一次复制多个文件
# 立即复制(无 UI)
clippy -r # 复制最近下载的文件
clippy -r 3 # 复制最近的 3 个下载文件
clippy -r 5m # 复制最近 5 分钟内的所有下载文件
# 交互式选择器
clippy -i # 从最近的下载文件列表中选择
clippy -i 3 # 显示最近 3 个文件的选择器
clippy -i 5m # 仅显示最近 5 分钟内的文件选择器
# 复制并粘贴一步完成
clippy -r --paste # 复制最近的下载文件并粘贴到此处
clippy -i --paste # 选择文件,复制并粘贴到此处
curl -sL https://example.com/image.jpg | clippy
cat archive.tar.gz | clippy
clippy ~/Downloads/report.pdf --paste # 复制到剪贴板并粘贴到此处
clippy -r --paste # 复制最近的下载文件并粘贴到此处
clippy -i --paste # 选择文件,复制并粘贴到此处
clippy --clear # 清空剪贴板
echo -n | clippy # 同样可清空剪贴板
clippy -v file.txt # 显示操作结果
clippy --debug file.txt # 显示调试的技术细节
pbcopy 只能复制文件的 内容,但 GUI 应用程序需要的是文件的 引用。当你使用 pbcopy < image.png 时,无法将其粘贴到 Slack 或邮件中,因为这些应用程序期望的是文件,而不是原始字节。
Clippy 则通过检测你的需求并使用正确的剪贴板格式来弥补这一差距。
因为它就像一个贴心的剪贴板助手,能理解你的需求! 📎
当你在 Finder 中复制一个文件,然后在终端中按 ⌘V 时,你只能得到文件名作为文本。而 Pasty 可以将文件本身复制到你当前的目录中。
1. 在 Finder 中复制文件 → 在终端中粘贴实际文件
# 1. 在 Finder 中复制任何文件(⌘C)
# 2. 切换到终端并运行:
pasty
# 文件将被复制到你当前的目录(而不仅仅是文件名!)
2. 智能处理文本文件
# 在 Finder 中复制一个文本文件(⌘C),然后:
pasty # 将文件的文本内容输出到标准输出
pasty notes.txt # 将文件的文本内容保存到 notes.txt
# 通过 Homebrew 安装
brew install neilberkman/clippy/clippy
# 或者从源代码构建
go install github.com/neilberkman/clippy/cmd/clippy@latest
go install github.com/neilberkman/clippy/cmd/pasty@latest
Draggy 是一个菜单栏应用程序,它为你的剪贴板工作流程带来了可视化功能。当 clippy 负责从终端复制文件时,Draggy 提供了一个可视化界面,用于将文件拖放到应用程序中并查看最近的下载文件。
Draggy 是一个独立的可选工具,不会随 clippy 自动安装。
# 单独使用 Homebrew 安装(不包含在 clippy 中)
brew install --cask neilberkman/clippy/draggy
macOS 可能会显示安全警告,因为 Draggy 未经过代码签名。如果你看到 "Draggy 已损坏,无法打开" 的提示:
xattr -dr com.apple.quarantine /Applications/Draggy.app。# 在终端中复制文件:
clippy ~/Downloads/*.pdf # 使用 clippy 复制 PDF 文件
curl -sL image.jpg | clippy # 通过管道将下载内容复制到剪贴板
clippy -r # 复制最近的下载文件
# 使用 Draggy GUI:
# 1. 点击菜单栏中的 Draggy 图标
# 2. 将文件拖到浏览器上传字段、Slack 等应用程序中
# 3. 点击时钟图标切换到最近下载视图
# 4. 按住 ⌥ Option 键预览文件
# 5. 双击打开文件
将截图上传到 GitHub:
# 截取屏幕截图(macOS 会将其保存到桌面)
# 在终端中:clippy ~/Desktop/Screenshot*.png
# 在 Draggy 中:将文件拖到 GitHub 评论框中
快速共享文件:
# 在终端中:clippy ~/Downloads/report.pdf
# 在 Draggy 中:显示缩略图,将文件拖到 Slack 或邮件中
最近下载工作流:
# 在浏览器中下载文件
# 点击 Draggy → 点击时钟图标 → 查看下载的文件
# 将文件拖到需要的地方或双击打开
Draggy 有意不做成剪贴板管理器,没有历史记录、搜索功能和数据库。它是终端剪贴板工作流程与 GUI 应用程序之间的可视化桥梁,适合那些偶尔需要查看剪贴板内容或拖放文件,然后继续工作的终端用户。
Clippy 包含一个内置的 MCP(模型上下文协议)服务器,它允许 AI 助手将生成的内容直接复制到你的剪贴板。
你可以让 Claude 生成任何文本 - 代码、邮件、文档等,并立即将其粘贴到任何地方:
无需再从聊天界面手动选择和复制内容。
将以下内容添加到你的 Claude Desktop 配置文件(~/Library/Application Support/Claude/claude_desktop_config.json)中:
{
"mcpServers": {
"clippy": {
"command": "clippy",
"args": ["mcp-server"]
}
}
}
Claude 可以生成内容并直接将其放到你的剪贴板上,随时可粘贴到你需要的地方。
Clippy 可以作为 Go 库在你自己的应用程序中使用:
go get github.com/neilberkman/clippy
import "github.com/neilberkman/clippy"
// 智能复制 - 自动检测文本文件和二进制文件
err := clippy.Copy("document.pdf")
// 复制多个文件作为引用
err := clippy.CopyMultiple([]string{"image1.jpg", "image2.png"})
// 复制文本内容
err := clippy.CopyText("Hello, World!")
// 从读取器复制数据(处理文本/二进制检测)
reader := strings.NewReader("Some content")
err := clippy.CopyData(reader)
// 从标准输入复制
err := clippy.CopyData(os.Stdin)
// 获取剪贴板内容
text, ok := clippy.GetText()
files := clippy.GetFiles()
本项目采用 MIT 许可证。