SlimSnap:给你的CLI装上“眼睛”
CLI 写代码很强,但眼睛是个硬伤
用 Claude Code、Aider 这些命令行 AI 编程助手的朋友,应该都遇到过同一个尴尬:
它们看得懂代码,但看不见界面。
你想让 AI 修一个按钮?结果得憋出一大段描述:"就是结算页右上角那个红色的错误提示"。AI 只能靠想象去猜你在说哪儿。
怎么办?
SlimSnap 就是来解决这个问题的
这是一款 macOS 小工具,核心功能很简单:把截图转成结构化的 JSON,让你的命令行 AI 能直接"看懂"屏幕。
三个步骤:截图、标注、发出去
流程很顺:
截图 - 按 ⌘⇧S,框选屏幕上任意区域。调用的是 macOS 原生 API,不用装别的依赖。
标注 - 直接在截图上画箭头、写字、高亮,把"这里有问题"变成看得见的位置标记。
复制为 JSON - 一键转成结构化数据,粘贴到终端里就能用。
生成的 JSON 挺丰富的,包含截图时间戳、应用名称、屏幕分辨率,还有最重要的——元素数组。每个元素都有:
- 类型(按钮、输入框、标签等)
- 具体文字内容
- 位置坐标(归一化到 0-1 范围)
最后这个坐标信息特别关键。AI 知道了"设置弹窗里第三个输入框"的确切位置,就能精准操作,不用瞎猜。
为什么要转成 JSON?省 token 是核心
这里才是 SlimSnap 的真正价值:token 效率。
你直接往 ChatGPT 网页扔截图,API 会压缩画质。但用命令行 AI 传图片,API 有 token 上限——用 Sonnet 模型,一张截图大概 1,568 个 vision token,用 Opus 4.7/4.8 的话高达 4,784。
SlimSnap 导出的 JSON 通常只有 600-800 个 token。换算下来:
- Sonnet 模型节省约 55%
- Opus 模型节省高达 85%
调试或重构时来回几十次,这些省下来的 token 就很可观了。上下文窗口里多出来的空间,可以塞更多代码、日志和 AI 的推理过程。
隐私方面让人放心
SlimSnap 的 OCR 处理全在本地跑,截图不会上传到任何地方。不用注册账号,没有服务器中转。
做敏感项目或者私有界面的时候,这个很重要。
JSON 格式是开放的(MIT 协议),源码在 GitHub 上。你可以用它校验、自己写导出器,甚至接其他 OCR 流程。
Claude Code 用户的专属福利
如果你用 Claude Code,SlimSnap 有个 skill 可以自动识别截图。它会往 ~/.slimsnap/config.json 写一个配置文件,然后 skill 自动把最新的 JSON 加载进 AI 的上下文。不需要手动找文件、复制粘贴。
什么时候用 JSON,什么时候直接发图?
说实话,这是个取舍:
适合用 JSON 的场景——改具体元素、修按钮、调表单、调布局。AI 拿到精确坐标和提取的文字,做事更准。
还是得发原图的情况——比如你要问"这个设计整体感怎么样"、"配色是否协调"。这种偏感性的判断,AI 还是得看像素。
当然,你可以两个都发:JSON 给精确操作,原图给审美判断。
总结
SlimSnap 解决的是一个很具体但确实存在的痛点。如果你重度使用命令行 AI,又经常需要讨论界面,那这个工具值得一试。token 节省本身就值回"票价",再加上本地处理零隐私风险。
目前只支持 macOS。不过 JSON 格式是开源的,估计很快会有人做其他平台的兼容版本。
感兴趣的话可以去 slimsnap.ai 看看。UI 调试密集型的工作流里,效率提升还是挺明显的。
与其用一大段文字描述界面,不如让工具把"你看到的"翻译成"AI 能理解的"。