macOS 14+ · 原生 SwiftUIv1.0.1

复制过的,
都在这里。

iClip 是常驻菜单栏的剪贴板历史工具。按下 ⌃⇧V,文字、图片和文件就在光标旁浮出来——搜索、置顶,回车即粘贴回原来的应用。

  • 开源免费
  • 无需登录
  • 剪贴板不出本机

面板预览 · 380 × 510

0
网络请求
历史只写本地
3
内容类型
文字、图片、文件
1000
默认历史条数
0 表示不限
25MB
单张图片上限
超出则跳过

NATIVE BY DEFAULT

原生,是一种手感。

面板、列表、开关、分段控件,能交给系统的都交给系统。iClip 只留下剪贴板这一件事。

文字、图片、文件,都接得住

重复复制同一内容不会堆成山,只会刷新时间。文件路径原样保留,粘贴回去仍是文件。

键盘比鼠标快

搜索框自动聚焦,输入即筛。手不用离开键盘。

置顶的,永远在最上面

临时历史按条数滚动清理,置顶内容不参与淘汰。

默认就不联网

历史只写入本机的 Application Support。密码管理器标记为机密的内容,直接跳过。

原生,所以轻

SwiftUI + AppKit,没有 Electron 外壳,也没有额外常驻进程。

长在 macOS 的皮肤里

macOS 26 上使用 Liquid Glass,旧系统回退到材质背景。

菜单栏里的常驻客

默认显示图标;隐藏后快捷键依然有效,不占 Dock。

LIVE DEMO

按一下,就知道顺不顺手。

下面是用网页复刻的面板,交互逻辑与 iClip 一致。点按条目、置顶,或用 ↑↓ 和 ↵ 完成一次粘贴。

交互演示点按面板,然后敲键盘
备忘录 模拟

粘贴目标

选择面板里的条目,或按 ↵,粘贴会出现在这里。

等待第一次粘贴

SWIFTUI

把它拆开,
还是 SwiftUI。

用网页模拟 SwiftUI 的分组表单、开关、分段选择器与 Stepper。试试左侧控件;右侧代码展示对应的写法,不是应用源码摘录。

iClip 设置

通用

打开剪贴板
组合键必须包含 Control、Option 或 Command。
开机启动
显示菜单栏图标
隐藏图标后快捷键仍有效。

外观

外观
选择会即时生效,并保存到本地。

历史与隐私

保留条目
1000
0 表示不限制;置顶内容不受影响。

权限

辅助功能已授权
iClip · 1.0.1演示模式

交互演示 · 外观选项仅影响本页,不会修改 macOS 设置

SettingsView.swift SwiftUI
struct SettingsView: View {    @AppStorage("showMenuBarIcon") var showMenuBarIcon = true    @State private var launchAtLogin = false    @State private var limit = 1000    @State private var appearance = Appearance.system     var body: some View {        Form {            Section("通用") {                LabeledContent("打开剪贴板") {                    Button(shortcut) { recordShortcut() }                }                Toggle("开机启动", isOn: $launchAtLogin)                Toggle("显示菜单栏图标", isOn: $showMenuBarIcon)            }            Section("外观") {                Picker("外观", selection: $appearance) {                    ForEach(Appearance.allCases) { Text($0.title).tag($0) }                }                .pickerStyle(.segmented)            }            Section("历史与隐私") {                Stepper("保留 \(limit) 条", value: $limit,                        in: 0...5000, step: 100)                Button("清除未置顶历史…", role: .destructive) {                    confirm = true                }            }        }        .formStyle(.grouped)    }}
SwiftUI 写法示意 · 可滚动查看Swift 6

真实截图 点击放大

PRIVACY

剪贴板很私密。
所以我们不碰网络。

iClip 没有服务器,也没有账号。复制的内容只经过本机的 pasteboard 和一个 JSON 文件,不上传、不同步、不埋点。

~/Library/Application Support/iClip/history.json
看看它如何读取剪贴板
  • 本地优先

    历史写入用户目录下的 history.json,不经过任何远端服务。

  • 跳过机密内容

    识别 ConcealedType 等标记,密码管理器复制的内容不记录。

  • 有边界地记录

    文字上限 1 MB,图片上限 25 MB;超出的内容直接忽略,不拖慢面板。

  • 随时可以清空

    清除未置顶历史只需一次确认;置顶内容由你手动管理。

GET STARTED

三步,住进菜单栏。

项目完全开源,构建脚本只依赖 Xcode 与 Swift。生成的 iClip.app 可以直接拖进「应用程序」。

  1. 01

    准备环境

    macOS 14 或以上,Xcode 26+(Liquid Glass SDK)与 Swift 6。旧版 Xcode 大多也能构建,只是没有 Liquid Glass 外观。

  2. 02

    运行构建脚本

    在仓库根目录执行下面的命令,产物会出现在 dist/iClip.app。

  3. 03

    拖进「应用程序」

    首次打开后按提示授予辅助功能权限,自动粘贴才会生效。

bash — iClip
$ bash scripts/build-app.sh
# 构建完成后
✓ dist/iClip.app
macOS 14+Xcode 26+Swift 6arm64 / x86_64

关于自动粘贴:它需要辅助功能权限。未授权时,选中条目只会复制,再按 ⌘V 也能粘贴。本地构建未签名,首次打开请在 Finder 中右键 → 打开。

设置窗口

清除未置顶历史?

此操作不可撤销。演示模式只会清除下方的演示数据,不会触碰你的真实剪贴板。置顶内容会保留。