第31篇:电脑操控——AI 替你操作电脑
Hermes 功能详解第31篇:Computer Use。AI 点击、打字、操控桌面。
这篇讲的是:让 Hermes Agent 在后台悄悄替你完成点击、打字、滚动等操作,而你完全不用动鼠标键盘——就像有个隐形助手在帮你干活。
它和普通自动化有啥不一样?
你肯定见过那种“录屏式”的电脑操控工具——它们会抢走你的鼠标,让你啥也干不了。Hermes 完全不同:它在后台操作,你的光标纹丝不动,键盘焦点不切换,虚拟桌面也不跳转。你可以一边写文档,一边看它帮你处理邮件,互不干扰。
而且它不挑模型——Claude、GPT、Gemini,甚至本地跑的开源模型都行,没有厂商绑定。
它到底操控哪台机器?
这点很关键:computer_use 操作的是机器人屏幕所在的那台机器,而不是你运行 Hermes Desktop 的那台电脑。
- 如果 gateway 用的是
terminal.backend: local,那就是 gateway 主机本身。 - 如果终端跑在沙箱里(
docker、ssh、singularity),驱动就跑在沙箱内部、用沙箱自己的显示器,所以它只能碰终端能碰的东西;沙箱镜像里必须自带cua-driver(nousresearch/hermes-sandbox:desktop就带了)。 - Modal、Daytona、Vercel 这几种沙箱目前还托管不了显示器,用这些后端时
computer_use会直接拒绝,除非你在bot_desktop.placement: gateway里明确选择去操控宿主机。
细节可以看 Bot Screen → Where the screen runs。
第1步:安装驱动
打开终端,运行一条命令:
hermes computer-use install
这条命令会让 PM 准备锁定在 pm/lock.json 里的 cua-driver 包(会校验版本),它不会去跑上游安装器。装完用 hermes computer-use status 检查一下是否成功。也可以走交互式路径:运行 hermes tools,选 🖱️ Computer Use 选项,效果一样。
驱动是 PM 托管的工具:
cua-driver被固定在pm/lock.json里,安装器不会提前拉取它,而是在第一次有人启用 Computer Use 时才准备它——比如hermes tools里勾选,或 Dashboard / 桌面端打开 Computer Use 工具集开关,缺驱动时会自动在后台装。如果你之前自己装过 cua-driver,只要它支持 0.20 运行时契约,Hermes 会直接复用;版本太旧或不完整的话,Hermes 会通过 PM 帮你修一次(每个会话最多一次)。用HERMES_CUA_DRIVER_CMD指定的二进制则完全归你管,Hermes 只会报告不兼容、不会动它。
补充一句:驱动其实是随 Hermes 一起发的。
cua-driver被固定在pm/lock.json里,属于默认 PM 包——安装器、裸跑hermes pm install、以及hermes update都会在 macOS、Windows 和 glibc Linux 上把它装上(官方没发 musl 和 Android 版本)。桌面端的安装包里也带着它。想跳过的话,POSIX 上加--skip-computer-use、Windows 上加-SkipComputerUse(或者跑hermes pm install --without cua-driver)就行,Hermes 会记住你的选择,之后用hermes pm install cua-driver可以撤销。如果之前下载失败或者你选了跳过,上面这些安装方式任意一种都能把它补上。
想整个换掉驱动?在
config.yaml里用computer_use.backend指定当前生效的那一个 provider(默认是cua,也可以填一个已安装的 provider 插件,详见 computer-use backend plugins)。hermes tools→ Computer Use 会把所有已安装的 provider 都列出来。
第2步:授权系统权限
- macOS:去「系统设置 → 隐私与安全性 → 辅助功能 + 屏幕录制」,把
hermes computer-use doctor报出来的那个身份勾选上。所有权限模式下都授权给 CuaDriver(com.trycua.driver)——驱动守护进程始终通过CuaDriver.app启动。 - Windows:安装时无需额外权限。如果通过 SSH 远程操控,需要看下官方文档的自动启动配置。
- Linux:确保
DISPLAY(X11)或XDG_SESSION_TYPE=wayland环境变量已设置,AT-SPI 服务默认开启就行。Wayland 会话需要 XWayland 桥接才能截图;另外原生 Wayland 支持是显式开启的,需要在config.yaml里设置computer_use.native_wayland: true,改完记得重启正在运行的 gateway。
第3步:启动会话
hermes -t computer_use chat
或者把 computer_use 加进 ~/.hermes/config.yaml 的启用工具列表里。
权限模式:安全与自由的平衡
Hermes 把权限控制映射成了几种模式:
| 会话模式 | 对应驱动模式 | 说明 |
|---|---|---|
| 默认(手动/智能审批) | standard |
每次操作前问你,安全第一 |
computer_use.permission_mode: bounded + 审核过的 manifest |
私有 bounded 守护进程 |
启动时审核一次能力清单,之后清单外的操作一律失败 |
/yolo 或 approvals.mode: off |
unrestricted |
一次确认后全自动,仅限一次性虚拟机或可牺牲的数据 |
⚠️ YOLO 模式不防提示注入,别在重要环境里开。
关于审批:点击、打字、拖拽、滚动、按键、切换应用这些“破坏性操作”,走的是和危险 shell 命令同一套审批闸门——要么在 CLI 弹窗里确认,要么用消息平台的审批按钮。授权按 cua:<action>:<background|foreground> 记录,存在共享的会话 / command_allowlist 里(后台授权不会覆盖前台可见版本)。没人能应答的场景——比如 cron(approvals.cron_mode)、单次查询、无人值守平台或任何 headless 运行——操作会被直接拒绝,而不是自动放行;--yolo / /yolo 依然可以绕过。
关于浏览器:涉及登录态浏览器配置的网页操作,走的是 browser 工具集(browser_exec),不是 computer_use。旧的 computer_use.grant_existing_profile 开关已经移除,配置里残留的键会被忽略。
出问题了?先跑“体检”
hermes computer-use doctor
它会逐项检查驱动版本、系统权限、辅助功能树是否可达等,并给出具体修复提示。退出码 0 表示一切正常,1 表示有问题,2 表示驱动没装好。
小提示:Windows 上如果 doctor 报 “Access is denied” 但工具其实能用,多半是 cua-driver 装在了
C:\Program Files\WindowsApps下,Hermes 的 venv 解释器执行不了它。现在 doctor 会直接给出这个诊断而不是抛一堆堆栈。修法很简单:用上游安装器重装一次(会装到你的用户目录),或者把HERMES_CUA_DRIVER_CMD指向 WindowsApps 之外的一份拷贝。
Linux 上如果守护进程是你手写的 systemd user unit 或 XDG autostart 条目(而不是 Hermes 托管的),doctor 也会读它们:如果某个
cua-driver的ExecStart指向了已被清理的packages/releases/<version>/目录,会报一条失败的daemon unit (...)检查(把它改指向~/.cua-driver/packages/current/cua-driver即可);如果 unit 跑的是cua-driver serve,doctor 会加一条daemon (...)检查去连它的 socket——没人监听就fail(崩溃循环、已停止、从没启动过),守护进程应答就pass。注意重装驱动不会启动守护进程,得靠systemctl --user status <unit>手动拉起。hermes computer-use status也会打印同样的“守护进程已死”提示并以退出码 1 结束。
那个“幽灵光标”是啥?
AI 操作时屏幕上会出现一个淡色半透明的箭头光标,滑到它点击的位置——这只是视觉提示,不会动你的真实光标。每次运行都有独立会话 ID,多个任务并行时各有各的光标,互不干扰。
这个覆盖光标在部分平台会自动关闭(比如 macOS 会空耗 CPU,headless Linux / WSL2 / 容器,以及 Linux X11 桌面——它的全屏置顶窗口在异常退出后可能卡住整个桌面)。Linux Wayland 和 Windows 会保留。想强制开关,可以在
config.yaml里设置computer_use.no_overlay。
想深入?装个“技能包”
cua-driver skills install
这会装一套平台深度文档(macOS/Windows/Linux 各自的底层机制、录制回放、浏览器交互技巧),当 AI 在某个平台“翻车”时,它会自动查阅对应文档来调整策略。命令会把技能包链接到 ~/.hermes/skills/cua-driver,cua-driver skills status 能看到它被链进了哪些 agent。放心,你平时还是照常调 computer_use(action=...),驱动底层的 MCP 词汇由 wrapper 帮你翻译。
需要远程桌面接管登录 / 2FA 的场景,可以从 Bot Screen 拿一个:它是基于 TigerVNC 的 per-profile Xfce 桌面,串流进 Hermes Desktop,你可以在里面接管登录和两步验证。直接从 Desktop 里启动它就行。
总结一下:装驱动 → 授权限 → 开聊,三步就能让 AI 在后台帮你操作电脑。它不抢你的鼠标,权限可控,出问题有“医生”帮你诊断。
下篇预告:AI 能操作电脑了,那它能自己“看”屏幕内容吗?下一篇我们聊聊视觉能力——AI 的眼睛。
📖 官方文档
本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › user-guide/features/computer-use