解析モード(録画)で取得する生データと、YOLO/OCR解析を統合したデータの仕様です。自己修復機能における「コンテキスト理解」と「相対座標によるウィンドウ移動耐性」を担保します。
| プロパティ (階層) | 型 | 説明・格納される値 |
|---|---|---|
| id | string | ログの一意なID (例: "step_001") |
| action.type | enum | 操作種別 ("click", "double_click", "keypress") |
| action.coordinates | object | 画面全体の絶対座標 {x, y} |
| action.uiImageBase64 | string | クリックしたUI(カーソル周辺アイコン)のBase64画像文字列。修復時のテンプレートマッチングに使用 |
| action.keyContent | string | 入力されたキーの内容 (例: "Enter", "Hello") ※keypress時のみ |
| timestamp | number | アクション取得時のUnixタイムスタンプ。次アクションまでの待機時間算出に使用 |
| context.screenshotBeforePath | string | 操作前の全体画面スクリーンショットのローカルパス |
| context.screenshotAfterPath | string | 操作後の全体画面スクリーンショットのローカルパス |
| context.activeWindowTitle | string | 操作対象となったアクティブウィンドウのタイトル名 |
| context.relativeCoordinates | object | アクティブウィンドウの左上を原点(0,0)とした相対座標 {x, y}。ウィンドウ移動時の追従に使用 |
| visionAnalysis.uiType | string | YOLO等が判定したUIの種類 ("button", "link", "input" 等)。AI動的再生成の基準に使用 |
| visionAnalysis.uiDetails.boundingBox | object | UI要素の境界ボックス {x, y, width, height} |
| visionAnalysis.uiDetails.text | string | OCRエンジンによって読み取られたUI内のテキスト ("ログイン", "保存" 等) |
{
"id": "step_012",
"rawLog": {
"action": {
"type": "click",
"coordinates": { "x": 1250, "y": 300 },
"uiImageBase64": "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0...",
"keyContent": null
},
"timestamp": 1717654800123,
"context": {
"screenshotBeforePath": "/logs/session_1/step_012_before.png",
"screenshotAfterPath": "/logs/session_1/step_012_after.png",
"activeWindowTitle": "社内システム - Google Chrome",
"relativeCoordinates": { "x": 450, "y": 150 }
}
},
"visionAnalysis": {
"uiType": "button",
"uiDetails": {
"boundingBox": { "x": 1220, "y": 280, "width": 60, "height": 40 },
"text": "保存する"
}
}
}