我用 AI 做了一个跨平台的PopClip:拾趣Magpie

源码:github.com/demo007x/Ma...

官网(演示截图、权限说明、安装教程):fm126.top

PopClip 都做了十五年了,为什么我还是自己写了一个划词工具?

先说清楚我做了什么:拾趣(Magpie),一个免费开源的 macOS 小工具。你在屏幕上用鼠标划中任何一段文字,它就在字旁边冒出一小条,上面是几个按钮:翻译、总结、解释、搜索、复制、打开链接、写邮件、复制验证码。

点一下出结果,点空白就没了。屏幕上划不出来的字(图片、扫描件、视频字幕),可以框选截图让它认出来。

就这些。它不弹通知、默认常驻菜单栏不占 Dock(想显图标可以打开)、不打断你正在读的东西,全天挂在后台。

源码 github.com/demo007x/Ma... | 官网 fm126.top | 当前 0.1.6

我会用得到它的三个瞬间

读英文 PDF。 选中一个词,右键,往下翻"服务",再往里找翻译,等系统弹个半透明窗,看完找关闭按钮,然后忘掉刚才读到哪了。你要的其实只是"翻译",中间四次点击纯属找菜单。

你要的不只是"翻成中文"。 读英文资料的时候,一个术语它是什么意思、这段话为什么重要、这一整段帮我提炼一下------这些右键菜单一条都不给,系统那个服务只会把字面意思翻过来。想问就得复制、切到别的软件、粘贴、再问,问完还得切回去。

字不在文本层。 一张产品截图里的地址、扫描版论文的一整页、会议 PPT 拍照。这时候世界上最好的划词工具都没用,因为没有任何文字可以被选中。

这三件事加起来,就是我全天的文字入口。

这个品类不缺产品

划词工具不是新发明。PopClip 2011 年就在了,十五年是实打实的十五年,$17 买断、也在 Setapp 里,两百多个扩展,是这个品类的教科书。

它的问题是时代的:它的动作是靠扩展拼出来的,AI 那部分是后贴的(要接扩展、要配 Key、结果回来是个独立窗口);图片里的字它不管;对自绘界面的兼容也不好看,它那套"选中就弹条"的机制在标准 App 上很顺,一进微信和某些 Electron 应用就没反应。

Bob、Easydict 这类开源取词翻译工具,翻译和划词都做得很扎实,但它们解决的是"查词翻句"这一件事;需求一旦超出这个范围------总结一段、把地址电话提出来、把这段送回我自己的笔记------就得换工具。它们的 OCR 也基本围着"翻译取词"这一个方向做。

豆包桌面版现在也有很成熟的划词工具栏:技能管理、自建技能、前 5 个显示加下拉、可禁用应用,全套都有,而且免费、模型比你强得多。我完全不打算在 AI 上跟它比,比不过,也不该比。

那我还做什么?因为它解决了"这段文字是什么意思",没解决另外两件事:

  1. 它只碰得到"能被选中的文本"。图片、扫描件、视频帧、客户端 UI 里的字,不在它射程内。所以我要有识图那条管线。

  2. 它的答案落在它自己窗口里。我翻译完想存进笔记,还是那六步:复制、切应用、找到那条笔记、粘贴、补来源、补时间。豆包不是不想做这个,是它的商业模型不允许------把你的内容送到 Notion 去,等于把价值送出自家生态。

第二点是我最在意的,也是目前还没做的那部分(要接 Obsidian、flomo、Notion,走各家的 URL scheme / API,不自己建笔记库)。

现在你能看到的是第一步和中间那一层:屏幕上的字进得来,出来靠复制、搜索、写邮件这些通用出口。

现在实现的功能

划完出现的按钮,动作是本地就是本地、要模型就是要模型,分得清楚:

复制、搜索(丢进你指定的引擎)、打开链接、写邮件、复制验证码、复制号码------这六个不联网,选中一段像邮箱或验证码的东西才会出现对应的按钮,属于纯规则判定。

翻译、解释、总结------走 AI。翻译的提示词我改了很多轮,在意的不是"翻得漂亮",是技术文档别被翻成口语、术语用通行译法、代码和 URL 原样保留。这三个动作的提示词你能在设置里自己改。

自定义动作------按钮名字、发出去的提示词、用哪个模型,你定。比如"改成礼貌一点的英文邮件"、"把这段里的地址和电话提出来"这种,我猜不到别人下一步想做什么,所以做成你自己加。

截图识字:系统原生那块框选交互(就是 ⌘⇧4 那个),框完本地识别成文字,识出来的图还能钉在屏幕上------读文献、抄长地址的时候有用。

现在什么水平

我自己全天挂着在用,日常够用。

微信这类软件走兜底,极少数会慢半拍;取词判定是纯几何阈值(拖动超 6px 算划词、按下超 400ms 且移动不到 10px 判成双击点词、松手 200ms 防抖、和上次差 4px 内算重复丢弃)

这几个数字是手调的,个别界面划一大段就是不弹;没有自动化测试,每次发版是 pnpm check + cargo check + cargo build,然后在 Safari、Chrome、微信、备忘录、一个 Electron 应用里各划一遍

没有埋点,取词、截图、识别全在你本机;文本只在你点了 AI 动作那一刻、带着你填的 Key、发给你自己选的那个服务。

源码:github.com/demo007x/Ma... 官网(演示截图、权限说明):fm126.top

欢迎使用,有什么想法可以给我提,如果你也愿意可以一起参与做。

说了这么多,我想看看你们平时都使用哪类软件?

你划完字最常点的那两个按钮是什么;

以及哪个软件里你划不出字。你报上来我帮你们解决

相关推荐
miofly1 小时前
GitHub 日榜趋势速报 | 2026-09-22
开源·github
xiezhr1 小时前
我用豆包 Seed-2.1-pro-0915 做了个「今天吃啥」,中午点菜这事终于不用纠结了
agent·ai编程
zzzzzz3102 小时前
每日一条技术记录:把碎片学习变成可复盘的知识卡片
程序员·markdown·沸点
csdn_aspnet3 小时前
用Claude Code重构遗留系统,老项目自动化重构实践,提示词与效果验证
ai·ai编程·claude·anthropic
吴佳浩6 小时前
Skill 为什么不同于 Tool?Agent 技能库的自演进与动态加载机制
人工智能·agent·ai编程
吴佳浩6 小时前
Tool 的安全性与执行沙箱:从 Docker 到 gVisor 的防御架构
agent·ai编程·mcp
全栈弄潮儿9 小时前
我的代码审查 Prompt:从“能跑”到“可维护”
aigc·openai·ai编程
Setsuna_F_Seiei10 小时前
前端转型 Agent 开发 05 之 Agent Hooks 与 Checkpointer(让 Agent 从全自动转变人为可掌控)
前端·agent·ai编程
小贺儿开发11 小时前
Unity 家居视频遥控(细节优化)
科技·unity·程序员·udp·视频·工具·通信