记忆

Computer Use Kylinos

试用

GUI automation on KylinOS. V11 (Wayland/wlcom) uses wlcctrl; V10SP1 (X11) uses xdotool. Find/launch/focus windows, screenshot, click/type/drag with correct coordinates, and verify GUI results.

它能做什么

GUI automation on KylinOS. V11 (Wayland/wlcom) uses wlcctrl; V10SP1 (X11) uses xdotool. Find/launch/focus windows, screenshot, click/type/drag with correct coordinates, and verify GUI results.

技能文档

Computer Use KylinOS

GUI automation across KylinOS V11 (Wayland) and V10SP1 (X11). Resolve script paths relative to this skill directory.

Step 0 — detect the OS

Always run first; pick the backend by result.

bash scripts/detect-os.sh   # -> v11 | v10sp1 | unknown
ResultBackendToolProtocol
v11Waylandwlcctrlwlcom
v10sp1X11xdotoolX

Fast path

V11 (Wayland) — wlcctrl

bash scripts/wlcctrl-info.sh                      # inspect once per task
wlcctrl --search ''
wlcctrl --getwindowgeometry 
wlcctrl --windowcapture  --path /tmp/win.png   # pick coords from this
wlcctrl --windowactivate 
wlcctrl --keystring 'text'                         # keyboard is fastest
wlcctrl --key ctrl+s
bash scripts/wlcctrl-window-click.sh    [button]   # scale-aware click
bash scripts/wlcctrl-window-dblclick.sh    [button] [delay_ms]  # double-click (geometry queried ONCE, no re-verify)
bash scripts/wlcctrl-drag.sh      [button] # drag

For Kaiming apps: kaiming list | grep -i ''; kaiming run .

V10SP1 (X11) — xdotool

bash scripts/xdotool-info.sh                      # inspect once per task
xdotool search --name ''
xdotool getwindowgeometry 
import -window  /tmp/win.png                  # screenshot to pick coords (needs imagemagick)
xdotool windowactivate 
xdotool type 'text'                                # keyboard is fastest
xdotool key ctrl+s
bash scripts/xdotool-window-click.sh    [button]   # click
bash scripts/xdotool-window-dblclick.sh    [button] [delay_ms]  # double-click (native --repeat 2, single process)
bash scripts/xdotool-drag.sh      [button] # drag

Find the app window, screenshot it, read target (rx,ry) from the image, then click/drag with the relative coordinates.

Universal rules

  • Do not move a window to (0,0) by default. Use the move-window script only when a known position is required, the window is partly off-screen, or the user asks.
  • Prefer keyboard shortcuts/input over pointer clicks when available.
  • Capture the window in its current position; identify targets from the screenshot.
  • For wheel/spinner controls prefer small drag gestures over scroll (scroll may jump values).
  • Avoid closing/killing windows unless explicitly requested.
  • Cache window geometry / display info per task — repeated probes are expensive.

V11 (wlcctrl) specifics

  • ⚠️ man page is WRONG about coordinates. It documents --mousemove/--windowmove as relative displacements; both are actually ABSOLUTE. Pass the absolute target, never add current position.
  • --mousemove input = logical × output scale S; --getmouselocation returns logical.
  • --windowmove -x/-y takes logical coordinates directly (NO × S).
  • Multi-monitor: if window geometry is output-relative, add that output's position to WX,WY first.
  • Use wlcctrl --outputs + --getdisplaygeometry for scale/position.
  • Lock keys (CapsLock/NumLock) don't toggle reliably — use ydotool.

V10SP1 (xdotool) specifics

  • No fractional scaling. Screen coordinates = window origin + relative offset. No scale factor anywhere.
  • xdotool mousemove / windowmove take screen pixel coordinates directly (absolute).
  • Screenshot via import (ImageMagick): import -window /tmp/win.png. Requires sudo apt install imagemagick.
  • Window IDs are decimal integers (not UUIDs).
  • xdotool getwindowgeometry --shell prints X=, Y=, WIDTH=, HEIGHT= for easy parsing.

Coordinate formula

V11 — multiply by scale (mousemove/clicks/drags)

Given window geometry (WX,WY), output scale S, target (RX,RY) in window screenshot:

logical_x = WX + RX
mousemove_x = round(logical_x * S)     # every --mousemove arg, start and end

V11 — windowmove: NO scale

windowmove -x = TX    # logical target, do NOT × S

V10SP1 — no scale at all (clicks/drags/windowmove all the same)

screen_x = WX + RX

The xdotool-window-click.sh / xdotool-drag.sh / xdotool-move-window.sh scripts do this for you.

Core commands

wlcctrl (V11)

wlcctrl --outputs; wlcctrl --getdisplaygeometry 
wlcctrl --list; wlcctrl --search ''; wlcctrl --getactivewindow
wlcctrl --getwindowname ; wlcctrl --getwindowgeometry 
wlcctrl --windowactivate 
wlcctrl --windowmove  -x  -y 
wlcctrl --windowsize  -w  -h 
wlcctrl --windowminimize|maximize|fullscreen  [-o ]
wlcctrl --windowmap 
wlcctrl --windowcapture  --path /tmp/w.png
wlcctrl --fullscreencapture --path /tmp/f.png [-o ]
wlcctrl --mousemove ,; wlcctrl --getmouselocation
wlcctrl --mousebutton 1; wlcctrl --mousepress 1 --mouserelease 1
wlcctrl --scroll -y 
wlcctrl --keystring 'text'; wlcctrl --key ctrl+s
wlcctrl --keydown ; wlcctrl --keyup 

xdotool (V10SP1)

xdotool search --name ''; xdotool search --onlyvisible --name ''
xdotool getactivewindow; xdotool getwindowname 
xdotool getwindowgeometry [--shell] 
xdotool windowactivate ; xdotool windowfocus 
xdotool windowmove   
xdotool windowsize   
xdotool getmouselocation; xdotool mousemove  
xdotool click ; xdotool mousedown ; xdotool mouseup 
xdotool type 'text'; xdotool key ctrl+s
xdotool keydown ; xdotool keyup 
import -window  /tmp/w.png        # screenshot (imagemagick)

When more detail is needed

Read references/details.md for keyboard aliases, multi-step test patterns, spinner controls, screenshots, multi-monitor handling, and X11 caveats.

相关技能

Interact with the desktop GUI — take screenshots, list/raise windows, click with grid targeting, type text, press key combos. Use when you need to see the sc...

1 次安装

通过 CLI 或 MCP 驱动 macOS、Windows、Linux 上的原生 GUI 应用,按元素索引或像素坐标操作。

6 次安装4 星标

Top-level Linux computer-use skill with a bundled standalone runtime that bootstraps itself without any local Claude installation, private native modules, or...

24 次安装1 星标

Drive your machine with a real hardware keyboard and mouse via Rebind. Click, type, browse, fill forms, operate any desktop GUI. The OS sees a real USB HID device.

1 星标

Top-level cross-platform computer-use skill that bundles standalone macOS, Windows, and Linux runtimes with zero local Claude dependency and selects the corr...

17 次安装

浏览器测试与自动化工具包。三层架构:L1快速验证(playwright-cli)、L2深度调试(DevTools)、L3复杂测试(Python+E2E)。v1.1 新增智能点击(自动处理遮挡)。

2 次安装