属性 01
共同在场
我们共享同一个对象。Katchy 看的就是你看的同一个窗口、同一段、同一个 Figma 框。它不是从描述里猜,它读的是你正读的像素。
在 Katchy 里
ScreenCaptureKit 单帧,限定在活动显示器上。
一个快捷键。四个小阶段。三个前沿模型。一篇关于交互模型的短文,这个模型让一款友好、免费、原生的 macOS 应用,安静地完成几乎所有你能说出口的事。
本地优先 · GPT · Claude · Gemini · macOS 14.2+ · Apple Silicon 和 Intel
开始之前的小注
向广大读者致歉:这个项目我们才做了一周,所以你可能会撞上一两个 bug。我们修得很快,也非常、非常感激你来看看。:D
界面的形状决定了什么是可能的。聊天让我们思考。工具调用让我们建造。Agent 终于让模型触碰你正在看的同一块屏幕。所有有趣的事都活在那第三个时代里,Katchy 是我们能造出的、通往它的最小、最安静、最 Macintosh 形状的窗。
这一页的其余部分,是引擎盖下的导览。你按下按键到答案抵达耳边之间发生了什么。为什么我们根据你的问题路由到不同的前沿模型。哪些东西从不离开你的 Mac。我们尽量写得短。
01b · 论点
属性 01
我们共享同一个对象。Katchy 看的就是你看的同一个窗口、同一段、同一个 Figma 框。它不是从描述里猜,它读的是你正读的像素。
在 Katchy 里
ScreenCaptureKit 单帧,限定在活动显示器上。
属性 02
反馈在工作进行中给出,而不是之后。Katchy 在你停止说话的那一刻就回答,趁问题还热着,没有提交按钮、没有 spinner、没有邮件长链。
在 Katchy 里
从快捷键到第一个 token,约 80 毫秒。
属性 03
两边可以同时做事。你继续打字,Agent 在重命名 47 张截图。Katchy 继续推理,你在滚动。谁都不用等谁。
在 Katchy 里
主线程外的 Agent 循环,随时可用 ⌘ . 取消。
我们读过什么
三个属性,几乎一字不差地取自 Thinking Machines 关于交互模型的文章。他们认为,真正的协作,和人、和代码、和任何东西,都需要这三者同时存在。今天大多数 AI 系统是为自主运行调校的,完全错过了它们。Katchy 完全建立在交互这一面。
01 · 交互的问题
你打字,模型回复。你复制、粘贴、在标签页之间切换。强大,但模型只知道你告诉它的,永远碰不到你看到的东西。
全是思考。没有手,没有眼。
模型开始调用 API。读这个文件。搜这个数据库。发这封邮件。很棒,但你还是得自己用代码把每个工具串起来。
有真功夫,但你是管道工。
模型看着你的屏幕,心里有计划,采取行动,检查自己的成果,只有真正需要时才问你。Katchy 就活在这里。
Katchy 活的地方。
插曲 · 带宽问题
“就像用邮件而
不是当面
解决分歧。”
聊天是一条单线:在你打字结束之前,模型什么都感觉不到;在它写完之前,你什么都感觉不到。通道很窄。语音加一张新鲜的截图,是一条宽得多的通道,这就是 Katchy 选择说话而不是打字的原因。
02 · 一次请求的解剖
每个请求都走相同的四阶段流水线。点击某个阶段,或者只是看着,图表每隔几秒自动循环,在你接管的那一刻停下。
The moment both modifiers go down, Katchy opens a low-latency audio buffer through CoreAudio. While the chord is held the waveform streams into a ring buffer; the instant you let go the recording stops. Nothing is sent until you finish speaking.
02b · 架构
前 · 同步
在你说话时一直在场。把对话保留在短期记忆里。识别你是在思考、让位还是打断。在大约一次眨眼的时间内回应。
后 · 异步
承担缓慢、持续的工作。一个多步 Agent 循环,带着工具:文件系统、AppleScript、Shortcuts、浏览器。计划、行动、回看自己的输出、再来一次。完成后回头汇报。
这就是 Thinking Machines 提出的两段式架构的微型版。交互模型给你小模型的响应速度。背景模型给你大模型的规划力和工具使用。它们共享上下文,缝合处你看不到。
03 · 技术栈,层层剖开

01 · 听
按住 Control 和 Option。macOS 通过 CoreAudio 在本地采集音频。波形尽可能在设备上转写,然后裁剪,只有需要前沿模型时才发送出去。

