Aki 是面向多 Claude Code 会话的 Mac 应用,可将屏幕标注与修改说明发送到对应 Agent 终端。浏览器内可提取 CSS 选择器、HTML 和开发环境中的 React 组件文件,并根据本地服务端口定位项目。
大家好!这是我第一次公开自己的项目,欢迎温柔一点地提意见,但也请直说。🙂
在我的创业公司里,我会同时运行 10 多个 Claude Code 会话,每个会话负责一个功能,各自在独立的 git worktree 中工作。修复问题很快,费时间的是解释问题出在哪里:
截图 → 粘贴 → “右边那个按钮,不对,是另一个” → 切换标签页……又切错了。
只有一个 Agent 时,这只是有点烦。到了十个,我的大部分时间都花在了这里。
Aki 就是为此做的一款小型 Mac 应用。按下 ⇧⌘A,指向屏幕上任意位置,写下想改什么,再按 ⌘⏎。这条标注就会连同准确的元素信息,送到对应 Agent 的终端里。不用截图。

在 Chrome、Brave、Edge 和 Arc 中,Aki 会通过 Apple Events 向页面查询指针下方的元素,无须安装扩展。它会获取唯一的 CSS selector、文本、HTML,以及开发构建中 React 组件所在的文件。你可以用方向键在屏幕上移动选取位置;按 ⇧ + 方向键,可以把下一个对象加入标注。
终端里的报错、Finder 中的文件、Figma 中的 frame,只要出现在屏幕上,就能标注。在浏览器之外,Aki 使用 macOS Accessibility tree 获取信息,也支持在任何应用中标注区域。

这是我最需要的部分。localhost:3001 上的页面属于某个项目,因此 Aki 会找到监听该端口的进程、它所在的文件夹和 worktree,再把标注发送到正在那里工作的 Agent 会话。其他标注则会发送到你在屏幕边缘的小侧栏中选定的会话。每个 Claude Code / Codex 会话对应一个圆环,用来显示状态:正在工作、等待你回应,或有待处理的标注。

优先传文本。每条标注都会携带所覆盖的文本,只有标注的是视觉内容时,才会附上一张小范围的裁剪图,避免 Agent 为了读取整张截图消耗 tokens。Agent 通过本地 MCP server(read_annotations、wait_for_annotations、get_annotation_image、resolve_annotation)或 aki 命令读取标注,修复代码,再逐条将标注标记为已解决。

用原生 Swift 编写,采用 SwiftPM,没有 Xcode project。常驻屏幕边缘,没有 Dock 图标。
应用内置一个小型 HTTP server,只监听 127.0.0.1,并检查 Origin/Host。标注保存在你的 Mac 上,位于 ~/.aki。不需要账号。
大部分功能都是我用 Claude Code 本身做出来的,所以“切错标签页”这个问题,我每天都在切身体会。
支持 Apple Silicon,要求 macOS 14+。
在 Orca 终端中,Aki 会自动把请求输入对应会话;在其他终端中,Agent 通过 MCP 或 aki wait 获取标注。
项目还很年轻,用起来可能会遇到一些不够完善的地方。
它是免费的,代码放在 GitHub 上,采用 source-available 的 FSL-1.1-ALv2 许可。
curl -fsSL https://aki-updates.vercel.app/aki-install.sh | sh
代码:https://github.com/muriloprataviera/aki
这是我第一次把代码公开出来,非常欢迎大家提供反馈、建议和 bug 报告。如果你也同时运行多个 Agent,我很想知道你现在是怎么应对这件事的。
如果还想采取进一步措施,你可以考虑屏蔽此人和/或举报滥用行为。