feat: AI 控制台增强——①de_read_clipboard 剪贴板回读工具;②任务可中断(stop_event 循环检查点 + API stop + 前端■停止按钮);③智能滚动(回看历史不被打断,贴底才跟随);④右侧实时画面(MJPEG 流自动跟随操作设备,可手动选择)
This commit is contained in:
@@ -228,6 +228,23 @@ def de_tap_element(serial: str, by: str, value: str, index: int = 1) -> dict:
|
||||
"by": by, "value": value, "index": index})
|
||||
|
||||
|
||||
@mcp.tool()
|
||||
def de_read_clipboard(serial: str) -> dict:
|
||||
"""读取设备当前剪贴板内容(ClipInject/atx-agent 通道读回,M1 起支持)。"""
|
||||
try:
|
||||
serial = _check_serial(serial)
|
||||
import uiautomator2 as u2
|
||||
d = u2.connect(serial)
|
||||
text = d.clipboard
|
||||
except PlatformError as e:
|
||||
return _err(e)
|
||||
except Exception as e:
|
||||
return _err(PlatformError("platform_unavailable",
|
||||
f"剪贴板读取失败: {type(e).__name__}: {str(e)[:100]}"))
|
||||
audit.audit("de_read_clipboard", serial, "", f"{len(text or '')} 字符")
|
||||
return _ok({"clipboard": text or ""})
|
||||
|
||||
|
||||
@mcp.tool()
|
||||
def de_wake(serial: str) -> dict:
|
||||
"""点亮设备屏幕并解锁(熄屏时先调用它再截图)。"""
|
||||
|
||||
Reference in New Issue
Block a user