Token导航 LogoToken导航TokenDH.com
研究检索需要联网clawhub未标认证来源可访问clear审计提醒

wincontrolwincontrol 控制

Agent Skill

wincontrol 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

4,169

周安装

172

GitHub Stars

公开资料未说明

下载量

1,362
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:wincontrol(wincontrol 控制)
来源仓库:https://github.com/qqshi13/wincontrol
安装命令:
openclaw skills install wincontrol
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install wincontrol

简介

在 Windows 上提供 HTTP API,以捕获按需屏幕截图并通过端口 8767 上的 POST 请求远程控制鼠标和键盘操作。

SKILL.md

WinControl Skill

AI remote control for Windows desktop. Captures screen on-demand via POST request and provides an HTTP API for mouse/keyboard actions.

What It Does

  • On-Demand Capture: POST to /capture to save screenshot, returns file path
  • Action API: Control mouse and keyboard via HTTP endpoints on port 8767
  • Auto-Cleanup: Deletes screenshot on server shutdown (Ctrl+C)
  • Cross-Platform: Works on native Windows or WSL
  • Self-Contained: Single screenshot.jpg saved in skill folder, overwritten each time, auto-deleted on exit

Quick Start

Option 1: Native Windows (Recommended)

Run directly on Windows without WSL:

# Install dependencies (one-time)
pip install pywin32 pillow mss

# Start the server
cd %USERPROFILE%\.openclaw\workspace\skills\wincontrol
python server.py

Or use the provided batch file:

.\start.bat

Screenshots are saved as screenshot.jpg in the skill directory and auto-deleted when the server stops.

Option 2: WSL Integration

If you prefer WSL, the server runs on Windows Python but can be controlled from WSL:

# From WSL
cd ~/.openclaw/workspace/skills/wincontrol
./start.sh

Or start manually with PowerShell 7:

'/mnt/c/Program Files/PowerShell/7/pwsh.exe' -Command \
  "python //wsl.localhost/Ubuntu/home/\$USER/.openclaw/workspace/skills/wincontrol/server.py" &

Verify Installation

# Health check
curl http://localhost:8767/ping
# Output: {"ok": true}

# Capture a screenshot
curl -X POST http://localhost:8767/capture
# Output: {"ok": true, "path": ".../screenshot.jpg"}

Native Windows: Open screenshot.jpg in the skill directory

WSL: Access via the skill folder path

File Structure

skills/wincontrol/
├── SKILL.md            # This file
├── server.py           # Main server (runs on Windows)
├── start.bat           # Start script (Native Windows)
├── start.sh            # Start script (WSL)
├── stop.sh             # Stop script (WSL)
└── screenshot.jpg      # Latest screenshot (auto-created, auto-cleaned)

API Reference

Capture Screen

curl -X POST http://localhost:8767/capture

Returns: {"ok": true, "path": ".../screenshot.jpg"}

Each capture overwrites screenshot.jpg in the skill directory. The file is automatically deleted when the server stops.

Mouse Actions

# Move cursor (no click)
curl -X POST http://localhost:8767/move -d '{"x": 500, "y": 300}'

# Click
curl -X POST http://localhost:8767/click -d '{"x": 500, "y": 300}'

# Drag
curl -X POST http://localhost:8767/drag -d '{"x1": 100, "y1": 200, "x2": 300, "y2": 400}'

# Scroll
curl -X POST http://localhost:8767/scroll -d '{"x": 500, "y": 300, "direction": "down", "amount": 3}'

Keyboard Input

# Type text
curl -X POST http://localhost:8767/enter -d '{"keys": ["Hello World"]}'

# Press special key
curl -X POST http://localhost:8767/enter -d '{"keys": ["Enter"]}'

# Key combination (Ctrl+C)
curl -X POST http://localhost:8767/enter -d '{"keys": ["Ctrl", "C"]}'

# Mixed sequence: type, press key, then combo
curl -X POST http://localhost:8767/enter -d '{"keys": ["Hello", "Enter", "Ctrl", "A"]}'

The /enter endpoint accepts a list of keys and handles them sequentially:

  • Text strings → Typed as-is
  • Special keys → Pressed once (Enter, Escape, Tab, etc.)
  • Modifier + key → Treated as combination (Ctrl+C, Alt+Tab, etc.)

Special Keys Reference

Single keys:

  • Enter, Return, Escape, Esc
  • Backspace, Tab, Space
  • Delete, Del
  • Up, Down, Left, Right
  • Home, End, PageUp, PageDown
  • F1 through F12

Modifiers (combine with other keys):

  • Ctrl, Control
  • Alt
  • Shift
  • Win, Windows

Common Workflows

Capture and View (Native Windows)

# Using PowerShell
$response = Invoke-RestMethod -Uri "http://localhost:8767/capture" -Method Post
Start-Process $response.path

Capture and View (WSL)

