rdp-cli

RDP 与 VNC:AI Agent 应该选哪个?

AI Agent 不只是需要一条远程连接。它还必须看见桌面、执行操作、确认结果,并在出现异常时恢复。因此,RDP 和 VNC 的选择会直接影响自动化的稳定性。

先说结论

如果 Agent 要操作 Windows、处理文档、使用多显示器,或在会话中上传和下载文件,优先选择 RDP。

如果 Agent 必须操作一个已经打开的桌面,也就是和人看到完全相同的屏幕,选择 VNC 更合适。

两者都能用,但适用的工作方式不同。

什么时候选 RDP

RDP 通常是 Windows 自动化的实用默认选项:

  • Office 和其他桌面应用
  • 文档处理与报告生成
  • 可重复的远程会话
  • 多显示器工作流
  • 需要带回结果文件的任务

例如,Agent 可以连接 Windows,打开表格,生成报告,保存后再下载完成的文件。稳定、可重复的会话也能减少旧窗口或意外弹窗带来的误操作。

什么时候选 VNC

当“当前桌面”本身就是事实来源时,VNC 更有价值:

  • 应用已经处于运行状态
  • 人和 Agent 需要查看同一个控制台
  • 维护 Linux 或旧版图形应用
  • 任务依赖屏幕当前显示的内容

需要注意的是,Agent 更依赖现有 VNC 服务和桌面状态。如果画面刷新很慢,或者弹窗挡住了应用,Agent 可能会根据过时画面继续操作。

用 rdp-cli 建立可靠的操作循环

不要让 Agent 连续发送一长串盲点操作。更稳妥的方式是:

  1. 截取当前屏幕。
  2. 让 Agent 读取画面。
  3. 只执行一个受控操作。
  4. 再次截取屏幕。
  5. 确认结果后再继续。
./rdp-cli.exe screenshot --session $session --out ./before.png
./rdp-cli.exe screenshot --session $session --out ./after.png

处理文件时,直接传输文件,不要让 Agent 逐步操作文件选择框:

./rdp-cli.exe files upload --session $session --local ./input.xlsx --path input.xlsx
./rdp-cli.exe files download --session $session --path report.xlsx --local ./report.xlsx

如果 Agent 遇到意外画面,先观看并暂停会话,再由人工接管:

./rdp-cli.exe watch --session $session --viewer window
./rdp-cli.exe pause --session $session

实用选择规则

Windows 自动化、文档处理、多显示器和可重复的文件任务,选 RDP。

已有桌面会话、需要人与 Agent 共享画面,或必须按照用户所见操作的应用,选 VNC。

协议只是连接层。真正决定可靠性的,是“最新截图 → 一次操作 → 最新截图 → 验证结果”这个循环。它才是让远程桌面真正适合 AI Agent 的关键。