Guides / 视频转图文攻略

TypeSafe Computer Use 实操:用 Jev 做本地桌面自动化

逐帧解读 Alex Hitt 这支 6 分钟白板视频:typesafe-computer-use 仓库如何用本机 Vision OCR + AX 树解析替代多 MB 截图上云,每步 $0.0002 的 Jev 动作分类、双 API 配置、--act 演练与硬件级急停。

速览结论

Alex Hitt 这支 6 分钟白板视频为 typesafe-computer-use 仓库立论:自主桌面控制过去意味着把好几 MB 的屏幕截图发给大型多模态模型——一次点击等 5 秒以上、最多 32 美分。仓库把架构翻转:桌面状态在本机分析(macOS 14+ 的 Apple Vision OCR 加辅助功能树,Python 3.12+,用 uv 安装),编译成带坐标的硬性候选动作清单,再让 Jev 对下一个动作做纯分类——单次决策 $0.0002、一秒内完成。配置有规矩。双 API 配置职责分离:TypeSafe API key 管结构逻辑和动作选择,Anthropic key 只负责文本生成(比如填搜索框)——每段自由文本输入后立即由一道 Jev 布尔命题校验,不过关就回滚动作、清空输入框,这正是模型选不出本地状态里不存在的坐标或元素的原因。macOS 自动化权限必须显式授予,否则合成点击会被系统静默丢弃;「终端清洁令」是真实规则:Agent 会 OCR 你的整个屏幕,残留的自动化日志会变成可点击目标、把它困进递归循环。先跑 clicker 诊断(只打印计划的动作序列、不发硬件事件),确认无误再加 --act 从只读规划切入真执行——并且放开鼠标,跟 Agent 抢输入会弄乱它的坐标映射。急停有两条路:终端保有焦点时 Ctrl-C 安全停掉 Python 循环;否则把物理鼠标用力推向屏幕左上角,框架持续监视坐标边界、越界即终止线程。每次运行都会写一个飞行记录仪文件夹——JSON 状态、屏幕位图、分阶段计时——用带数字包围盒的截图离线复盘,不烧一个 API credit。已知边界:屏幕上两个同标签会让 Jev 概率对半分(0.4/0.4 对 0.5 安全阈值)、循环自动停止;Agent 跨运行无状态;以及「点右上角的提交按钮」永远好过「点提交」。

视频来源

Alex Hitt

6:20fXAJRNfOUb4

