V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
jackple
V2EX  ›  程序员

豆包的划词功能实现

  •  
  •   jackple · 11 天前 · 2256 次点击

    mac 豆包的划词功能实现很牛 x, 估计是用 accessibility api? electron 做的程序它也能很精准获取到, 甚至是微信(我看微信用 appium 出来也就一坨), 那豆包是怎么做到的, 找 cluade/chatgpt...写了好多个版本都不能获取得到(用的是 vscode 的 debug 模式启动一个 electron 程序)

    我去参考 https://github.com/openai-translator/openai-translator 发现它这一个模块的实现是依赖了作者自己写的 https://github.com/yetone/get-selected-text, 问题在于, 它可能会调用剪贴板, 而且性能很差, 一次执行要几百毫秒(执行过程中系统会卡住)

    有这方面经验的大佬解惑一下吗?

    16 条回复    2025-08-27 14:43:39 +08:00
    zzlove
        1
    zzlove  
       11 天前
    我记得豆包的划词后,也是会先复制到剪贴板的
    cryptovae
        2
    cryptovae  
       11 天前
    https://github.com/pot-app/Selection
    看下这个
    原理基本都是一样的
    musi
        3
    musi  
       11 天前
    其实 accessibility 有些 app 是获取不到的,electron 因为是 chromium 系有现成的方案,那些获取不到的一般都用剪切板做兜底。

    另外,你让 AI 写就别让他写 electron 程序,你告诉他用 C++给你调 mac 的 api ,然后再让他把 c++打包成 node 的插件让 electron 去调用。我去年用 AI 写过 win/mac 的划词功能(并且我没有任何 c++的背景)
    jackple
        4
    jackple  
    OP
       11 天前
    @zzlove 我看现在是没有(装了监测工具去看)
    jackple
        5
    jackple  
    OP
       11 天前
    @cryptovae 我看看, 谢谢
    jackple
        6
    jackple  
    OP
       11 天前
    @musi 我是好奇为什么豆包没有剪贴板兜底(至少在我的机器上没用上剪贴板兜底)的情况下, 它能做的性能和准确度都很好, 还有就是微信也能获取到, 那哥们你的程序能获取到微信的 selection 么?
    stone9527
        7
    stone9527  
       11 天前
    我 win 用豆包划词有时会卡住不动,遇到好几次了
    lukeluke
        8
    lukeluke  
       11 天前
    用 accessibility 的 AXUIElement 去获取其他应用的文本得把 sandbox 关了,但关了之后就没法上架了。我自己软件的划词功能也是依赖剪切板实现的。把剪切板原有的文字先保存下来,然后模拟键盘的拷贝按键,读取剪切板内容,再把原有的文字放回去。这一整套流程其实用时不多,基本上是同步的,可能剪切板监控软件感知不到?
    jackple
        9
    jackple  
    OP
       11 天前
    @lukeluke 也有可能是获取不到, 剪贴板工具是我自己写的, 原理是每隔一段时间获取, 😄
    Danfi
        10
    Danfi  
       11 天前
    貌似是会有剪切板兜底的,像图书里有版权的书籍,选中翻译的话会有版权信息一起出来的
    SakuraYuki
        11
    SakuraYuki  
       11 天前
    不使用剪贴板的软件里,bob 的比较好用,绝大多数情况下都能获取内容,不过要额外装一个 helper
    jackple
        12
    jackple  
    OP
       11 天前
    @SakuraYuki 刚刚试了一下, 它的获取不准, 失败率有点高
    SakuraYuki
        13
    SakuraYuki  
       11 天前
    @jackple #12 请问是什么样的情形,我用 bob 基本没遇到过获取不到的情况
    skiy
        14
    skiy  
       11 天前 via iPhone
    豆包 chrome 扩展下架了。
    感觉它太主动了,我一选择,它就跳框出来,有时我只想复制而已。不太好用。
    jackple
        15
    jackple  
    OP
       11 天前
    @SakuraYuki #13 我再试又好像不会了
    jackple
        16
    jackple  
    OP
       11 天前
    @SakuraYuki #13 应该我的快捷键冲突了导致
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2548 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 11:28 · PVG 19:28 · LAX 04:28 · JFK 07:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.