
大概从三年前开始,我在 iOS 上的文本处理思路彻底变了。以前我的习惯是:想到什么先打开备忘录,新建一条笔记存着,等攒一批再统一整理。结果备忘录越堆越多,最后连打开的欲望都没有。后来换了 Drafts,整个逻辑反过来了——先捕获,再处理,存储不是第一目标,这正是文本捕获这四个字的真正含义。Drafts 的核心就一句话:打开就是一条空白草稿,马上能打字,它不逼你选文件夹、选分类、选标题。而让这套玩法真正起飞的,是它的 URL Scheme 接口。配合 Protocol Launcher 这类专门管理协议调用的工具,你可以在不打开 Drafts 的情况下,把任意来源的文本喂进去,再自动路由到提醒事项、待办清单、邮件或者日历。这篇文章就围绕这套组合展开。如果你每天有大量零碎信息要记——灵感、待办、摘抄、快递单号、临时想到的一句话——又不想被先归档绑架,那这套流程值得认真抄一遍。文章会从 Drafts 的基础配置讲起,再到 Protocol Launcher 的接线原理,最后给出三条可以直接用的实战工作流和一份问题排查表。1. 没用过 Drafts?先理解捕获优先的设计逻辑1.1 文本捕获和传统笔记的根本区别传统笔记软件的思路是先分类,后记录:新建笔记时就要选笔记本、选标签、选标题,甚至选颜色。这套流程对整理癖友好,但对随手记极不友好。人在咖啡馆突然冒出一个点子时,根本不想先思考这个念头该放进生活笔记还是工作笔记。Drafts 的思路完全相反:它默认你打开就是一条新草稿,输入框已经聚焦,键盘已经弹出,你只管打字。至于这条文本之后是变成提醒事项、变成邮件、变成待办,还是只是躺在收件箱里吃灰,都是之后的事。这个先捕获,后整理的模型,业内叫 capture first, organize later,实践证明它比打开 App 先想放哪效率高得多。1.2 Drafts 的结构:收件箱、草稿列表、动作Drafts 的主界面并不复杂,但几个概念要分清:收件箱(Inbox):所有新草稿的默认去处,相当于一个临时缓冲区。草稿列表:按修改时间排列的所有草稿,支持归档、置顶、搜索、标签过滤。动作(Actions):这是 Drafts 的灵魂,一条草稿可以通过不同动作被发送到邮件、信息、提醒事项、Things、Todoist、Fantastical 等目的地,发送后原草稿可以选择保留、归档或删除。标签(Tags):用 #标签 给草稿做轻量分类,比如 #工作 #购物 #灵感。刚上手时可以把 Drafts 理解为一个入口,一堆出口:入口永远是空白输入框,出口则是你配置好的各种动作。动作本质上是一段处理逻辑,你只需要点一下,文本就被送往指定目的地,省去了复制—切换 App—粘贴—整理的中间步骤。1.3 为什么要配一个 Launcher 工具只用 Drafts 自带的分享扩展和 App 图标,其实已经能完成 80% 的捕获需求。但剩余 20% 的体验提升,恰恰是拉开效率差距的地方:你想不想在控制中心一键新建草稿?想不想在 Safari 里选中一段文字后,一步完成摘录—加标签—存入 Drafts?想不想让剪贴板里的电话号自动变成一条带日期的待办草稿?这些场景都需要一个外部开关来触发 Drafts 的深度链接。Protocol Launcher 做的就是这件事:它像一个遥控器,把各种 URL Scheme 组织成按钮,放在主屏幕、控制中心或者快捷指令里,让你用最简单的动作触发最复杂的文本处理链。后面章节我会详细讲这套接线方式,这里你先记住结论:Drafts 负责存和转,Protocol Launcher 负责把触发变得无处不在。2. Drafts 快速入门:三步完成基础配置2.1 把 Drafts 装好并放到够得着的位置工欲善其事,必先利其器。Drafts 支持 iOS、iPadOS 和 macOS,安装后第一件事不是研究设置,而是把它放到一个手最方便碰到的位置:iPhone:建议放在 Dock 栏,或者至少是首屏底部区域。Drafts 是高频入口,Dock 栏的位置能让你在锁屏亮起的瞬间快速新建草稿。主屏幕小组件:Drafts 提供多种尺寸的小组件,我习惯用中号,直接显示最近几条草稿,点击即可打开对应条目。Mac 端:设置里的 General 可以配置全局快捷键,默认是 CtrlOptionSpace 之类,按一下弹出捕获窗口,不用切换 App 就能打字。这步的核心思路是降低调用成本。文本捕获最大的敌人不是功能不够,而是想记的时候工具不在手边。把 Drafts 放到步行可达的位置,捕获成功率会立刻翻倍。2.2 设置捕获入口与默认行为安装后的基础设置,我建议按以下顺序调:在 iOS 设置里给 Drafts 开启通知中心小组件,这样下拉通知栏就能新建草稿。打开 Drafts 的 Settings → Appearance,按自己的输入习惯选择新建草稿时是否自动弹出键盘。我建议保持自动弹出,少一次点击。在 Settings → Capture 里确认打开 App 时新建草稿(New Draft on Launch)是开启的。这是 Drafts 和其他笔记 App 最直观的区别:每次打开都是干净的新草稿。顺手开启 iCloud 同步,这样 iPhone 上临时记的东西,打开 Mac 版 Drafts 就能看到。这些设置没有标准答案,但核心原则是:让打开 App这个动作的默认结果永远是可输入的新草稿。如果你打开后发现停在列表页,说明 New Draft on Launch 没开,或者被之前的操作记忆覆盖了,那就按上面第 3 步检查。2.3 认识 Actions,先配三个最常用的动作Actions 是 Drafts 的分发系统。点右上角动作按钮,会看到系统自带的一堆动作,比如 Mail、Messages、Reminders。我建议新手先别贪多,只留三个高频动作:Reminders:把草稿内容变成一条系统提醒事项。自带动作默认会用草稿全文作为提醒内容,额外加上日期前缀也可以。Append to Note:把草稿追加到某条固定的笔记里,适合做日记、周报素材等持续累积型内容。Delete:处理完的草稿直接删除或归档,保持收件箱干净。具体操作:打开一条草稿,点右上角动作按钮,选择对应动作,按提示配置目标账户或文件夹。配好后,在草稿上向左滑或点动作按钮即可执行。执行后草稿的状态变化(保留/归档/删除)由动作设置决定,我通常把发送成功的动作设为归档,这样收件箱不会被发过的内容塞满。3. Protocol Launcher 与 Drafts 的接线原理3.1 URL Scheme 与 x-callback-url 是怎么回事如果只看 Drafts 自带动作,你学到的只是点点点。想更进一步,必须理解它背后的协议机制。iOS App 之间不能像桌面端那样直接通信,但系统允许 App 注册自己的 URL Scheme。比如 Drafts 注册的是drafts://,当系统打开这条链接时,就会唤起 Drafts。x-callback-url 是建立在 URL Scheme 之上的一套标准,它规定了三个关键参数:x-success:操作成功后的回调地址x-cancel:用户取消后的回调地址x-error:出错后的回调地址加上 Drafts 自己定义的动作参数,你就获得了一种编程式操控能力。比如以下这条 URL:drafts://x-callback-url/create?text%E4%B9%B0%E7%89%9B%E5%A5%B6它的意思是:调用 Drafts 的新建草稿接口,把百分号编码后的中文文本当作草稿内容。系统打开这条链接后,Drafts 会启动,自动创建一条内容为买牛奶的草稿。Protocol Launcher 这类工具做的事,就是把这些链接提前配好,变成一个按钮,点一下就执行,免去记忆和手工拼接的麻烦。3.2 在 Protocol Launcher 里配置第一条跳转Protocol Launcher 的界面通常是场景/按钮模型:你先新建一个场景,再往场景里添加按钮,每个按钮绑定一条 URL。以一键新建空草稿为例:打开 Protocol Launcher,新建一个场景,命名Drafts 快捷操作。在场景里添加新按钮,名称填新建草稿。在 URL 栏填入:drafts://x-callback-url/create?text保存,然后把按钮添加到主屏幕小组件或桌面。这样点一下,系统就会唤起 Drafts 并新建一条空草稿。这里有个细节:如果text后面什么都不填,Drafts 也会新建一条空草稿,相当于是打开即输入的快捷方式。进阶一点,Protocol Launcher 通常支持变量,比如剪贴板内容、当前时间、日期等。配置用剪贴板内容新建草稿时,URL 可以写成:drafts://x-callback-url/create?text[clipboard]不同版本的变量名可能不一样,配置时留意按钮旁边的变量说明。核心思路是:把动态文本塞进 URL 前,必须做百分号编码,否则中文、空格、换行都会出问题。3.3 常用 Drafts URL 参数与编码要点Drafts 的 x-callback-url 接口里,最常用的是create、open和action三类。我整理了一份常用参数表:接口参数作用createtext新建草稿时的初始文本createtags为新建草稿附加标签,逗号分隔createaction新建草稿后自动执行某个动作,需填动作名字 URL 编码openuuid打开指定草稿,需要 uuidopenaction打开草稿后自动执行动作actionname直接对当前草稿执行指定动作actiontext以新文本替代当前草稿内容后执行动作通用x-success成功后要触发的回调地址通用x-cancel取消时触发的回调地址通用x-error出错时触发的回调地址这里的重点不是死记接口,而是理解参数拼接后的效果。举个例子,我想把剪贴板内容追加到已存在的一条收集箱草稿里,并在完成后回跳到 Protocol Launcher,URL 大概是:drafts://x-callback-url/open?uuidXXXXactionAppendtext[clipboard]x-successprotolauncher://实际配置时你会发现,是用来分隔参数的,如果文本里本身包含、、?、空格、中文,就必须先做 URL 编码。比如文本买牛奶 买鸡蛋,直接拼进去会导致系统把当成参数分隔符,草稿内容就被截断了。正确做法是把整段文本先转成百分号编码再拼接。这也是新手最容易踩的坑,后面排查章节会详细讲。3.4 从参数到动作:一次完整的调用链条为了把抽象的概念串起来,我拆一个实际完整链条:控制中心 → Protocol Launcher → Drafts → 提醒事项。第一步:在协议层配置一条链接:drafts://x-callback-url/create?text%23%E5%BE%85%E5%8A%9E%20%E4%B9%B0%E6%B0%B4%E6%9E%9CactionReminders这段 URL 经过解码后是:drafts://x-callback-url/create?text#待办 买水果actionReminders意思是:新建一条草稿,文本内容是#待办 买水果,然后立刻执行名为 Reminders 的动作。Drafts 收到后,会创建草稿,调用提醒事项动作,把这条文本变成系统提醒,整个过程中你不需要打开 Drafts 界面。第二步:在 Protocol Launcher 里新建按钮,URL 填上面这段。需要变化的只有买水果这几个字,那就把它替换成剪贴板变量。第三步:把 Protocol Launcher 的小组件加到控制中心或主屏幕,点按钮即可触发。这条链路的价值在于:输入侧用一个按钮替代了打开 Drafts—打字—选动作三步操作。虽然省下的只有几秒,但当一天要重复十几次时,累积效果非常可观。4. 三条可以直接抄的实战工作流4.1 一键把剪贴板文本送进 Drafts这是我最常用的一条工作流,适合处理复制了东西但暂时没想好放哪的场景。比如你在微信里看到一段地址,在网页里看到一段产品参数,先复制,然后在主屏幕点一下 Protocol Launcher 的按钮,文本就变成 Drafts 草稿,并且自动加了来源标记。配置方式:在 Protocol Launcher 新建按钮,命名存入草稿箱。URL 填:drafts://x-callback-url/create?text[clipboard]变量名按应用实际支持的情况来,原理是把剪贴板内容动态拼到text参数上。如果想加标签,可以在变量后手动拼上:drafts://x-callback-url/create?text[clipboard]%20%23%E6%94%B6%E9%9B%86actionArchive其中%20是空格,%23是#。解码后文本变成剪贴板内容 #收集,执行后归档。需要注意,Protocol Launcher 读取剪贴板变量时,一般取的是纯文本。如果剪贴板里是一张图片或富文本,可能取不到内容,需要在复制环节多关注来源格式。4.2 从浏览器/邮件共享到 Drafts 再自动分流Drafts 支持系统分享面板(Share Sheet)。当你看到一篇好文章或一封需要处理的邮件时,可以选中文本,点分享,选择 Drafts,它会把内容作为草稿接收进来。但仅接入分享还不够,我更推荐搭配动作做到分流:在 Safari 里选中一段文字,点分享 → Drafts,文本成为草稿。打开 Drafts 草稿,点右上角动作,选择发送到提醒事项,系统生成一条带链接的提醒。如果内容适合邮件,就用发送到邮件动作,草稿变成邮件正文。这里面有一个技巧:分享到 Drafts 时,系统会自动附带来源 App 的名称和链接(取决于动作配置)。比如从 Safari 分享,草稿末尾经常会带上网页标题和 URL,这对后期追溯很有用。如果你觉得太啰嗦,可以在动作设置里关闭附加来源信息。我个人的习惯是:分享进入 Drafts 的内容,经过一次快速编辑后,绝大部分都会归档,而不是删除。因为我发现当时觉得没用的摘抄,往往在一两周后会重新派上用场。归档而不是删除,只是降低了搜索成本,并不会占用多少空间。4.3 用快捷指令配合实现定时捕获iOS 的快捷指令App 能和 Protocol Launcher 相互配合,实现更自动化的触发。举个例子:每天 22:00 自动弹一个提醒今天的捕获整理了吗,点一下就把一条草稿打开,文本预填了当天的日期。配置方式:在快捷指令里新建一条个人自动化,触发条件选定时,设置为每天 22:00。动作选打开 URL,URL 填:drafts://x-callback-url/create?textdate这里的date变量在快捷指令里可以插入当前日期。存储后,到点会自动执行。每次触发时,Drafts 里就多了一条带日期的草稿,你可以直接补上当天捕获的内容。另一个实用场景是离开公司时自动新建一条明日待办草稿。用快捷指令的位置触发,当定位离开公司区域,自动打开drafts://x-callback-url/create?text%23%E6%98%8E%E6%97%A5待办,这样第二天打开 Drafts,收件箱里已经躺好了格式正确的草稿。这类自动化的核心不是炫技,而是让捕获动作尽可能贴近你当时的状态——无论是时间、地点还是正在使用的 App。Protocol Launcher 和快捷指令之间的关系不是二选一,而是互补:前者适合手动点按的高频场景,后者适合按时按地触发的后台场景。5. 常见问题与排查技巧实录5.1 跳转没反应,先查这三件事如果点了 Protocol Launcher 按钮,Drafts 没有任何反应,90% 的情况出在 URL 本身。我建议按以下顺序排查:检查 URL Scheme 拼写。Drafts 的 scheme 是drafts://,注意结尾必须带://,以及单词拼写别错成draft://。检查路径和参数大小写。x-callback-url是固定写法,create、open、action都是小写,大小写写错系统找不到对应接口。检查是否被系统拦截。iOS 对部分未知 scheme 会弹确认框,也有可能在屏幕使用时间限制里被默认禁止跳转。遇到这种情况,去设置里检查允许的 App相关权限。这三种问题在日志里往往没有任何提示,只能靠逐项排查。所以我配置新按钮时,习惯先用系统自带的快捷指令App 测试一遍原始 URL,确认能跑通后再挪到 Protocol Launcher 里,减少变量干扰。5.2 中文和特殊字符乱码怎么办这是最经典的坑。URL 协议本身只允许一部分 ASCII 字符,中文、空格、换行、、、#都需要编码。把买牛奶 买鸡蛋直接拼进 URL,执行后 Drafts 里很可能只看到买牛奶,后面全被吞了,因为被当成参数分隔符。处理方式有两种:手动编码:空格变%20,#变%23,变%26,中文用在线工具或快捷指令里URL 编码动作转换。利用应用自带的变量编码:Protocol Launcher 和快捷指令通常提供已编码文本类型的变量,选择它之后,工具会自动把内容转成百分号编码。使用这个选项,可以省去手工编码的麻烦。我的经验是:凡是包含中文内容的 URL,一律先编码再使用,不要图省事直接拼。一次乱码导致的排查时间,远超编码多花的 10 秒。5.3 Protocol Launcher 的变量踩坑Protocol Launcher 支持变量是很大的便利,但变量也不是万能的,有几类问题我实际遇到过:剪贴板变量取到空值:原因往往是剪贴板里是图片或链接富文本,纯文本提取结果为空。解决方法是复制时确认是纯文本,或者改用 Drafts 的分享面板。变量内容未编码:部分场景下,变量插入后不会自动转码,中文直接拼进 URL 会导致乱码。建议在 Protocol Launcher 里找URL 编码开关,找不到就改用快捷指令中转。多个变量拼接顺序出错:URL 长度的参数顺序不会影响功能,但若变量本身含特殊字符,可能影响后续参数解析。最稳妥的做法是让动态内容集中在text参数里,后面再跟固定参数。变量问题排查的心法是最小化:先写死一段纯文本 URL,确认能触发;再替换成单个变量,测试通过后,逐步加第二个变量和参数。每一步都验证,问题自然浮出水面。5.4 一张表看懂高频问题现象常见原因处理办法点了按钮没反应URL Scheme 写错用快捷指令测试原始 URL,确认后再迁移草稿内容被截断文本里的未编码对文本整体做百分号编码中文乱码中文未编码或编码不完整使用 URL 编码变量或在线转码工具剪贴板内容为空剪贴板可能是图片/链接富文本复制纯文本后再触发动作没有执行action参数中的动作名称不对在 Drafts 中确认动作的全名,注意大小写执行后收件箱被塞满动作未配置归档/删除在 Drafts 动作设置里把成功后的行为改为归档从分享面板进来格式乱来源 App 附加的富文本导致在 Drafts 设置里调整粘贴为纯文本选项这张表不需要背,等你真正遇到具体问题时回来对照即可。更多时候,排查的过程本身就是理解这套协议体系的最好方式。最后再分享一个我自己的小习惯:所有的 URL 模板我都会在 Drafts 里专门存一条草稿,内容就是各个常用链接的编码前后对照。遇到格式不对,直接打开这条草稿复制粘贴,不用重新查资料。这个习惯帮我省了不少重复排查的时间,你也可以试试。