电脑操作
电脑操作
结论先行
用 tools/screen-control.ps1 做机械动作,用截图做唯一可信的反馈。每一步之后都要截图确认,不要凭想象连续操作。
一、常用命令
$PS = "<产品仓库>\tools\screen-control.ps1"
$run = { param($a) powershell.exe -NoProfile -ExecutionPolicy Bypass -File $PS @a }
# 看当前状态:屏幕尺寸、鼠标位置、前台窗口列表
& $run @{ Action = 'info' }
# 截图(默认缩到 1600 宽,方便模型看)
& $run @{ Action = 'shot'; Out = "$env:TEMP\screen.png" }
# 移动 / 点击 / 双击 / 右键
& $run @{ Action = 'move'; X = 900; Y = 500 }
& $run @{ Action = 'click'; X = 900; Y = 500 }
& $run @{ Action = 'dblclick'; X = 900; Y = 500 }
# 打字(会转义特殊字符)
& $run @{ Action = 'type'; Text = 'hello' }
# 按键:^ 表示 Ctrl,% 表示 Alt,{ENTER}、{TAB}、{ESC}
& $run @{ Action = 'key'; Keys = '^s' }
# 滚动:正数向上,负数向下
& $run @{ Action = 'scroll'; Scroll = -3 }
所有动作返回 JSON:{"ok":true,...} 或 {"ok":false,"error":"..."}。
二、铁律(踩过坑总结)
| 铁律 | 原因 |
| --- | --- |
| 打字前必须先点击目标输入框,并截图确认光标在里面 | 有一次没确认,文字打进了用户正在编辑的文档 |
| 不要杀进程来关闭窗口 | 杀进程会丢掉用户未保存的内容;用 {ESC} 或界面里的取消按钮 |
| 每步之后截图 | 屏幕状态和你以为的不一样是常态 |
| 不要连续点击同一位置 | 容易误触;失败先截图看为什么 |
| 坐标基于整屏(1920×1080 这种),不是窗口坐标 | 截图里量出来的就是整屏坐标 |
三、绝对不做
| 禁止 | 说明 |
| --- | --- |
| 点支付、转账、确认订单 | 涉及钱的动作一律让人来 |
| 删除文件 / 清空回收站 | 不可逆 |
| 输入密码、验证码 | 让用户自己输 |
| 在未确认焦点的窗口里打字 | 可能污染用户文档 |
| 关闭用户正在编辑的窗口 | 会丢未保存内容 |
四、已验证记录(2026-11-07)
| 动作 | 结果 |
| --- | --- |
| info | 返回屏幕 1920×1080、光标坐标、前台窗口列表 |
| shot | 输出 PNG,588KB,画面完整 |
| move | 光标移动到指定坐标成功 |
| type | 输入 14 个字符成功(但当时焦点不在预期窗口,已按铁律补上"先确认焦点") |
| key | 发送 Ctrl+Z 成功 |
验收清单
- [ ] 动作前截过一次图,知道当前屏幕长什么样
- [ ] 点击前确认了目标坐标(从截图里量)
- [ ] 打字前确认目标输入框已获得焦点(截图里有光标)
- [ ] 动作后截图,确认结果与预期一致
- [ ] 没有触碰支付、删除、密码类操作
- [ ] 没有杀进程,没有关闭用户正在编辑的窗口