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

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

  •  2
     
  •   bronyakaka · 5 小时 20 分钟前 · 1547 次点击

    作为一个 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 条附言  ·  3 小时 29 分钟前
    • 谢谢大家的支持,剩下能放的码全部给大家(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 条附言  ·  2 小时 51 分钟前
    • 补充一个技巧:到 mac设置——隐私与安全——辅助功能给 app 开启辅助功能权限后,这样点击后会自动触发内容粘贴;如果未开启,会写入系统剪贴板,需要自己粘贴; 当然如果比较习惯/喜欢自己粘贴的话,就不必开辅助功能权限~

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

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

    祝大家新年发大财~

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