기록된 작업과 결과
2026년 9월 21일, Agent는 macOS용 rdp-cli 0.1.0 빌드 2026092001로 Windows 11의 LibreOffice Calc 26.8.0을 RDP를 통해 조작했습니다. 원격 해상도는 1440 × 900이었습니다. 12개월의 가상 서비스 데이터가 있는 문서를 올리고, 원격 앱에서 두 데이터 계열의 차트와 세 합계를 만든 후 저장한 XLSX를 가져왔습니다. 계산과 차트 생성은 Calc가 수행했고, 로컬 컴퓨터에서는 입력 자료만 준비했습니다.
원본 통합 문서와 기록된 결과물을 내려받을 수 있습니다. 아래는 실제 명령 인터페이스에 맞춰 정리한 재현 절차입니다. 좌표와 토큰 자리표시자는 원래 세션을 그대로 재생하는 기록이 아닙니다.
2026년 9월 21일에 기록한 영어 인터페이스 원본입니다. 스크린샷은 번역하거나 보정하지 않았으며 화면 문구는 영어 그대로입니다.
허가된 RDP 세션 준비
맞는 Mac 버전을 설치하고 CLI를 활성화한 뒤 빠른 시작에 따라 연결합니다. 원격 Windows에는 Calc가 설치되어 있고 드라이브 리디렉션이 허용되어야 합니다. 호출자에게 파일 및 입력 권한이 필요합니다. 반환된 data.session을 SESSION에 넣고 다른 기록의 세션 ID를 복사하지 마세요. 이 사례의 실제 클라이언트는 macOS이며 Microsoft Excel 테스트나 모든 클라이언트 플랫폼의 성능 벤치마크가 아닙니다.
원본 파일을 현재 로컬 디렉터리에 service-activity.xlsx로 저장합니다. 크기는 4,489바이트입니다. 세션을 확인하고 교환 드라이브 루트에 업로드합니다.
rdp-cli status --session SESSION
rdp-cli files upload --session SESSION --local ./service-activity.xlsx --path service-activity.xlsx
업로드 응답의 data.transfer_id를 TRANSFER_ID로 저장하고 completed를 기다립니다.
rdp-cli files status --session SESSION --transfer-id TRANSFER_ID
queued는 접수되었다는 뜻입니다. --path는 세션 교환 드라이브의 경로이며 임의의 Windows 디스크 경로가 아닙니다. VNC는 이 파일 흐름을 지원하지 않습니다. 디렉터리 전송과 덮어쓰기는 파일 전송 안내를 참고하세요.
문서를 열고 차트 만들기
rdp-cli screenshot --session SESSION --out calc-before.png
calc-before.png를 읽고 data.observation을 저장합니다. 원격 데스크톱에서 Calc를 연 다음 세션의 리디렉션된 드라이브에서 service-activity.xlsx를 엽니다. 새 스크린샷에서 실제 조작 대상을 선택하세요. 로컬에서 문서를 여는 것은 이 원격 작업을 대신하지 않습니다.
Calc에서 머리글을 포함한 A5:C17을 선택하고, 월을 범주로 하며 Requests와 Resolved를 두 데이터 계열로 하는 차트를 삽입합니다. 연결선 없는 점 표식을 사용하고 제목 “Monthly service activity”, 축 이름 “Month” / “Requests”를 입력한 뒤 차트를 데이터 오른쪽에 놓습니다. 환경에 따라 메뉴와 좌표가 달라지므로 현재 Calc 화면에서 컨트롤을 찾으세요.
수식 입력과 결과 확인
시트에서 B18을 선택합니다. 다음은 입력 흐름의 한 예입니다. X, Y를 실제 셀 좌표로, OBSERVATION을 방금 읽은 스크린샷의 토큰으로 바꿉니다.
rdp-cli click --session SESSION --desktop --x X --y Y --observation OBSERVATION
rdp-cli screenshot --session SESSION --out calc-focused.png
calc-focused.png를 읽어 원하는 셀이 활성화되었는지 확인하고, 응답의 data.observation을 NEW_OBSERVATION으로 사용합니다.
rdp-cli type --session SESSION --text "=SUM(B6:B17)" --observation NEW_OBSERVATION
rdp-cli screenshot --session SESSION --out calc-formula.png
calc-formula.png에서 수식 텍스트를 확인합니다. 이 응답의 최신 토큰을 FORMULA_OBSERVATION에 넣고 입력을 확정한 뒤 관찰합니다.
rdp-cli key --session SESSION --keys ENTER --observation FORMULA_OBSERVATION
rdp-cli screenshot --session SESSION --out calc-total.png
다른 셀도 관찰→포커스→입력→확인 순서로 처리하며 수식과 토큰을 매번 바꿉니다.
| 셀 | 수식 | 예상 합계 |
|---|---|---|
| B18 | =SUM(B6:B17) |
15,230 |
| C18 | =SUM(C6:C17) |
14,933 |
| D18 | =SUM(D6:D17) |
14,140 |
합계 행을 굵게 표시합니다. 입력 성공 응답은 전송되었다는 뜻이지 Calc가 수식을 받아들였다는 증거가 아닙니다. 다음 스크린샷과 저장된 문서를 확인하세요.
XLSX 저장, 다운로드, 검증
같은 리디렉션된 드라이브에 service-report.xlsx로 다른 이름으로 저장합니다. Calc가 형식을 물으면 XLSX를 유지하고, 저장 완료 후 가져옵니다.
사이트에서 받은 보관용 참고 파일의 이름은 service-report.xlsx로 유지합니다. 아래 명령은 직접 원격에서 만든 결과를 로컬 service-report-reproduced.xlsx로 저장하여 두 파일을 구분합니다.
rdp-cli files list --session SESSION
rdp-cli files download --session SESSION --path service-report.xlsx --local ./service-report-reproduced.xlsx
다운로드의 새 data.transfer_id로 files status를 조회하여 completed 이후에 진행합니다. 문서가 열리고 세 수식과 합계가 유지되는지, 차트가 편집 가능하며 A6:A17, B6:B17, C6:C17을 참조하는지 확인합니다. 기록된 결과에는 외부 통합 문서 링크가 없었습니다.
shasum -a 256 ./service-report-reproduced.xlsx
보관된 결과물은 11,417바이트이며 SHA-256은 2ce1005ca2d4c0ad0e0330b8d0f7aab67e96dd1697b2344669ff621db41b6dc4입니다. 이 해시는 내려받을 수 있는 당시 기록 파일을 식별합니다. 새로 만든 문서는 메타데이터 때문에 바이트가 다를 수 있으므로 같은 해시를 요구하기보다 수식, 값, 차트를 검증하세요.
문제가 생겼을 때
- 교환 드라이브나 파일 권한이 없음: RDP 드라이브 리디렉션과 호출자 기능을 확인합니다. 원격 바탕 화면에 저장하는 것만으로 교환 디렉터리에 들어가지는 않습니다.
- 다른 곳에 글자가 입력됨: 새 화면을 읽고 올바른 포커스를 복구합니다. 확인 없이 수식을 계속 보내지 마세요.
- 관찰 토큰 만료, 일시 중지, 사람의 제어: 입력을 멈춥니다. 허가된 제어권 반환 후 새 스크린샷을 읽고 진행합니다.
FILE_BUSY또는 저장 중: 앱의 저장이 끝나도록 하고 파일과 전송 상태를 확인합니다. 대기 중인 다운로드를 완성된 결과로 보지 마세요.- 입력 호출 시간 초과: 원래 요청 ID로
rdp-cli operations status --session SESSION --request-id REQUEST_ID를 조회하고 화면을 본 뒤 재시도 여부를 결정합니다. 결과를 모른다는 것은 아무 일도 없었다는 뜻이 아닙니다.
증거는 가상 데이터를 사용한 이 Calc 작업에 한정되며 모든 사무용 앱이나 복잡한 문서의 성능을 보장하지 않습니다. Agent 명령 흐름이나 RDP 파일 기능을 이어서 확인하세요.
