AI Agent 卡在“请点击这里”?bigarrow 用一支不会抢焦点的箭头把控制权交给人
AI Agent 可以改代码、跑迁移、解释复杂概念,却经常在最简单的环节停住:它不能替你点击权限对话框、OAuth 同意按钮或付款确认。终端里打印一句“请点击 Allow”并不等于用户知道该点哪个窗口。macOS 工具 bigarrow 的做法很窄,也很实用:让 Agent 在屏幕上画出箭头、框或文字,但把最后一次点击明确留给人。
它解决的是人机交接,不是自动点击
bigarrow 是一个 Swift 命令行工具和 Agent Skill。它不会点击、输入或截取屏幕,也没有守护进程、账号和遥测;绘制覆盖层不需要 Screen Recording 或 Accessibility 权限。覆盖层可穿透点击,不会抢走当前焦点,箭头显示一段时间后会自动消失。
这个边界很关键:Agent 负责定位目标并说明下一步,人负责需要人类确认的动作。这样既比自然语言描述“右上角那个按钮”准确,也没有把敏感操作偷偷自动化。
安装与最小示例
项目当前面向 macOS 14 或更新版本,源码构建需要 Xcode 16 或更新版本。最快的安装方式是:
brew install franzenzenhofer/tap/bigarrow bigarrow install-skill
install-skill 会把技能安装到 Claude Code 和 Codex 使用的技能目录。安装后,Agent 可以按可访问性标签定位按钮:
bigarrow point --element "Allow" --app "System Settings" --text "请点击 Allow"
如果已经知道全局逻辑坐标,也可以直接指向坐标:
bigarrow point --at 760,500 --text "请点击这里"
这里的 point 只负责显示指示物,不会代替用户点击。默认箭头会自动结束;需要持续指示时,可以使用 start,完成后用 stop 清理:
bigarrow start --window "Safari:Inbox" --text "请检查这个窗口" && bigarrow stop
三种目标方式,分别适合什么场景
按元素标签定位适合系统设置和原生应用。--element 配合 --app 可以把“Allow”这样的可访问性元素作为目标,但运行 shell 的终端或编辑器需要拥有相应的 Accessibility 权限。
按坐标定位适合网页、远程桌面或工具无法暴露元素树的界面。--at X,Y 和 --rect X,Y,W,H 使用全局逻辑坐标;多显示器场景还可以用 --display N 将坐标限定到某块屏幕。
按窗口定位适合多个浏览器窗口同时打开的情况。--window App:title 或 --app App:title 可以缩小目标范围;工具会尝试把目标应用或窗口带到前面。若不希望改变窗口顺序,可以使用 --no-raise。
对于 Peekaboo 用户,README 还提供了 --peekaboo ID --snapshot see.json 的目标来源。无法确定坐标时,--dry-run --json 可只输出将要指向的位置而不绘制。
Agent 工作流应保留“停下来”的步骤
比较稳妥的提示流程可以拆成四步:
- 识别需要人类确认的目标,不尝试绕过权限或验证码。
- 用完整句子绘制提示,例如“请在 System Settings 中点击 Allow”。
- 等用户完成动作后,调用
bigarrow stop清除箭头,再继续执行。 - 检查命令退出码和后续状态,不把“箭头画出来”误认为“用户已经确认”。
工具提供 JSON 输出和明确的退出码:0 表示成功,2 表示输入错误,3 表示目标未找到,4 表示权限缺失。对于 Agent,这比解析一段自然语言日志可靠得多。用户不在电脑前时,--say 可以朗读提示;但涉及验证码、支付、签名和法律确认时,仍应让用户明确决定。
外观和安全边界
箭头支持 arrow、ring、box 三种样式,也可以选择 bend、straight、zigzag、spiral 等形状,以及颜色、尺寸、边框和关闭按钮。多个箭头会尽量错开文字。--close-button 让用户可以直接关闭提示,--until-click 则可在目标被点击后结束显示,但它仍不是点击机器人。
需要注意的是,--element、elements 和 --until-click 会使用 Accessibility;窗口标题读取在部分 macOS 版本上可能涉及 Screen Recording。bigarrow 本身不需要这些权限,但调用它的终端、IDE 或 Agent 宿主可能需要。项目也明确提醒:箭头不会加密本地配置,因为它本来就不负责收集屏幕内容。
结语:把“最后一步”设计成协议
bigarrow 的价值不在于它有多聪明,而在于它把 Agent 与人的交接做成了一个可观察协议:Agent 定位并解释,用户确认并点击,Agent 再继续。对于权限弹窗、登录同意、2FA、签名和远程协助,这种“只指不点”的小工具比继续堆叠自动化权限更容易审计,也更符合最小权限原则。
相关链接