电脑操控

让 Klaus 看屏幕、移鼠标、敲键盘操作桌面应用,以及应用清单把关、让路与锁屏策略。

让 Klaus 像人一样看屏幕、移鼠标、敲键盘,操作那些没有接口的桌面应用。需要先完成辅助功能与自动化授权(见系统授权)。

它的形态和普通开关不一样:

  • 它对引擎是一台内置的 MCP 服务器,开关与配置面长在 MCP 页的原生能力卡里。开启后会给会话多出一组桌面操作工具:列出电脑上的应用、读一个应用当前窗口的状态(带截图和无障碍树)、点击、右键菜单动作、填值、选文本、滚动、拖拽、按键、打字,再加上读/改上面那份应用策略、以及三个录制控制工具。(浏览器操控也曾是一张原生能力卡,它现已归入内置插件,配置面在插件页。)
  • 干活的是一个随应用分发的原生小助手进程,Klaus 用标准输入输出给它送指令。它直接调系统接口完成动作——用辅助功能接口读控件树、用图形事件接口注入鼠标键盘、用系统的屏幕捕获框架截屏,不需要额外装任何运行时。系统授权记在这个小助手进程身上,而它由正式安装的 Klaus 拉起。
  • 开启连接器后,默认所有本地应用都可进入授权流程。首次使用应用时询问,选择“始终允许”后会记住选择;已有应用清单保留为始终允许记录,不再限制其他应用。明确禁止的应用仍会被拒绝,好友任务仍只允许其单独授权的应用。
  • 在设置 → 电脑操控中查看“始终允许的应用”,点击“添加应用”可填写应用名称或完整应用路径,保存后使用该应用时不再询问。点击行尾删除并确认即可撤销记录,下次使用时重新询问。此页不重复提供连接器总开关。普通策略条目按归一后的包含关系匹配;bundle: 和 name: 条目分别精确匹配应用标识和名称,app:self 识别当前安装的 Klaus。
  • 它不会在每次点击前重复询问。同一电脑操控会话记住本次同意;每一轮动手前仍先读取一次窗口状态,每次读取都会附带截图。
  • 清单每次动作都从设置里实时读,不做缓存——所以你在对话里让它改清单,下一个动作就按新清单算,不用重连也不用重启。同理,让它「以后别碰邮件」这种话是直接改这份清单,说完立刻生效。
  • 你在用电脑时它会让路:每个写入类动作(点击、打字这些)之前先探一眼最近有没有人在动键鼠——1.5 秒内有输入、且比它自己上一次动作更晚,就算你在用。此时这次动作直接被拒,并让模型等 2 秒再试,而不是跟你抢鼠标。
  • 锁屏时默认停手:屏幕锁着就直接告诉模型「让用户自己解锁」。自动解锁是可选的,而且有意做得保守:登录口令只在系统弹出的对话框里输入、只存系统钥匙串,既不进对话也不进日志;检测到有人在现场(最近几秒有人动过键鼠)时一律不自动解锁。还要知道 macOS 在锁屏界面开着安全输入,普通签名应用注入按键会被系统拒绝,所以自动解锁大概率解不开,仍会退回让你自己解锁。
  • 辅助功能、屏幕录制这类系统授权只能你自己在系统设置里给,任何程序都不能代写;而且 macOS 对已运行的进程缓存权限结论,给完要重启 Klaus。

演示录制(你做一遍给它看):

  • 入口在技能页的「录制技能」:它会开一条会话,由 Klaus 起录制。录的是你自己的操作——点了哪个控件、输了什么字、切到哪个窗口,记的是无障碍语义(应用名、控件角色与标题)而不是像素坐标,也不录屏幕视频。
  • 录制期间屏幕上有一个悬浮小面板,只有停止和丢弃两个按钮。一次录制最长 30 分钟,忘了停会自动收尾(连接进程中途挂掉也不会丢,已经落盘的事件下次仍能收尾)。
  • 停下来之后 Klaus 读这份事件流,把它写成一份技能(~/.klaus/skills/<短名>/SKILL.md,固定包含概述、前提、复现步骤、验证、待确认项)。所以下次「照着做」照的是这份说明书,不是回放录像——能换窗口位置、能挑更合适的工具替代硬点击。
  • 隐私:密码框不记录(逐个按键探测安全输入)、像凭据的文本落盘前就打码、阻止清单里的应用不录——「永远别碰这个应用」同时意味着「也别录它」。