摄入
窥屏是被动管道。难点不是识别,是噪音。先用手动框选当信号,再谈自动。
History 里的条目和你写下来的片段是同一种东西。Hamu 不发明第二套内容模型。Collection 只是命名过的分组,用来把 transient 升级成 resident。
Copy 本身就是信号。Hamu 监听系统剪贴板,把文本、图片、文件引用收成 Item,并记下当时的前台应用。需要屏幕上的一块字,用 ⌘⇧2 框选——那是主动捕获,不是后台窥屏。
横向卡片,暗示剪贴板有时间维度。输入即搜,搜索框始终挂着,中文输入法不会丢掉正在组合的字。选中一条,Hamu 写回剪贴板,并帮你对刚才的应用按下 ⌘V。
一条 Item 最多属于一个 Collection。移进去,就离开 History,也不再被历史上限清掉。这是 resident 的升级,不是再复制一份。
图片和文件看类型;微信 / QQ / 企业微信 / 钉钉 / 飞书等即时通讯看来源,记为 chat;整段是 URL 记为 link;其余才交给本地 ONNX,在 code、article、other 里选。链接和聊天不会被模型误分。
识别结果可搜,不当正文展示。nil 是还在认,空字符串是认过但没有字。关了 OCR 也不会抹掉已经认过的文本。
辅助功能用来代按 ⌘V。屏幕录制只为选区截图。完整磁盘访问是为了预览 QQ、微信等应用私有目录里的图片,重启后生效。
Paste 优化的是 copy 和 paste 之间的缓存。Hamu 的下一步是质疑这两个动作本身:摄入可以不只等 Cmd+C,输出可以按上下文出现,粒度可以从整块变成实体。
窥屏是被动管道。难点不是识别,是噪音。先用手动框选当信号,再谈自动。
大爆炸式拆解:电话、日期、地址、金额从 blob 里出来。检索变成找那个号码,而不是找那段话。
当前应用 × 实体类型,一层浅规则就够覆盖很多推荐。从 pull 变成 push。