rdp-cli

如何让 AI Agent 操作远程 Windows 桌面

AI Agent 可以编写脚本,但很多真实任务仍然需要桌面环境:只能在 Windows 上运行的应用、文档编辑器,或文件导出对话框。可靠的做法是让 Agent 遵循一个短反馈循环:观察屏幕、执行一个操作、验证结果。

1. 准备 Windows 主机

在目标电脑上启用远程桌面。为运行 Agent 的电脑下载匹配的 rdp-cli 文件,然后在 PowerShell 中检查:

.\rdp-cli.exe --help

Agent 不必运行在 Windows 主机上,只要能访问 RDP 服务即可。

2. 连接时不要暴露密码

不要把密码直接写进命令行或 shell 历史记录,而是通过标准输入传递:

$secret = Read-Host 'Password' -AsSecureString
try {
  [System.Net.NetworkCredential]::new('', $secret).Password |
    .\rdp-cli.exe connect --host 192.0.2.20 --user USER --password-stdin
} finally {
  $secret.Dispose()
}

保存 JSON 返回的 session 值,后续命令会用它标识远程桌面。

3. 操作前先观察

不要猜坐标。先截取当前屏幕:

.\rdp-cli.exe screenshot --session SESSION --out .\before.png

Agent 查看图片后找到目标控件,再使用截图响应中的 observation 执行点击:

.\rdp-cli.exe click --session SESSION --desktop --x 420 --y 260 --observation OBSERVATION

4. 验证每个重要步骤

点击后,先重新截图,再输入或提交内容:

.\rdp-cli.exe screenshot --session SESSION --out .\focused.png
.\rdp-cli.exe type --session SESSION --text "Remote task completed." --observation NEW_OBSERVATION
.\rdp-cli.exe screenshot --session SESSION --out .\after.png

这样可以发现窗口移动、应用加载和误点击。命令没有报错,不代表操作一定成功。

5. 让人随时接管

用户可以在窗口或浏览器中观看同一个会话:

.\rdp-cli.exe watch --session SESSION --viewer window

查看器默认只读,并支持暂停 Agent、接管操作以及交还会话。登录提示、确认对话框和不可逆操作都应由人确认。

尽量通过专用网络或 VPN 使用 RDP,安全保存凭据,并按环境配置证书验证。实际流程很简单:观察、操作、验证。