rdp-cli
让 AI Agent 通过 X11 和 SSH 操控 Linux 应用
适用版本与平台: 0.1.0 · Windows / macOS / Linux · X11 / SSH
Agent 和你共用一个会话
rdp-cli 让 AI Agent 通过命令观察和操作 Linux 应用。Agent 先截图,依据画面操作,再截图核对结果。你可以打开原生窗口或经过授权的 Web 查看器,观看、暂停或接管同一会话。
准备已获授权的目标
Linux 电脑需要已有 SSH 访问入口,以及已安装的 X11 兼容应用。替换示例地址、账号、私钥路径和已独立核实的 known-hosts 文件。在 Windows PowerShell 中,将 rdp-cli 换成 .\rdp-cli.exe。先检查 --version 返回的 embedded_ssh、x11_desktop、x11_application 均为 true。
打开单个应用
示例在 rdp-cli 内置的隔离显示环境中打开已有 Gedit,默认不打开本机查看窗口。保存响应的 data.session,后续以 SESSION 表示。即使主机日常使用 Wayland 桌面,也可以这样转发支持 X11 的应用。
rdp-cli connect --protocol x11 --mode application --host 192.0.2.20 --user USER --ssh-key PRIVATE_KEY --ssh-known-hosts KNOWN_HOSTS --linux-file-root FILE_ROOT --application /usr/bin/gedit --app-args '["--standalone","--new-window"]'
或连接已有 X11 桌面
填写实际 display 和已有授权文件路径。SSH 账号必须有访问该 display 的权限;SSH 登录成功并不等于获得桌面访问授权。这种方式连接已有桌面,不创建另一个登录会话。
rdp-cli connect --protocol x11 --mode desktop --host 192.0.2.20 --user USER --ssh-key PRIVATE_KEY --ssh-known-hosts KNOWN_HOSTS --linux-file-root FILE_ROOT --display DISPLAY --xauthority XAUTHORITY_PATH
观察、操作,再验证
查看返回的 PNG,并保存 data.observation。用图中的实际坐标替换 X、Y。聚焦输入框后重新截图,再使用新令牌。显式剪贴板方法会替换远端剪贴板,不改变本机剪贴板。输入响应只确认派发,操作后仍应观察实际结果。
rdp-cli screenshot --session SESSION --out before.png
rdp-cli click --session SESSION --x X --y Y --observation OBSERVATION
rdp-cli screenshot --session SESSION --out focused.png
rdp-cli linux text --session SESSION --method clipboard --text '审核已完成。' --observation OBSERVATION
rdp-cli screenshot --session SESSION --out after.png
取回成果文件
在 Linux 应用中打开上传结果的 remote_path,编辑、保存,再下载成果。分别保存每次的 transfer_id,等状态达到 completed 后再使用文件。传输前先保存,默认不覆盖已有同名文件;出错后先查任务状态,不要盲目重传。
把 FILE_ROOT 替换为远端已存在、且此 SSH 账号可读写的目录。文件命令只访问该目录;指定目录不会创建目录,也不会增加账号权限。
rdp-cli files list --session SESSION
rdp-cli files upload --session SESSION --local ./report.txt --path report.txt
rdp-cli files status --session SESSION --transfer-id UPLOAD_TRANSFER
rdp-cli files download --session SESSION --path report.txt --local ./result.txt
rdp-cli files status --session SESSION --transfer-id DOWNLOAD_TRANSFER
让人加入操作
需要观看时再打开这个查看器,它最初是只读的。点击接管会停止 Agent 输入;修正后交还控制,继续同一任务。经过授权的 Web 查看器也加入同一会话,同一时间只有一个查看器能持有人工控制权。关闭只读查看器不会断开后台连接。
rdp-cli watch --session SESSION --viewer window
了解协议范围
原生 X11 不提供音频播放或麦克风重定向。访问整个 Wayland 桌面,需要已经配置好的兼容 RDP 或 VNC 端点,并以实际协商能力为准。rdp-cli 不安装或开启远端服务。应用可能在显示连接断开或失联后退出,先保存成果,不要把它当成自动重启或保留工作区。
Wayland 文字输入取决于已有服务端。GNOME 46 和 Krfb 23.08 可能无法映射部分 Unicode 按键,输入后须核对结果。仅在该端点实际支持时使用显式剪贴板粘贴:Plasma Wayland 上的 Krfb 可能公布剪贴板能力却未把内容交给应用。复杂输入或快速操作应分步发送,并检查下一张截图。
已实测的桌面端点: Ubuntu 24.04.5 · GNOME 46 / GNOME Remote Desktop 46.3; KDE Plasma 5.27.12 / Krfb 23.08.5.