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

折腾许久, 自己用 Go 写的 macOS App 上架了,对标 Ditto 的全能剪贴板,海量存储+搜索+上锁+分组+编辑+局域网同步(OnlyPaste)

  •  2
     
  •   bronyakaka · 6 小时 34 分钟前 · 1688 次点击

    作为一个 macOS 和 Windows 双持的野生程序员,一直有个痛点:在 Windows 上有 Ditto 这种神器,而在 macOS 上,虽然剪贴板工具不少,但总感觉差点意思。要么是功能太简单,存不了几条记录(我想存几十万条那种,当归档记事本用了);要么是没法搜索/功能太少;要么就是缺少“局域网同步”这种功能(不喜欢 icloud 同步)。

    既然找不到完美的,那就自己动手造一个吧。

    onlyPaste

    这是我第一次尝试用 Go 开发 macOS 应用。不得不说,Go 还是很省内存,我的 app 常驻后台也就使用 40MB 左右的内存。打出来的包整体在 10MB 左右,个人觉得也没比原生应用差太多。

    使用倒排索引,即使存了几万条剪贴板记录,搜索起来也是秒开(不过至少要搜 3 个字符)。

    取名叫 OnlyPaste,最初只是想做一个纯粹的粘贴工具,但写着写着就收不住了,把我想用的功能全加上了:

    • 数十万级别的存储
    • 局域网同步:这个是我最刚需的功能。在同一局域网下的两台电脑,复制的内容可以直接同步。不用再通过微信文件传输助手倒腾了,数据只在局域网传输。
    • 隐私上锁:有些敏感的剪贴板内容(比如密码、Key ),不希望被别人看到。支持单独上锁,还能加密存储。
    • 分组与标签:不再是一锅粥。支持按来源应用分组,也可以给重要的记录打上标签/收藏。
    • 直接编辑:复制的内容有一点点小瑕疵不用粘贴出来再改,直接在历史记录里编辑好,再次粘贴就是好的。
    • 清理:支持按某些策略清理历史不要的剪贴板数据,我有点强迫症,需要这个。
    • 低内存占用:后台 40mb 内存使用
    • 支持敏感词过滤
    • 支持最大字符数排除
    • 支持排除指定应用的复制项

    等等

    开发过程中也踩了不少坑,特别是 macOS 的沙盒机制和 CGO 的交互,头发都掉了一把( macos 上架对权限要求的太严格了,主要是辅助权限那块)。不过看到成品运行在自己的菜单栏里,还是比较有成就感的。

    为啥不用 swift 写?实在是不想再学一个语言,我觉得 go 配合 ai 肯定能胜任,实在不行就写 cgo 调 mac api 嘛。。(事实也的确如此,核心功能、内购基本都是通过 cgo 调用来实现的,还比较复杂)

    目前 App 已经基本稳定了,基础功能免费,为了回血搞了个 Pro 版(主要是局域网和显示数量,其他功能都共有),定价也比较便宜。免费版对于日常使用也够了。

    大家感兴趣的话可以去下载试试,也欢迎各位大佬提提意见,轻喷哈!

    app 下载地址:

    https://apps.apple.com/us/app/onlypaste/id6758364019

    也可以直接搜 OnlyPaste 。下面放免费码,希望各位大佬体验下,给出意见,感激不尽。

    关于技术栈补充一下: 后端用了 Wails v3 (Go),前端是 Vue3 + Naive UI 。为了搞定 macOS 的原生剪贴板监听,还专门写了不少 CGO 代码去调 Cocoa 的 API ,还有内购代码也全部是纯 cgo 写的,有点折磨人了……

    • 备案:国内要做 app 备案,需要有服务器和域名……就和网站也要备案一样
    • 审核:appstore 审核都是人工的,审核员会实际去装,去使用你的 app,有问题会截图发给你(每次都是凌晨 2 点到 5 点发我……)

    送内购免费优惠码,人多再接着发,祝大家新年快乐,事事顺心~

    7T6L6KPMY6EP
    PPT77L7F4H6H
    9A6RXFXPEKLF
    WKRKKKLFRAFN
    KK3RWA7WLLJL
    WANLN9JYT4W9
    73X9NJJXP7XA
    XRFHYNFKRJKP
    NPMTJ44AWKWJ
    MLWXX36HR4TM
    4YTPY9PNKH3P
    9PP4MM4PMEYX
    6TP9FK9MJRAL
    MFPXYAX3476Y
    MEL7JNFP7W7A
    3JYTRMWFNWWM
    JFFHWAYR36AK
    WJ4AKXP44RFK
    MRRF497HMXXR
    6HNF6FKTHY7M
    
    第 1 条附言  ·  4 小时 43 分钟前
    • 谢谢大家的支持,剩下能放的码全部给大家(mac每半年最多只能放100个码);
    • 使用的话,在app store左下角账户点开,点击兑换充值卡即可, 进app里为pro
    • 有bug、建议都在app store评论区发给我,春节不休息发版本~
    7F6FYLKPAH4F,PTX3MTM9L4WE,N34L7MJAPWN3,XRXR7HWLW7WN,
    EHJ9F7MRRK7M,WX96NPF9EH3K,NMR4TNFY6YPT,R3FMNXJRTHNF,
    3PMP4XPWHYJR,KTHYYYLMMMTH,W3EW9F9HE9PH,W4RWM9HAA67T,
    4FA7XLL3ME7H,THW7LNWMM9XY,TY43AKJAEEFR,4AAN4HAEPAA9,
    AEL4FTT3E66F,L4WMTRHNHNJA,JKRA7MT3964W,NJK9MTW9E347,
    376LKRTWHAFE,EREPFRJFKKT9,KYPPH3TY44LH,K4WJ3TJ937L9,
    4N43LXAJPK4K,NJF6W97LJAR6,97JHJJ4MPXM3,NTYWWRX4JHML,
    K7NE33PJNPYW,AE4EKP3PNP43,KM6K9YWMWMF9,TFR9LR6R3A3T,
    NEK3MPRXYWHK,3EX3EA3TY4P9,H7YLERE4F6EX,3LFALPK3HTXN,
    ATY3FWE9XM9K,4X4EEYME3F9R,MM6AX7JPRFFM,MYA3RRW4PKE7,
    MMRWKK76XXFX,JPFWKY6K7JRE,MYEHP49JKKTK,AHMWLXN4RHKY,
    F4A4T46WFP4A,KKWLNAY9ANXW,APMXF7MKFY4M,79KJEWLK3MTA,
    HJ644EMP6X4T,96WPXWXY3P46,4R4LLNFH7Y97,KXYNTP3MKELM,
    KERWK3EYHMX6,MKATXN4PLATX,PJTET3FXNP3L,LX4HERFL7KNR,
    947KRRP3WAKF,JN69FL6TW4XE,N6PRF6FAP7LL,FRJEYLXLATLF,
    E3LJ7ARK4JX3,7RT93MEYY6YP,7J6P6EKTHK4L,WWXRF393TXAM,
    64X79RYR6HEH,TN6HAR3E9PLJ,7AMT4JKL9KFP,3KRYTNL3X9L9,
    MN3KFP463YRA,JAHMLAJANREN,7XEAEHF6JN74,E77APPMEET6L,
    77KPJEJPRXNL,RPNK3HXAY4ET,4R3LJ97RXH33,6LXYJR4J6LK4,
    XLFEJRK9YTA4,9XYT4YWL9A3M,X6XREA6MAMJM
    
    第 2 条附言  ·  4 小时 5 分钟前
    • 补充一个技巧:到 mac设置——隐私与安全——辅助功能给 app 开启辅助功能权限后,这样点击后会自动触发内容粘贴;如果未开启,会写入系统剪贴板,需要自己粘贴; 当然如果比较习惯/喜欢自己粘贴的话,就不必开辅助功能权限~

    • 关于pro定价,主要是为了每年700元上架费回血,pro国内定价只需要12元,一杯奶茶钱(注意国外定价是5美金比较贵,建议在国区购买),个人觉得不算非常贵,我这边能放的兑换码也全部放出来了;app我也一直自己在用,所以有bug、需求欢迎大家提出来

    • 关于golang/wails在macos上的开发技术,也欢迎大家一起沟通,这边还是积攒了不少经验的,之前开发的开源kafka-king也有1K多star,不少v站朋友用过

    祝大家新年发大财~

    86 条回复    2026-02-12 19:44:44 +08:00
    buried
        1
    buried  
       6 小时 29 分钟前   ❤️ 1
    6TP9FK9MJRAL 已用,谢谢楼主,新年快乐
    bronyakaka
        2
    bronyakaka  
    OP
       6 小时 15 分钟前
    补充下:mac 设置——隐私与安全——辅助功能给 app 开启后,支持点击后触发自动粘贴;未开启时,会写入系统剪贴板,需要自己粘贴
    w1zard
        3
    w1zard  
       6 小时 15 分钟前
    6HNF6FKTHY7M 已用,谢谢楼主,新年快乐
    w1zard
        4
    w1zard  
       6 小时 15 分钟前   ❤️ 1
    6HNF6FKTHY7M 已用 1 ,谢谢楼主,新年快乐
    bronyakaka
        5
    bronyakaka  
    OP
       6 小时 15 分钟前
    @buried 好的,用的愉快,有 bug 可以 store 里反馈
    HuaiHan
        6
    HuaiHan  
       6 小时 8 分钟前
    WJ4AKXP44RFK
    HuaiHan
        7
    HuaiHan  
       6 小时 8 分钟前   ❤️ 1
    WJ4AKXP44RFK 已用,谢谢楼主,新年快乐
    Rollup
        8
    Rollup  
       6 小时 3 分钟前
    JFFHWAYR36AK 已用
    sun522198558
        9
    sun522198558  
       5 小时 58 分钟前
    MEL7JNFP7W7A 已用
    FakerLeung
        10
    FakerLeung  
       5 小时 45 分钟前
    4YTPY9PNKH3P 已用,谢谢楼主
    bbm
        11
    bbm  
       5 小时 31 分钟前
    MRRF497HMXXR 已用 谢谢楼主,新年快乐
    CoderChan
        12
    CoderChan  
       5 小时 21 分钟前
    a3lzb25nZWVrQGdtYWlsLmNvbQ==
    很实用求个码
    bronyakaka
        13
    bronyakaka  
    OP
       5 小时 15 分钟前
    @CoderChan 我发的还剩很多吧
    czhh
        14
    czhh  
       5 小时 11 分钟前
    求一码 都被用了 MTgwMjQ2NDJAcXEuY29t
    Zeaxion
        15
    Zeaxion  
       5 小时 11 分钟前
    没有找到 优惠码在哪使用啊,没地方填呢,购买就直接付款 5 刀了
    a1791661482
        16
    a1791661482  
       5 小时 4 分钟前
    楼主厉害了。虽然码都用光了
    a1791661482
        17
    a1791661482  
       5 小时 3 分钟前
    再来几个吧
    rbq
        18
    rbq  
       5 小时 1 分钟前 via Android
    没了,我也求一个 YTY0MDg1ODc1NDBAZ21haWwuY29t
    shanghaojia
        19
    shanghaojia  
       4 小时 59 分钟前
    没了,再来点吧
    jiames1969
        20
    jiames1969  
       4 小时 58 分钟前
    弱弱的问下 为什么用 Wails v3 (Go) 而不是 tauri ?
    MindMindMax
        21
    MindMindMax  
       4 小时 55 分钟前
    不做 ios ,只是 macOS 程序也需要备案?
    bronyakaka
        22
    bronyakaka  
    OP
       4 小时 43 分钟前
    @a1791661482 #16 补了 80 个~
    IamJ
        23
    IamJ  
       4 小时 42 分钟前
    谢谢楼主,X6XREA6MAMJM 已用
    bsmh
        24
    bsmh  
       4 小时 39 分钟前
    6LXYJR4J6LK4 ,已使用,谢谢楼主,新年快乐马到成功
    rbq
        25
    rbq  
       4 小时 39 分钟前 via Android
    97JHJJ4MPXM3 已用,谢谢
    bao626
        26
    bao626  
       4 小时 39 分钟前
    7XEAEHF6JN74 谢谢大佬
    Nanosk
        27
    Nanosk  
       4 小时 38 分钟前
    7J6P6EKTHK4L 已用 谢谢大佬
    bronyakaka
        28
    bronyakaka  
    OP
       4 小时 38 分钟前
    @jiames1969 我会 go ,但是不会 rust~学 rust 成本可能比 swift 还高;不过用 go 的代价就是涉及底层的部分都要自己写 cgo 调用了
    bronyakaka
        29
    bronyakaka  
    OP
       4 小时 38 分钟前
    @shanghaojia 补了 80 个~
    YIsion
        30
    YIsion  
       4 小时 38 分钟前
    4X4EEYME3F9R 已用,谢谢楼主
    bronyakaka
        31
    bronyakaka  
    OP
       4 小时 36 分钟前
    @MindMindMax 我上架的时候,没选 ios ,但是也让我填 app 备案号,不确定是不是强制的~问 ai 说不强制
    endoffight
        32
    endoffight  
       4 小时 36 分钟前   ❤️ 1
    947KRRP3WAKF 已用,感谢楼主,新年快乐!
    bronyakaka
        33
    bronyakaka  
    OP
       4 小时 34 分钟前
    @Zeaxion 试试能不能退款,能退先退了,我这边也看看;另外给老外的定价比较贵是 5 刀,国内 pro 只卖 12 ,能走国区尽量国区吧~
    bronyakaka
        34
    bronyakaka  
    OP
       4 小时 33 分钟前
    @Zeaxion 在 app store 进去后左下角账号点开,右上角点兑换充值卡这里兑换码
    bronyakaka
        35
    bronyakaka  
    OP
       4 小时 33 分钟前
    @rbq #18 补了 80 个~
    bronyakaka
        36
    bronyakaka  
    OP
       4 小时 32 分钟前
    @a1791661482 #17 补了 80 个~新年快乐
    bronyakaka
        37
    bronyakaka  
    OP
       4 小时 32 分钟前
    @czhh 补了 80 个~新年快乐
    vpsvps
        38
    vpsvps  
       4 小时 30 分钟前
    谢谢分享
    sankemao
        39
    sankemao  
       4 小时 28 分钟前
    NTYWWRX4JHML 已用,感谢
    bronyakaka
        40
    bronyakaka  
    OP
       4 小时 25 分钟前
    @Zeaxion 搜了下资料,可以访问苹果官方退款页面:reportaproblem.apple.com 在这里操作,开发者无权审批,只能苹果审核
    looo
        41
    looo  
       4 小时 23 分钟前
    因特尔电脑用不了吗。 😭
    sankemao
        42
    sankemao  
       4 小时 22 分钟前
    还是挺多问题的:
    切换主题列表上,颜色提示不对
    换成浅色主题后,点设置后又回到深色了
    置顶窗口后,点击复制条目,窗口会消失再出现
    batnss
        43
    batnss  
       4 小时 21 分钟前
    FRJEYLXLATLF 已用,感谢楼主,新年快乐!
    Zeaxion
        44
    Zeaxion  
       4 小时 18 分钟前
    @bronyakaka #34 感谢引导
    qt
        45
    qt  
       4 小时 16 分钟前
    PTX3MTM9L4WE
    已用,谢谢。
    Tambien
        46
    Tambien  
       4 小时 16 分钟前
    MKATXN4PLATX 已用,试一下,祝大伙新年快乐
    bronyakaka
        47
    bronyakaka  
    OP
       4 小时 15 分钟前
    @sankemao #42 非常感谢提出问题!下版本会修复;主题颜色切换按钮,这个是 bug 比较好处理;
    置顶这个不是 bug ,置顶情况下触发粘贴,需要先移交焦点到上个窗口,触发粘贴,然后为了后续连续的点击操作和置顶的一致性,内部会重新置顶。您是不是没有开辅助权限,所以没有触发实际粘贴,所以会导致有点歧义?
    Zeaxion
        48
    Zeaxion  
       4 小时 14 分钟前
    4R4LLNFH7Y97 已用,谢谢
    taro0822
        49
    taro0822  
       4 小时 14 分钟前
    TFR9LR6R3A3T 已用,感谢 lz ,祝 lz 新年发大财~
    tyhunter
        50
    tyhunter  
       4 小时 12 分钟前
    AHMWLXN4RHKY ,已用,感谢 LZ ,新年快乐
    silencefly
        51
    silencefly  
       4 小时 7 分钟前
    XRXR7HWLW7WN 已用 感谢 OP
    bronyakaka
        52
    bronyakaka  
    OP
       4 小时 2 分钟前
    @looo mac intel 芯片太老了,暂时没有支持计划 抱歉
    a1791661482
        53
    a1791661482  
       3 小时 56 分钟前
    KKWLNAY9ANXW 已用,谢谢楼主,新年快乐
    deadlybugs
        54
    deadlybugs  
       3 小时 56 分钟前 via iPhone
    XLFEJRK9YTA4 已用,谢谢楼主
    helloworldgo
        55
    helloworldgo  
       3 小时 54 分钟前
    64X79RYR6HEH ,已兑,感谢大佬
    ATK
        56
    ATK  
       3 小时 50 分钟前
    KERWK3EYHMX6 已用 感谢 OP
    decken
        57
    decken  
       3 小时 45 分钟前
    KXYNTP3MKELM 已经用了 谢谢大佬
    Zzzleung
        58
    Zzzleung  
       3 小时 44 分钟前
    JAHMLAJANREN 已用 感谢
    a1791661482
        59
    a1791661482  
       3 小时 41 分钟前
    发现一个问题,快捷键只能接受 windows 的模式,比如按下“option + v” 会变成 “alt+√”
    lfsc
        60
    lfsc  
       3 小时 39 分钟前
    怎么内购啊,没找到呢
    tonokim
        61
    tonokim  
       3 小时 34 分钟前
    N34L7MJAPWN3 已用 感谢!
    colvv
        62
    colvv  
       3 小时 31 分钟前
    4R3LJ97RXH33 已用谢谢
    cookLv
        63
    cookLv  
       3 小时 26 分钟前
    E77APPMEET6L 已用 感谢
    bronyakaka
        64
    bronyakaka  
    OP
       3 小时 23 分钟前
    @a1791661482 #59 好的,已经记录,下版本修复,感谢感谢
    FreeLester
        65
    FreeLester  
       3 小时 23 分钟前
    局域网同步,是要两台 Mac 都安装 OnlyPaste 才能同步是吗?
    SunnyIng
        66
    SunnyIng  
       3 小时 20 分钟前
    NJF6W97LJAR6 已用,非常感谢
    plzzzzg
        67
    plzzzzg  
       3 小时 20 分钟前
    W3EW9F9HE9PH 已用,谢谢
    bronyakaka
        68
    bronyakaka  
    OP
       3 小时 16 分钟前
    @FreeLester 内网多台设备启动软件后,在菜单的局域网同步里,设置同一个连接密码并开启,下面就能识别到其他节点的设备了。当进行复制时,复制文本会自动同步到其他节点上。注意网络发现要允许
    Robot58
        69
    Robot58  
       3 小时 10 分钟前
    WWXRF393TXAM 谢谢楼主
    Geeking1105
        70
    Geeking1105  
       3 小时 8 分钟前
    3PMP4XPWHYJR 已用,谢谢!
    aurelia
        71
    aurelia  
       3 小时 7 分钟前
    TY43AKJAEEFR 已用 谢谢
    windorz
        72
    windorz  
       3 小时 1 分钟前
    7J6P6EKTHK4L 已用, 谢谢
    cyberenchanter
        73
    cyberenchanter  
       2 小时 55 分钟前
    KYPPH3TY44LH 已用,感谢楼主,新年快乐!
    niejiangfeng
        74
    niejiangfeng  
       2 小时 51 分钟前
    NEK3MPRXYWHK 已用,谢谢楼主,新年快乐
    pgf00a
        75
    pgf00a  
       2 小时 49 分钟前
    WX96NPF9EH3K 已用,谢谢~
    zyxk
        76
    zyxk  
       2 小时 38 分钟前
    wails 应用啊, 建议设置 TitleBar: application.MacTitleBarHiddenInset, 隐藏突兀的标题栏,就可以实现类似访达或 safari 这样整体的页面效果, 另外界面还需要美化一些, 可以使用毛玻璃或 Liquid Glass 效果,wails3 示例里有方法
    cavendi
        77
    cavendi  
       2 小时 28 分钟前
    3LFALPK3HTXN 试了四五十个终于有没用到的,怎么大家都从后往前用吗
    wen20
        78
    wen20  
       2 小时 26 分钟前
    首先祝你成功
    其次若不成功期待代码开源,观摩学习
    bronyakaka
        79
    bronyakaka  
    OP
       2 小时 22 分钟前
    @zyxk 好的👌🏻多谢大佬
    Ccf
        80
    Ccf  
       2 小时 3 分钟前
    这些都没了
    huieh
        81
    huieh  
       1 小时 57 分钟前
    试了一堆没找到一个可用。。
    Bio
        82
    Bio  
       1 小时 56 分钟前
    AEL4FTT3E66F 已用 谢谢
    Bio
        83
    Bio  
       1 小时 53 分钟前
    建议,图标再优化优化
    CalledKingsley
        84
    CalledKingsley  
       1 小时 49 分钟前
    好像没赶上热乎的,下次再来,预祝老哥成功
    lfsc
        85
    lfsc  
       48 分钟前
    没了呀
    cavendi
        86
    cavendi  
       7 分钟前
    提个需求,多桌面支持,现在 b 桌面使用,会在 a 桌面弹出。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2465 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 11:51 · PVG 19:51 · LAX 03:51 · JFK 06:51
    ♥ Do have faith in what you're doing.