分步图文攻略

  1. 1

    旧经济学:一次点击 5 秒起、32 美分封顶

    自主桌面控制一直是最昂贵的用电脑方式:Agent 截取整块屏幕(几 MB)、上传给大型多模态模型、等它生成推理——单次点击超过 5 秒、最高 32 美分。视频的天平帧在任何代码出现前就把对比讲透:天平重侧是原始截图,另一侧是亚秒级的本地状态。

    白板天平图:原始截图 5.0 秒以上一端,本地状态不到 1 秒一端,对比桌面 Agent 感知方案的快慢。
    把像素寄给推理模型,是天平又慢又贵的那一端。跳转至 0:32
  2. 2

    新经济学:每步 $0.0002、不到一秒

    typesafe-computer-use 抛弃深思式的思维链,改用 System One 决策模型:桌面状态在本机分析、候选清单本地编译、Jev 只回答「下一个动作是什么」这个分类问题。头条数字:执行成本降到美分零头——每步 $0.0002——决策延迟不到一秒,桌面自动化从研究演示价进入你真的敢开循环跑的单步定价。

    手绘标题 $0.0002 与 <1 Second,typesafe-computer-use 演示中 Jev 分类的单步成本与延迟。
    每步一次分类——单次点击的价格掉了四个数量级。跳转至 0:48
  3. 3

    感知栈:Native OCR、Jev 分类、AX 树解析

    原始像素哪也不去,屏幕在本机读取:Apple Vision OCR(macOS 14+ 硬性要求的原因)、辅助功能树解析器和 CoreGraphics——用 TypeSafe SDK 和 Python 3.12+ 经 uv 连成一体。Jev 在栈里只占一个框:从解析好的本地状态里分类下一个动作。决策本身不需要任何像素离开你的机器。

    本地感知管线三个标注阶段:Native OCR、Jev Classification、AX Tree Parsing 沿管线依次连接。
    感知全在本地;只有分类问题发给 Jev。跳转至 0:42
  4. 4

    候选清单:坐标与目标,先行编译

    本地分析产出一份硬性候选动作清单——X/Y 坐标到 Form Field 1、Button A、Dropdown C 等具名目标的显式映射表——与解析出的 UI 并列。这道结构约束就是安全护栏:模型选不出本地状态里不存在的坐标或元素,因为它的选项被限定在编译好的清单里,而不是从截图里现编。

    Layout Coordinates & Targets 清单把 X/Y 坐标映射到表单字段、按钮和下拉框,旁边网页表单速写中一个字段被高亮为选中目标。
    Agent 从编译好的真实目标菜单里挑——幻觉坐标在结构上不可能。跳转至 2:02
  5. 5

    系统卫生:每次运行前清空终端

    视频里最反直觉的运维规则。Agent 截取的是整个屏幕的视觉状态——终端里还留着上一次的自动化日志时,OCR 引擎会把 Agent 自己的历史输出识别成可点击 UI,它就会卡在跟自己的输出交互的递归循环里。清洁令:开始任何执行前,物理清空活动终端窗口。SYSTEM HYGIENE 这帧值得钉在运维手册旁边。

    白色网格白板上用红色马克笔手写的 System hygiene 大字标题——typesafe-computer-use 运行前清空终端日志的规则。
    你的 Agent 读整块屏幕——昨天的日志就是今天的幽灵按钮。跳转至 2:45
  6. 6

    先演练,再加 --act 真执行

    自主之前先验证。带自然语言目标运行 clicker 命令,只打印计划的动作序列、不发硬件事件——只读诊断,让你看清楚 Agent 打算做什么。计划没问题时再加 --act 标志,脚本从规划切入执行。那一刻起你要交出物理控制权:循环中途动鼠标或打字会制造焦点冲突、破坏坐标映射、带偏整场运行。

    终端提示符速写,--act 标志用橙色高亮——typesafe-computer-use 从只读诊断切入实时执行的开关。
    先打印计划;序列读起来对了,才加 --act。跳转至 3:38
  7. 7

    两个急停:Ctrl-C 和左上角

    把操作系统交给 Agent 的前提是你能瞬间收回控制权。终端保有焦点时,标准 Ctrl-C 中断安全停掉 Python 循环。焦点在别处时,把物理鼠标用力推向屏幕左上角——框架持续监视坐标边界,光标越界的瞬间终止执行线程。把 kill switch 锚在物理动作上,意味着软件出错也拦不住你的人工覆盖。

    深色键盘插画,Ctrl 与 C 键红色高亮——安全停掉 typesafe-computer-use 执行循环的键盘中断。
    终端里 Ctrl-C,终端外把鼠标推到左上角——两条路都能瞬间停车。跳转至 4:28
  8. 8

    用飞行记录仪调试,不烧 API

    边界案例的分析失败不可避免,所以每次运行写一个带时间戳的本地文件夹:JSON 状态、屏幕位图、分阶段计时。开发者查看标着数字包围盒的截图,确认 Vision OCR 和辅助功能树到底识别到了哪些元素——就是视频里的 AX Node 高亮——离线复盘失败,一个 API credit 都不花。

    笔记本电脑速写上叠着编号的红绿包围盒和一支纸飞机,代表为离线调试记录的 Vision OCR 与辅助功能树检测结果。
    每次运行都记录感知层看见了什么——失败变成可回放的,而不是玄学。跳转至 5:02
  9. 9

    概率对撞会替你停车

    界面上出现两个相同标签时,Jev 会在两个合法选项之间对半分概率——视频例子里 0.4 对 0.4,低于 0.5 的安全阈值。票数打平、置信度塌掉,循环自动停止而不是瞎猜。修法在你:写高度明确的自然语言目标(「点右上角的提交按钮」,永远别只说「点提交」),记住 Agent 跨运行无状态,并且每次运行都给足确定性规则、严格的概率下限和极端干净的环境。

    两个相同的 Target Button 标签各得 0.4 概率,上方虚线标出 0.5 的安全阈值——Jev 概率对撞让自动化循环自动停止。
    0.4/0.4 对 0.5 阈值 = 停车——歧义是停车标志,不是抛硬币。跳转至 5:30

常见问题(FAQ)

typesafe-computer-use 是什么?

一个基于 TypeSafe Jev 的开源本地桌面自动化仓库。它不把多 MB 截图发给多模态模型,而是用 Apple Vision OCR 和辅助功能树在本地解析屏幕、编译出带坐标的硬性候选动作清单,再让 Jev 分类下一个动作——单次决策约 $0.0002、不到一秒。

系统要求是什么?

macOS 14 或更高(Apple Vision OCR)、Python 3.12 或更高、uv 包管理器装依赖。还需要显式授予 macOS 自动化/辅助功能权限——没有授权时系统会静默丢弃合成点击,看起来就像什么都没发生。

为什么同时需要 TypeSafe key 和 Anthropic key?

双 API 配置把结构逻辑和语言分开:TypeSafe key 驱动 Jev 的动作选择与校验,Anthropic key 只用于文本生成(如填搜索框)。每段自由文本输入后都有一道 Jev 布尔命题校验——不过关就回滚动作、清空输入框。

我的 computer-use agent 为什么会点自己的日志?

Agent 会 OCR 整个屏幕,终端窗口里残留的自动化输出会被识别成可点击的界面文字——视频演示的递归循环失败。修法就是终端清洁令:每次执行前清空活动终端。

紧急情况下怎么让 Agent 停下来?

两条路。终端窗口保有焦点时,Ctrl-C 安全中断 Python 循环;否则把物理鼠标用力推向屏幕左上角——框架监视坐标边界、越界立即终止执行线程。硬件锚定的急停即使软件出问题也有效。

这和浏览器 Agent 有什么区别?

范围和层级。浏览器 Agent 在网络层自动化一个应用;computer use 解析操作系统的完整视觉状态、合成真实的点击和按键。代价也对应:OS 级触达带来权限、卫生、焦点和安全阈值这些浏览器 Agent 永远不用面对的规则。

相关推荐

更多视频攻略