V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
gefangshuai
V2EX  ›  分享创造

痛定思痛,经过很长一段时间的考虑,决定将 PasteMemo — macOS 智能剪贴板管理器,今天正式开源了!

  •  
  •   gefangshuai · 1 天前 · 902 次点击

    经过一段时间的内测和很长时间的思考,今天决定将 PasteMemo 完全开源。

    相比走收费路线,开源能让更多人用上、也能让更多人参与进来,对这个项目的长远发展更好。从 v1.0.0 开始,所有功能完全免费,源代码基于 GPL-3.0 协议开放。

    这是什么

    PasteMemo 是一款 macOS 原生剪贴板管理器,SwiftUI + SwiftData 构建,驻留菜单栏,不占 Dock 。

    一句话概括:复制一次,随时访问,即刻粘贴。

    主窗口

    核心功能

    智能识别

    自动检测剪贴板内容类型 — 链接自动抓取图标和标题、代码语法高亮、颜色显示色块、电话号码提供拨打/短信按钮。不只是存文本,每条记录都有智能预览。

    全局快捷粘贴

    ⌘⇧V(可自定义)在任何应用中唤起快捷面板,搜索、选择、粘贴,全程键盘操作。⌘1 ~ ⌘9 直接粘贴对应条目。

    快捷粘贴

    快捷操作(⌘K )

    命令面板式操作:粘贴、纯文本粘贴、复制、置顶、编辑、删除,还有格式转换(转大写、URL 编码、清理追踪参数等),不用离开键盘。

    快捷操作

    接力模式

    复制多条内容,按顺序逐条粘贴。填表、录数据、批量操作的利器。支持文本拆分,一段文本按逗号/换行拆成队列。

    接力模式

    剪贴板自动化

    基于「条件 + 动作」的规则引擎。比如:复制链接时自动清理 utm 追踪参数,复制邮箱时自动转小写。内置常用规则,也可以自定义。

    其他亮点

    • 复制即文件 — 文本粘贴为 .txt,截图粘贴为图片文件,直接拖入 Finder
    • AI 终端就绪 — 无缝粘贴图片和文件到 AI 终端
    • 敏感内容检测 — 自动识别密码等敏感数据,界面遮罩显示
    • 忽略应用 — 密码管理器等应用可排除在监控之外
    • 备份恢复 — 支持本机备份和 WebDAV (坚果云、NextCloud 等)
    • 11 种语言 — 中英日韩德法西意俄印尼 + 繁体中文

    安装

    Homebrew (推荐)

    brew tap lifedever/tap
    brew install --cask pastememo
    

    直接下载

    GitHub Releases 下载 .dmg

    • PasteMemo-1.0.0-arm64.dmg — Apple Silicon (M1/M2/M3/M4)
    • PasteMemo-1.0.0-x86_64.dmg — Intel Mac

    系统要求:macOS 14 (Sonoma) 或更高版本。

    为什么开源

    做这个项目的过程中一直在纠结要不要上架 App Store 走付费。后来想了很久,觉得对于一个日活不到 100 的小工具,与其花精力在商业化上,不如开源出来,让更多人用上,也欢迎感兴趣的开发者一起参与。

    链接

    如果觉得有用,欢迎 Star 或者请我喝杯咖啡

    24 条回复    2026-04-03 00:39:19 +08:00
    Yangpengxu
        1
    Yangpengxu  
       1 天前
    优秀的作品,学习了,感谢老哥的开源项目
    stinkytofux
        2
    stinkytofux  
       1 天前
    你要把别人卷死了
    hugodotlau
        3
    hugodotlau  
       1 天前
    用了 raycast 后类似小工具很难有生存空间了
    ares001
        4
    ares001  
    PRO
       1 天前
    多设备同步是刚需
    gefangshuai
        5
    gefangshuai  
    OP
       1 天前
    @ares001 #4 用爱发电付不起 688 ,这功能基本无望了
    gefangshuai
        6
    gefangshuai  
    OP
       1 天前
    @hugodotlau #3 是的
    needpp
        7
    needpp  
       1 天前
    @hugodotlau 为何呢,能展开说说呢
    slowman
        8
    slowman  
       1 天前
    哥们功德无量
    fromzero
        9
    fromzero  
       1 天前
    感谢分享,我也写了一个,我的痛点是跨平台同步。
    Zenyet
        10
    Zenyet  
       1 天前
    还是对 paste 这种交互比较喜欢,搞得我也想 vibe 一个了😂
    beiguo
        11
    beiguo  
       1 天前
    优秀
    yukminnie
        12
    yukminnie  
       1 天前
    开源原生项目越来越多了,比心🫰
    greatbody
        13
    greatbody  
       1 天前
    @hugodotlau 也不一定啊,这个接力模式看起来还挺有用的。
    rechardwong0522
        14
    rechardwong0522  
       11 小时 6 分钟前
    感谢老哥开源。对于 Swift 初学者来说,PasteMemo 的架构和难度适合用来学习吗?
    hugodotlau
        15
    hugodotlau  
       6 小时 36 分钟前
    @greatbody raycast 你实际用试试,基本也差不多类似,至于接力拆分调节这种太小众需求了
    slowman
        16
    slowman  
       5 小时 28 分钟前
    搜索是不是没用,不管输入什么都 0 结果
    aoizz
        17
    aoizz  
       5 小时 4 分钟前 via iPhone
    正在用,很好用,大佬能支持一下预览图片链接吗?复制的图片链接,无法预览
    gefangshuai
        18
    gefangshuai  
    OP
       4 小时 33 分钟前
    @aoizz #17 设置-偏好,打开网页预览
    gefangshuai
        19
    gefangshuai  
    OP
       4 小时 32 分钟前
    @slowman #16 不应该啊,github 提个 issue ,详细说一下复现过程,我查查
    slowman
        20
    slowman  
       3 小时 27 分钟前
    @gefangshuai 更新到 1.1.0 搜索没有问题了
    gefangshuai
        21
    gefangshuai  
    OP
       3 小时 13 分钟前
    @slowman #20 好的
    slowman
        22
    slowman  
       3 小时 5 分钟前
    @gefangshuai 给你发了支付宝口令红包,用工具 https://github.com/FiloSottile/age 和你的 github 私钥解密, 口令明文是 KB 开头

    -----BEGIN AGE ENCRYPTED FILE-----
    YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1yc2EgUUF4cXF3CkNVSnhXdnZj
    NWdpZjQ4QkExMCtzNGUxeTFlWERUS2t5bFR0NlluMUhuY20xQVE3Q2V6c1ZsUnBG
    US94ODAwRmwKeTE3RUc1MklLQ0dobGFPalVUc3pBUEtLT09QaE1Lb0YvU1p3d3R5
    bVVmK1FjOHZEQkE4OTBBZlFQdnBLOGNPZwpTOGx2THZMa255K3ZXemlnWkN5MW5V
    em1PRkJDSXdSRDZqYkNSd0xIdUU5dGt0QjY3Z0wvaEMzYjBZOEt6UGV3CjJDZnBk
    eHd0c0NtNmt5OG8xSkl4bDU3cWNpSGFhWU9hWFI3dXc3Z09ocnJwbE1RZGczdEkx
    SUc4bFJZZGM1S2EKS2w1eEtJMHF3bHJyQzhLTzIva3EwMnpwZlBHZUhVY2FWbjUv
    ZmZNVTdOZGpwa2xudlVEZTlrLzZTVkdwanZJNQowSnBFTVM3Q01uN0RaZkpuNmtt
    RDgzdHhCYTIyUUo5cGZySElxd3VzUTA2TW9NTFYrcjRHUlp5SmlsMXd5WUVTCm90
    MTRBL05NOURDM0wzLzJZRGh6YXpzaUxYMU9OeFN2aEc4b3h3TjVQbkluOXlIcUdN
    RFUyMmY0YWsrSTVOcEYKZWpPS0VGY0hJbjF2MFEzd29BL0wzdHo3cW5BRmNGN2hy
    RzJmWUVQb0s5eWFrZDhDRzdWWFdLREt6NGxhbmk0YQowR3lhdkRubXR1WDdFaXZT
    ZDd1STZ3NFhERHZSYllLVkt2Qi9aZzhvWVF3NU1QRThkTzRmWTh1YldmMGpWWk1H
    CjlmNnpqRUZGYnBNLzM3S0VzTndiZmxySisxWE9IRVZndXVJSzZRcWZuUG5nY3dw
    Mmx3OGk0Y3pNQmlpZW56Z2wKallUaXdMK2NUSG90ekdycUdEbW1QOUxHRlJGYytZ
    WkFrQzk5enZXOGJPdwotLS0gUEZldDl6ZG14UnlzQ2tzSzhrZ0VON3M5ZjlQZUtt
    eFJpaWxFUW5nMTlXZwqfTunAoKDFUiicg/Ak1ECmEHL8hD/thkFWrq1cQqNkIGu5
    qaCEECQ5SCM39Ns=
    -----END AGE ENCRYPTED FILE-----
    gefangshuai
        23
    gefangshuai  
    OP
       2 小时 29 分钟前
    @slowman #22 解密失败。。。。
    $ age -d -i ~/.ssh/id_rsa /tmp/msg.age
    age: error: failed to decrypt file key: crypto/rsa: decryption error
    age: report unexpected or unhelpful errors at https://filippo.io/age/report
    slowman
        24
    slowman  
       1 小时 54 分钟前
    @gefangshuai 看到你二维码了,直接支付宝扫了
    age 这个我来回用自己的 key 试了没问题,搞不清楚为什么会报错,看来这一套没人用还是有原因的
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1051 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:34 · PVG 02:34 · LAX 11:34 · JFK 14:34
    ♥ Do have faith in what you're doing.