rdp-cli
如何讓 Claude Code 控制遠端 Windows 桌面
Claude Code 很擅長處理程式碼、檔案和命令列工具,但許多實際工作仍需要 Windows 桌面:開啟 Excel、使用舊版軟體、處理檔案對話框,或操作沒有 API 的應用程式。
實用做法是透過 MCP 將 Claude Code 連接到遠端桌面工具。MCP 提供工具介面,RDP 提供 Windows 電腦的連線;Claude Code 決定下一步,桌面工具負責執行與驗證。
基本架構
Claude Code
↓
MCP 遠端桌面伺服器
↓
rdp-cli 或其他桌面控制器
↓
遠端 Windows 桌面
MCP 伺服器只應暴露必要操作:連線、截圖、點擊、輸入文字、快捷鍵、檔案上傳下載、狀態查詢與中斷連線。除非確有需要,不要預設開放不受限制的遠端 Shell。
先觀察,再操作
可靠的桌面自動化流程是:
截圖 → 判斷 → 執行一個動作 → 再次截圖 → 驗證
rdp-cli screenshot --session SESSION --out before.png
rdp-cli click --session SESSION --desktop --x 420 --y 260 --observation OBSERVATION
rdp-cli screenshot --session SESSION --out after.png
第一張截圖用來尋找正確視窗與控制項,新的 observation 避免操作套用到過時畫面,第二張截圖則確認結果。命令成功只代表輸入已送出,不代表應用程式完成工作;錯誤、權限提示或其他視窗都可能出現。
實際範例
對 Windows 報表程式匯入 sales.csv、產生 report.pdf 時,檔案傳輸應使用結構化工具:
rdp-cli files upload --session SESSION --local ./sales.csv --path input/sales.csv
rdp-cli files download --session SESSION --path output/report.pdf --local ./report.pdf
給 Claude Code 的指令要包含驗證條件:
連線到遠端 Windows 桌面。
開啟報表程式,匯入 input/sales.csv,產生月報並匯出 output/report.pdf。
每次圖形操作後截取新畫面並確認預期視窗可見;若畫面不符預期就停止回報。
不要在檢查工作階段狀態前重複不確定的操作。
如果 API 或命令列已能完成任務,就優先使用它們;只有真正需要圖形介面的部分,才交給 RDP 自動化。