AI Agent 看不懂你的截图?用 Pinpoint 的数字标记法让 Claude Code 精准定位每一像素
问题:你和 AI Agent 之间的截图沟通鸿沟
如果你经常用 Claude Code、Codex 或 Cursor 等 AI 编码 Agent 做前端调试或 UI 修复,大概率遇到过这个场景:
你截了一张图发给 Agent,然后打了一段文字描述:「右上角那个按钮颜色不对,旁边的图标也歪了。」
Agent 回复了一段代码。你一看 — 它改了左侧的按钮,不是右上角那个。
问题出在哪里?AI 能「看」到截图,但它不知道你指的究竟是 哪一个 元素。人类可以通过「那个」「这个」「右上角」等模糊指代来沟通,但 Agent 需要精确的坐标和编号。截图本身不携带任何标注信息,而文字描述在粘贴过程中经常丢失或被截断,最终 Agent 只能靠「猜」。
这不仅仅是效率问题 — 来回纠正造成的上下文浪费会直接推高 API Token 消耗,每个无效往返可能花费数百到上千 Token。
Pinpoint 的解决思路:用数字标记代替文字描述
Pinpoint 是一个 macOS 菜单栏原生应用,由独立开发者 Baptiste Bouillot(@croustibat)发布。它解决的核心问题非常直接:让你像跟人类同事沟通一样,在截图上「指一下」再发给 AI Agent。
Pinpoint 的工作原理分三步:
- 截图 — 快捷键调出区域选择器,框选目标区域
- 标记 — 在截图的关键元素上点击放置编号标记(数字圆圈标号)
- 发送 — 复制带标注的截图 + 结构化文本提示词,粘贴到 Claude Code 或 Codex
这个流程借鉴了人类视觉沟通最自然的方式:不说「那个按钮」,而是指着一号标记说「改这个」。Pinpoint 把这种直觉体验带到了 AI Agent 交互中。
快速上手:5 分钟配置
安装
从 GitHub Releases 下载 Pinpoint.dmg,拖入 Applications 文件夹即可。应用已经过 Apple Notarization(公证签名),打开时不会触发系统安全警告。
首次启动后,系统会请求屏幕录制权限(Screen Recording),在 系统设置 → 隐私与安全性 → 屏幕录制 中授予权限后,退出并重新启动 Pinpoint 即可。
系统要求:macOS 15+(Sequoia),Apple Silicon 和 Intel 均可。
基本操作
⌘⇧1— 触发区域截图,鼠标拖拽选择范围(Esc 取消)- 截图后自动打开标注编辑器,在目标元素上单击即可落下编号标记
- 拖动标记可以调整位置,右侧面板可为每个标记添加备注文字
⌘C— 复制标注后的截图 + 结构化提示文本到剪贴板- 菜单栏还有一个「截全屏」选项,适合需要完整页面上下文时使用
核心功能详解
1. Region Capture(区域截图)
Pinpoint 调用 macOS 原生的 ScreenCaptureKit 框架进行截图,支持 Retina 分辨率和多显示器。拖拽选择时实时显示像素尺寸(1280×800 等),方便你精确控制发送给 Agent 的上下文范围。
2. Numbered Markers(编号标记)
这是 Pinpoint 最核心的功能。在标注编辑器中,每次点击画布都会生成一个带圆圈的编号标记。每个标记可以附带文本备注(如「CTA 按钮」「图标偏移」),也可以添加箭头和矩形框做辅助标注。
支持三种标记样式:
- 实心圆(Filled Disc) — 最醒目,适合主要操作点
- 指针标(Pointer Pin) — 形似图钉,适合精准定位
- 轮廓标记(Light Outline) — 比较轻量,适合辅助性标注
三种样式在截图画面和最终导出的图片中保持一致。
3. Structured Prompt(结构化提示)
当你按下 ⌘C 时,Pinpoint 不仅将标注后的 PNG 图片写入剪贴板,还会同时复制一段结构化文本提示:
An image is attached. Numbered (ringed) badges point to specific elements. Markers (position in % of the image, top-left origin): 1. Primary CTA button · ~62 % × 48 % 2. Misaligned icon · ~12 % × 22 % ## Instructions Make the CTA full-width on mobile and fix the icon alignment.
这段文本以 Markdown 格式呈现,Claude Code、Codex 等 AI Agent 可以干净地解析每个标记的位置(百分比坐标)和描述。你只需在 ## Instructions 下方补充具体的修改指令即可。
4. Legend Baked In(内嵌图例)
这是一个非常实用的设计细节。大多数聊天 UI(包括 Claude Code 的终端界面)在粘贴图片和文字时,经常只保留图片而丢弃剪贴板中的另一部分文本。Pinpoint 的可选「图例内嵌」模式会将所有标记描述和指令直接渲染到图片内部,这样即使文字部分丢失,Agent 仍然能从图片中读取标记对应的信息。
5. The Shelf(截图库)
Pinpoint 内置了一个截图历史库(Shelf),所有历史截图自动保存到 ~/Library/Application Support 中。你可以:
- 浏览、收藏、重命名历史截图
- Quick Look 快速预览
- 重新打开任意历史截图的标注编辑器,继续编辑标注后重新发送
这对于需要反复调试同一 UI 元素的场景非常实用 — 不需要每次重新截图。
6. 隐私与安全
所有截图均存储在本地 macOS 文件系统中,不会上传至任何远程服务器。Pinpoint 使用 ScreenCaptureKit 原生框架,没有网络权限请求,也不需要用户注册或登录。
实战场景:用 Pinpoint + Claude Code 调试前端页面
假设你正在用 Claude Code 修改一个 React 组件的响应式布局:
- 在浏览器中打开页面,按下
⌘⇧1框选需要修改的区域 - 在截图上标记:
- 标记 1:「移动端菜单按钮」— 点击后菜单不展开
- 标记 2:「商品卡片间距」— 间距比桌面端大了 2 倍
- 标记 3:「Footer 文字」— 超出容器边界
- 为标记 3 添加箭头标注指向溢出区域
- 在 Instructions 中写:「修复以上 3 个移动端样式问题,保持 Tailwind 现有类名风格」
⌘C复制内容,粘贴到 Claude Code 终端
Claude Code 收到的结构化提示包含了精确的坐标信息和每个标记的说明,它知道标记 1 是汉堡菜单按钮、标记 2 是卡片间距、标记 3 是 Footer 溢出。不再需要在文字里反复描述「左边第二个…不是,是上面的那个…」。
从源码构建
Pinpoint 使用 XcodeGen 管理 Xcode 项目,依赖极少:
brew install xcodegen git clone https://github.com/croustibat/Pinpoint.git cd Pinpoint xcodegen generate open Pinpoint.xcodeproj
在 Xcode 中按 ⌘R 即可运行。如果不想配置签名证书:
xcodegen generate && xcodebuild -scheme Pinpoint \ -destination 'platform=macOS' CODE_SIGNING_ALLOWED=NO build
项目结构清晰,PinpointApp.swift 是入口,Exporter.swift 处理最终的图片+文本导出逻辑,EditorView.swift 管理标注编辑器 UI。如果你想贡献自定义标记样式或新的导出格式,修改成本很低。
对比其他方案
| 方案 | 精度 | 操作成本 | 隐私 |
|---|---|---|---|
| 手打文字描述「左上角第三个按钮」 | 低(模糊) | 低 | 依赖聊天工具 |
| 截图 + Paint 手动画圈 | 中 | 高(需切应用) | 本地 |
| Pinpoint | 高(百分比坐标) | 低(快捷键 + 单击) | 纯本地 |
| Browser Debugger 截图工具 | 高 | 中 | 本地 |
Pinpoint 的精确定位能力(百分比坐标 + 编号引用 + 结构化文本)是其他方案不具备的 — Claude Code 可以直接在代码中引用「标记 1 的位置」而无需猜测。
已知局限
- 仅支持 macOS 15+,暂不支持 Windows 或 Linux。开发者用 Swift/SwiftUI 原生实现,跨平台移植需要重写截图和权限逻辑。
- 需屏幕录制权限,首次配置需要进系统设置开启。
- 当前 GitHub Stars 较少(项目 2026-06-16 创建),但代码质量扎实,MIT 许可,可以放心使用。
总结
Pinpoint 解决的是一个很小但非常痛的体验问题:如何让 AI Agent 精确理解你在 UI 截图上想表达的内容。 它没有做复杂的 AI 推理或云服务,而是老老实实做好截图标注 + 结构化提示这件事。对于每天用 Claude Code 调试前端、设计还原的开发者来说,Pinpoint 能显著减少和 Agent 之间的「无效沟通」次数 — 这不仅省时间,更省钱(减少 Token 浪费)。
- 项目地址:https://github.com/croustibat/Pinpoint
- 下载地址:https://github.com/croustibat/Pinpoint/releases/latest
- 官方网站:https://pinpoint-ashy.vercel.app
- License:MIT
- 开发者:Baptiste Bouillot(@croustibat)
相关链接