02 · 看
当问题需要上下文时,ScreenCaptureKit 抓取单帧、范围明确的画面。Katchy 从不流式传输视频、从不持续录制、从不在答完后保存截图。

03 · 想
Katchy 把请求路由到最合适的前沿模型。长 PDF 给 Claude。视觉密集的给 Gemini。代码和快速编辑给 GPT。路由器来选,你只管不动。

04 · 做
一键足够时,友好的三角箭头指向答案。需要十次点击时,多步 Agent 在后台运行。两者共享同一份记忆,你停它们也停。
04 · 路由器的判断
一个小分类器读取你的转录和页面 token,然后把每个请求派发到最合适的模型。你自己试几个,路由器会显示它的思路。
试问一个问题
“总结我刚打开的这份60页PDF”
选它的原因: 长上下文,对结构化文档的细致推理。
05 · 三个大脑,一个菜单栏
OpenAI
用在快速编辑、代码审查,以及你希望一句半就把答案返回的结构化改写。
Anthropic
用在长文档、谨慎推理,以及任何你宁可没答案也不想要一个自信但错的答案的场景。
用在屏幕信息密集的时刻、图表、幻灯片,以及视觉占了一半问题的情况。
06 · 能力
读和写
“把那份 60 页 PDF 总结一下”
阅读
“起草一份礼貌的拒绝”
写作
“写一份简短的 changelog”
写作
“翻译成西班牙语”
写作
“继续昨天的草稿”
写作
“生成本周小结”
写作
文件和系统
“重命名 47 张截图”
文件
“清理桌面”
文件
“从这个 CSV 里拉数据”
数字
“把这些转成 PNG”
文件
“打开最后一张截图”
文件
“把 Spotify 钉到菜单栏”
系统
“这条命令是做什么的?”
终端
“把这个转成表格”
数字
日常流程
“整理收件箱”
邮件
“用 Cursor 打开这个”
代码
“改下 standup 时间”
日历
“按人脸给这些照片打标签”
照片
“把 Slack 静音一小时”
专注
“这个文件改了什么?”
代码
“把这个加到提醒事项”
任务
“找到那份我丢的 PDF”
搜索
以及其他任何事
这只是本周的几个。真正的清单,是你指着屏幕能用嘴说出的任何事。其余的交给 Agent。
06 · 数字
前沿模型,集中在一个菜单栏
我们自己拥有的服务器,永远是零
快捷键就是整个 UI
硬盘空间承载这一切
从快捷键松开到第一个 token
文件离开你的 Mac,直到你开口
07 · 横跨你整台 Mac






08 · 在该本地的地方本地
音频被采集到 RAM,请求一完成就丢弃。截图留在内存里。会话存在你的 Application Support 文件夹,不在服务器上。
路由器会把音频裁剪到只剩说话部分,从任何截图里遮掉菜单栏和 Dock,绝不发送模型不需要的对话历史。
Anthropic、OpenAI 和 Google 的密钥住在你的 macOS 钥匙串里。我们从不看到它们。你随时可以取走或更换。
⌘ . 可在半路停下请求。Agent 每次循环都会检查取消标志。没有“请等我们收拾一下”。
09 · 一份简短书单
Scott 的实践智慧概念。随机、直觉、本地。在不确定性高、正确答案取决于现场时合适的推理。Agent 需要它。
重要的知识活在特定时空的具体情境里。此刻你眼前的屏幕,正是那种知识。Katchy 读它。
Sutton。手工系统会被通用能力 + 规模超越。所以我们让表面无聊且名字起得好,把硬活留给前沿模型。
Ong 谈口头交流的参与性。声音比往框里打字更接近自然协作。按住说话不是噱头,它是正确的界面。
脚注
瓶颈
当下的前沿模型大多为「自治、长时运行」优化。最近一份前沿模型卡承认「以交互式、同步、手放键盘的方式使用时,模型的收益不够清晰」。真实工作大多是交互的。Katchy 正是为这种情形而建。
带宽
聊天是一根单线:在你打字结束前,模型什么都感觉不到;在它写完前,你也什么都感觉不到。Thinking Machines 称之为人机协作的狭窄通道。语音加一张新鲜截图就宽得多。
交互模型 + 后台模型
他们的两段式架构:一个保持在场、同步的交互模型;一个异步承担更长时程工作的后台模型。Katchy 干净地映射上去:菜单栏是交互模型,Agent 循环是后台模型,二者共享上下文。