哦今天会议改到三点
其他人都OK了
macOS 原生菜单栏 AI 文本润色工具。在任意输入框按一下全局快捷键,Kerf 会读取当前文本,发给你选的 LLM 润色,再一次性替换回原位置。不切 App,不复制粘贴。
哦今天会议改到三点
其他人都OK了
今天会议改到三点,其他人都已确认。
2 秒。在原位置完成。同一个输入框,不切 App。
每个场景约 30 行 OpenLess 风格指令 —— 角色、强度、风格、worked example、反例都有。
改 Base URL + Model 即可。
某些 IME(搜狗、百度)会用 CGEventPost 注入修饰键被伪造的合成事件,产生幻象触发。Kerf 读 HID 系统真实状态 —— 合成事件触及不到那一层。
CGEventSource.flagsState(.hidSystemState)
ad-hoc 签名的 app,但更新本身是 EdDSA 端到端签名。独立开发者也能发受信任的更新,不用 $99/年的 Apple Developer 证书。
通过 CGEventSource.flagsState(.hidSystemState) 验证 ⌃⌥⇧ 是否真的物理按下。session 级注入的合成事件触及不到 HID 系统 —— 在这一关就被丢掉。
KerfCore/Hotkey/HardwareModifierTracker.swift
Tier 1:AX kAXSelectedTextAttribute,非侵入式。Tier 2:Cmd+A + Cmd+C 带 UUID sentinel 兜底 + 剪贴板恢复状态机。终端类 App 只走 Tier 1,避免把整屏 scrollback 都抓走。
KerfCore/Selection/TextReader.swift
System:70 行 OpenLess 风格骨架。User:场景指令 + 真实文本包在
KerfServices/Prompt/PromptBuilder.swift
带三家厂商的 disable-thinking 字段下发,让推理模型不要在短文本上烧 token。
reasoning_effort : "low"
enable_thinking : false
thinking : { type: "disabled" }
模型返回后应用用户自定义的字面 + {num} 通配替换。从 OpenLess correction.rs 移植。
KerfServices/Correction/CorrectionEngine.swift
Cmd+V(保留选区)或 Cmd+A → Cmd+V(替换整个字段),取决于哪个读取 tier 成功。剪贴板还原走 latest-id + 内容匹配双 guard,快速连按不会污染剪贴板。
KerfCore/Insertion/TextWriter.swift
追加到 ~/Library/Application Support/com.kerf.app/history.json(500 条上限,原子写入)。从 Settings → 历史 浏览。
KerfData/Storage/HistoryStore.swift
从 GitHub Releases 拉最新 .dmg。Universal 二进制,约 2.9 MB。
github.com/aweadadw10/Kerf/releases/latest →Kerf 是 ad-hoc 签名(不花 $99 买 Apple cert)。去掉 quarantine 属性,Gatekeeper 才放它启动:
$ xattr -cr /Applications/Kerf.app
三步设置向导带你完成辅助功能授权和 AI provider 配置。授权辅助功能后完全退出 Kerf 再重新打开 —— macOS 不会把 AX 权限应用到正在运行的进程上。
.dmg 2.9 MB Universal · macOS 13+