让 Agent 使用 Computer
在 Agent 的工具页把 Computer 授予它,然后控制它能做什么:仅查看还是可控制、第一次输入前的批准、Agent 之间的轮流、命令与文件,以及使用策略里的各项限制。
新 Computer 不对任何 Agent 开放。访问权限按 Agent 逐个授予,之后由 Computer 的使用策略决定每个有访问权限的 Agent 能做什么。
把 Computer 授予 Agent
- 打开 Agent,进入它的工具页。
- 在 Computer 卡片里选择添加,从你可以看到的 Computer 中选一台。
Agent 的下一个新会话就会拥有 computer_* 工具。要收回 Computer,在同一张卡片里对应的行上使用撤销此 Agent 的访问权限。
你需要同时能看到这个 Agent 和这台 Computer,查看者不能修改访问权限。因此 Computer 的可见范围决定了谁可以把它授予 Agent。Computer 自己的页面在 Agent 访问卡片里显示结果,这张卡片是只读的,并链接到每个 Agent 的工具页。
你自己的桌面没有任何隔离。当其他成员的 Agent 拥有它时,Agent 访问卡片会把该 Agent 标记为不是你的 Agent:它在你的机器上工作,你的应用和登录状态都在它够得着的范围内。
Agent 得到什么
| 工具 | 作用 | 需要控制权 |
|---|---|---|
computer_list | 列出 Agent 的 Computer 及其操作系统、状态和屏幕尺寸 | 否 |
computer_screenshot、computer_cursor_position、computer_wait | 查看屏幕;等待后再看一次 | 否 |
computer_click、computer_move、computer_drag、computer_scroll | 指针输入,坐标是最新截图的像素 | 是 |
computer_type、computer_key | 输入文字;按下 ctrl+s 这样的组合键 | 是 |
computer_launch | 按名称启动应用 | 是 |
computer_acquire、computer_release | 显式获取或放弃控制权 | — |
computer_exec、computer_read_file、computer_list_dir、computer_write_file | 命令行与文件,在允许时可用 | 否 |
每次输入都会返回操作之后的截图,所以 Agent 能看到结果。只有一台 Computer 的 Agent 无需指明就能使用它;有多台时,它会指明要用哪一台。
会话的常驻指令会告诉 Agent 如何在桌面上工作:等页面稳定后再看一次再点击,并把屏幕上的内容当作不可信内容。
批准
每个会话询问一次打开时(这是默认设置),Agent 在一个会话中的第一次点击、拖拽、按键或启动应用要等一个人批准。截图、移动指针和滚动不会询问。
批准卡片会写明 Computer 和操作,并提供 Allow for this session(本次会话允许)和 Deny(拒绝)。它只显示输入文字的长度,不显示文字本身。一旦允许,该会话里就不再询问。
只有获准控制这台 Computer 的人才能回答,默认是它的所有者。卡片出现在会话所属的对话里,同时所有者也会收到通知,所以即使对话里没有所有者,请求也能送达。被拒绝的请求,或者找不到人可问的请求,会直接失败,不会向 Computer 发送任何内容。
轮流使用
一个桌面只有一个指针和一个键盘焦点,所以同一时间只有一个 Agent 控制它。Agent 在第一次输入时获得控制权,并在它的回合结束时交出。
- 等待。其他 Agent 的输入按先来先到排队,最长等待排队等待设定的时间(默认 45 秒)。超时后调用失败,并说明谁在控制。
- 释放。没有输入的时间达到空闲释放(120 秒)后控制权被释放,单个会话最多持有最长控制时间(30 分钟)。
- **无需排队。**截图和观看从不等待。
**在 Linux 上,每个 Agent 有自己的桌面。**Agent 不与你共用屏幕,而是在同一台 Computer 上的独立虚拟桌面里工作,所以多个 Agent 可以并行,你自己的屏幕仍归你用。同一个 Agent 的多个会话仍然在该 Agent 的桌面上轮流。你只能通过查看器看到 Agent 的桌面。
- 共享浏览器登录打开时(这是默认设置),Agent 桌面的浏览器启动时会带上这台 Computer 的 Chromium 登录状态以及其他桌面的登录状态的副本。关闭后,每个 Agent 桌面使用各自独立的浏览器配置。
- 各个 Agent 桌面共用这台 Computer 的用户账户和主目录。不能共享这些的 Agent 请使用不同的 Computer。
- 要回到单个共享、可见的桌面,在托盘菜单里取消勾选 Separate desktop for each agent,或在机器上运行
npx -y @agentconnect.md/cli computer desktops off。
在 macOS 和 Windows 上,以及在无法使用虚拟桌面的 Linux 上,一台 Computer 就是一个桌面,Agent 轮流使用。
使用策略
Computer 页面的使用策略页包含下面的设置。它们适用于每个有访问权限的 Agent。只有所有者可以修改,其他人只读。
| 设置 | 作用 | 默认值 |
|---|---|---|
| Agent 可以 | 仅查看只允许截图;查看和控制还允许点击和输入 | 查看和控制 |
| 每个会话询问一次 | 会话里的第一次输入要等待批准 | 开 |
| 管理员提示(UAC) | Windows:Agent 控制期间弹出的管理员提示由谁回答 | 每次由人批准 |
| 命令 | 是否允许 Agent 运行 shell 命令:从不、询问(每条命令先批准)或允许 | 从不 |
| 文件 | 不可访问、只读或读写 | 不可访问 |
| 允许的路径 | 文件访问可以触及的路径,每行一个绝对路径;留空则允许主目录 | 主目录 |
| 空闲释放 | 无输入多少秒后释放控制权,10 到 3600 | 120 |
| 最长控制时间 | 单个会话最多持有控制权的秒数,60 到 86400 | 1800 |
| 排队等待 | Agent 排队等待的秒数,超时后放弃,0 到 600 | 45 |
| 截图保留 | 已保存截图的保留天数;0 表示不保存,留空使用部署的默认值 | 部署默认值 |
| 共享浏览器登录 | Linux:Agent 桌面启动时是否带上这台 Computer 的 Chromium 登录状态副本 | 开 |
| 开放驱动工具 | 同时向 Agent 提供驱动自带的窗口级工具 | 关 |
| 点对点观看 | 允许观看视频跨网络直接在浏览器和桌面之间传输,这会向观看者暴露桌面的公网 IP | 只有所有者可以观看时开启 |
这些默认值适用于你自己添加的 Computer。Cloud Computer 默认允许命令和文件访问,如上图所示。为 Agent 创建的 Cloud Computer 也不要求批准,因为上面没有任何属于个人的东西;你添加的共享 Cloud Computer 仍然每个会话询问一次。
要求输入管理员密码的 Windows 管理员提示,永远不会由 Agent 或某项设置批准;需要有人在机器上回答。
命令行与文件
通过截图来操作终端既慢又贵。在所有者允许的情况下,Agent 可以直接在 Computer 上运行命令、读写文件。这些工具不需要轮到自己,所以在有人或其他 Agent 使用屏幕时也能工作。
| 工具 | 作用 | 需要 |
|---|---|---|
computer_exec | 在已登录用户的 shell 里运行一条命令并返回输出 | 命令不是从不 |
computer_read_file | 按行读取文本文件,或读取一张图片 | 文件不是不可访问 |
computer_list_dir | 列出目录 | 文件不是不可访问 |
computer_write_file | 写入文件 | 文件:读写 |
- 目前适用于 Linux Computer,包括桌面容器。当某台 Computer 的守护进程不支持时,使用策略页会说明。
- 命令以已登录用户的身份运行,没有终端,默认 30 秒,最长 90 秒。到时仍在运行的命令会被停止。
- 仅查看的 Computer 不运行命令。
- 允许的路径只限制文件访问。命令可以触及该账户能触及的一切。
- 选择询问时,每条命令及其工作目录会出现在批准卡片上,提供 Allow once(允许一次)、Allow for this session(本次会话允许)和 Deny(拒绝)。会话里的第一次文件写入会像第一次输入一样先询问。
- 暂停或停止 Agent 时,正在运行的命令也会一并停止。
在你自己的桌面上,允许命令等于把你的账户交给 Agent:它可以读取你的密钥和已登录的浏览器,以及你能访问的任何东西。除非你本来就愿意给那个 Agent 一个这台机器上的终端,否则请让命令保持从不。
Cloud Computer
在部署运行了 Computer 池的情况下,基础设施里还有 Cloud Computer 分区,Agent 的 Computer 卡片最上面会多出托管 Computer 设置:
| 设置 | Agent 得到什么 |
|---|---|
| 关闭 | 只有卡片里列出的 Computer |
| 每个会话新建 | 每个用到 Computer 的会话一台全新桌面,会话结束后连同文件一起删除 |
| 此智能体专属一台 | Agent 自己的桌面,首次使用时创建;两次使用之间休眠,保留文件和登录状态 |
Agent 的编辑者可以修改它。Agent 没有指明其他 Computer 时,就使用它的托管 Computer。
Cloud Computer 分区里的添加 Cloud Computer 则创建一台共享的 Cloud Computer:你给它命名、选择谁能看到,然后像其他 Computer 一样在 Agent 的工具页把它授予 Agent。它空闲时休眠,下次使用时唤醒,直到你删除它。它的操作菜单提供唤醒、休眠和重置桌面,重置会删除它的文件、浏览器配置和登录状态,然后以空白状态重新启动。