用途:jev-desktop 让用户用一句自然语言目标驱动桌面应用,或在执行前逐步解析意图。它提供两个入口:run.mjs 接收目标并反复执行直到达成,act.mjs 只解析单步并把计划返回给你,两者都不会把无障碍树放进上下文。
主要能力:每轮读取屏幕,请求一次操作及该操作的目标,执行后再读取。操作为 CLICK、TYPE_TEXT、CHECK、UNCHECK、EXPAND、COLLAPSE、SCROLL、DRILL、WIDEN、WAIT、DONE、BLOCKED 等。每轮输出一行 JSON,停止时再输出一行。支持 --cursor 可视化光标移动,--root @ref 限定区域,--window-id 读取指定窗口。
使用方式:例如 node scripts/jev/run.mjs --app Finder "open the Applications folder",或 node scripts/jev/run.mjs --app TextEdit --cursor --text "A line to write." "write the supplied sentence into the document"。act.mjs 用 --execute 执行,--text 提供文本,--root 指定容器。决策端点默认 TypeSafe 的 api.typesafe.ai,可通过 TYPESAFE_BASE_URL 指向 OpenRouter 的 Decisions 路由(alpha)。
限制:每轮会把屏幕描述(元素角色、名称、最多六十字符的值、状态、窗口标题、近期动作)发到决策端点,可能泄露私密文档内容;--no-values 可隐藏值但更难定位。安全文本字段已由 agent-desktop 屏蔽。风险分级:普通步骤需 0.70 置信度,破坏性需 0.90,低于 0.55 不执行。每次调用约 3 秒,无重试与退避,429 直接结束。不支持按住键或带按住的拖动。当元素超过 254 个时需用 --root 限定。文本会先尝试直接写入,失败再走剪贴板粘贴,粘贴后会回读校验。
适用场景:macOS 桌面应用自动化,如打开文件夹、向文档写入文本等;需要逐步控制的场景可用 act.mjs。