FILE=$(curl -s -X POST http://localhost:8767/capture | python3 -c "import sys,json; print(json.load(sys.stdin)['path'])")
read "$FILE"

Click and Verify

# Click somewhere
curl -X POST http://localhost:8767/click -d '{"x": 500, "y": 300}'
sleep 0.5

# Capture to see result
curl -X POST http://localhost:8767/capture

Open Notepad and Type

# Win+R to open Run
curl -X POST http://localhost:8767/enter -d '{"keys": ["Win", "R"]}'
sleep 0.5

# Type notepad and press Enter
curl -X POST http://localhost:8767/enter -d '{"keys": ["notepad", "Enter"]}'
sleep 1

# Type message
curl -X POST http://localhost:8767/enter -d '{"keys": ["Hello from WinControl!"]}'

Installation

Native Windows

  1. Install Python 3 from python.org
  2. Install dependencies:
   pip install pywin32 pillow mss
  1. Clone/download the skill to ~/.openclaw/workspace/skills/wincontrol/
  2. Start the server:
   python server.py

WSL2 (Legacy)

See WSL2 Configuration section below.

Frame Management

  • Capture: On-demand via POST /capture
  • Quality: 90% JPEG for clear text/UI
  • File: screenshot.jpg in skill directory
  • Behavior: Overwritten on each capture
  • Auto-cleanup: Deleted when server stops (Ctrl+C)

To change quality, edit server.py:

QUALITY = 90      # 1-100

Stopping the Server

The server automatically cleans up the screenshot when stopped.

Native Windows

Press Ctrl+C in the PowerShell window, or:

# Find and stop the process
Get-Process python | Where-Object {$_.CommandLine -like '*wincontrol*'} | Stop-Process

WSL

./stop.sh

Or manually:

# Kill Python process on Windows using PowerShell 7
'/mnt/c/Program Files/PowerShell/7/pwsh.exe' -Command \
  "Get-Process python -ErrorAction SilentlyContinue | Where-Object {\$_.CommandLine -like '*wincontrol*'} | Stop-Process -Force"

Troubleshooting

Native Windows

Issue: pip install pywin32 fails

  • Try: pip install pywin32 --upgrade --force-reinstall
  • Or download from GitHub releases

Issue: Port 8767 already in use

  • Find the process: netstat -ano | findstr :8767
  • Kill it: taskkill /PID <PID> /F

Issue: Cannot access from WSL

  • Ensure Windows Firewall allows Python through
  • Try disabling Windows Defender Firewall temporarily for testing

WSL2

Prerequisites

  1. WSL2 with Ubuntu (or your preferred distro)
  2. Python 3 on Windows side
  3. Dependencies: pywin32, pillow, mss (auto-installed)

Path Configuration

Screenshots are saved as screenshot.jpg in the skill folder, accessible from both Windows and WSL.

Troubleshooting

Issue: Server starts but curl fails

  • Check if port 8767 is in use: lsof -i :8767
  • Kill existing process: kill <PID>

Issue: Python module errors

  • Manually install deps on Windows:
'/mnt/c/Program Files/PowerShell/7/pwsh.exe' -Command "pip install pywin32 pillow mss"

How It Works

┌─────────────┐     ┌──────────────┐     ┌────────────────┐
│  Client     │────▶│   server.py  │────▶│  screenshot.jpg│
│  (curl/ps)  │     │  (localhost) │     │  (skill dir)   │
└─────────────┘     └──────────────┘     └────────────────┘
                            │
                     ┌─────┴─────┐
                     │  Port     │
                     │  8767     │
                     └───────────┘

The server runs on Windows Python. Screenshots are saved as screenshot.jpg in the skill directory and automatically deleted when the server stops (Ctrl+C).

Python Client Example

import requests
import time

API = "http://localhost:8767"

def capture():
    """Capture screen and return file path"""
    r = requests.post(f"{API}/capture")
    return r.json().get("path")

def click(x, y):
    requests.post(f"{API}/click", json={"x": x, "y": y})

def enter(keys):
    requests.post(f"{API}/enter", json={"keys": keys})

# Example workflow
if __name__ == "__main__":
    # Type text, press Enter, then select all
    enter(["Hello World", "Enter", "Ctrl", "A"])
    time.sleep(0.5)
    
    # Capture result
    screenshot_path = capture()
    print(f"Screenshot saved to: {screenshot_path}")

Security Notes

  • Server binds to localhost only (not accessible from network)
  • No authentication - anyone with local access can control your desktop
  • Screenshot is auto-deleted when server stops
  • Screenshot saved as single screenshot.jpg in skill folder, not system directories
  • Be careful running this on shared machines

Integration with OpenClaw

Native Windows

// Capture and view
const result = await exec("curl -s -X POST http://localhost:8767/capture");
const data = JSON.parse(result.stdout);
// Path will be Windows format: C:\Users\...
await read(data.path);  // OpenClaw handles Windows paths

WSL

// Capture and view
const result = await exec("curl -s -X POST http://localhost:8767/capture");
const data = JSON.parse(result.stdout);
await read(data.path);  // Path: /mnt/c/Users/...

// Or take action then capture
await exec("curl -X POST http://localhost:8767/click -d '{\"x\":500,\"y\":300}'");
await exec("sleep 0.5");
const screenshot = await exec("curl -s -X POST http://localhost:8767/capture");

License

MIT-0

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

93.36%
按下载量换算1,272

安全审计

VirusTotal

未展示

ClawScan

可疑

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills