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

system-controller系统控制器

Agent Skill

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

总安装

4,774

周安装

195

GitHub Stars

公开资料未说明

下载量

1,529
OpenClaw

安装说明

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

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

ClawHubOpenClaw
openclaw skills install system-controller

简介

system-controller 用于控制 Windows 桌面程序、硬件设备及 IoT 设备,支持窗口操作和进程启停。

  • 适合需要自动化打开应用、调整界面布局或监控系统资源占用的用户使用。
  • 通过指令触发目标程序的启动、关闭或窗口尺寸调整,实现跨软件协同操作。
  • 使用前应确认目标程序兼容性,避免因权限不足导致控制失败或系统不稳定。
  • 建议在受控环境中先行测试,防止误操作影响其他正在运行的进程或服务。

SKILL.md

name
system-controller
description
>

System Controller

Unified control interface for Windows desktop software, system hardware, serial devices, and IoT platforms.

Architecture

User Request → Natural Language Understanding → Script Execution → System Action

Six control modules, each with a dedicated Python script:

ModuleScriptScope
Window Managerscripts/window_manager.pyDesktop window control
Process Managerscripts/process_manager.pySystem process management
Hardware Controllerscripts/hardware_controller.pySystem hardware settings
Serial Communicationscripts/serial_comm.pyArduino / serial devices
IoT Controllerscripts/iot_controller.pySmart home / HTTP APIs
GUI Controllerscripts/gui_controller.pyMouse, keyboard, screenshot, OCR

All scripts are standalone CLI tools. No inter-script dependencies.

Execution Model

Prerequisites

  • OS: Windows 10/11
  • PowerShell: 5.1+ (built-in)
  • Python: Managed runtime (auto-provided by WorkBuddy)
  • Optional: pyserial (auto-installed by serial_comm.py), requests (auto-installed by iot_controller.py), pyautogui (auto-installed by gui_controller.py), pillow (auto-installed by gui_controller.py), pytesseract (optional, for OCR), nircmd (for precise volume control), tesseract-ocr (system-level, for Chinese OCR: choco install tesseract)

Python Path

Use the managed Python runtime for all script executions:

C:\Users\wave\.workbuddy\binaries\python\versions\3.13.12\python.exe

For GUI controller (which needs pyautogui/pillow), use the venv Python:

C:\Users\wave\.workbuddy\binaries\python\envs\default\Scripts\python.exe

If the venv does not exist, create it and install packages:

C:\Users\wave\.workbuddy\binaries\python\versions\3.13.12\python.exe -m venv C:\Users\wave\.workbuddy\binaries\python\envs\default
C:\Users\wave\.workbuddy\binaries\python\envs\default\Scripts\pip install pyautogui pillow pyserial requests

Script Path

All scripts are located at:

~/.workbuddy/skills/system-controller/scripts/

Execution Pattern

Always use execute_command to run scripts. Never try to run them inline.

Pattern:

{python_path} {script_path} {action} {flags}

Safety Rules

  1. NEVER execute destructive actions without explicit user confirmation (shutdown, restart, kill processes, close windows, disable network adapters).
  2. Always list/query first before taking action. Example: run list before close, list --name before kill.
  3. Warn the user before power operations (shutdown, restart, sleep, hibernate) and require explicit confirmation.
  4. Never disable critical network adapters (the one used for active internet connection) without warning.
  5. For serial communication, always list ports first to confirm the correct port name.

Module Details

1. Window Manager (window_manager.py)

Control desktop application windows via Windows UI Automation and Win32 API.

Capabilities: list, activate, close, minimize, maximize, resize, send-keys

Decision flow:

  1. User says "open/close/focus X" → list to find the window → confirm with user → execute action
  2. User says "resize/move X" → list to find PID → resize with coordinates
  3. User says "type/send X to Y" → activate target window → send-keys

Common examples:

  • "打开记事本" → process_manager.py start "notepad.exe"
  • "关闭Chrome" → window_manager.py list → find Chrome → window_manager.py close --title "Chrome"
  • "把微信调到前台" → window_manager.py activate --title "微信"
  • "全屏当前窗口" → window_manager.py maximize --title "..."

2. Process Manager (process_manager.py)

List, start, stop, and monitor system processes.

Capabilities: list, kill, start, info, system

Decision flow:

  1. User says "查看进程" → list or list --name
  2. User says "结束X进程" → list --name X → confirm → kill --name X
  3. User says "启动X" → start "X"
  4. User says "系统状态" → system

Common examples:

  • "有哪些程序在运行" → process_manager.py system
  • "关掉所有记事本" → process_manager.py kill --name notepad
  • "启动VS Code" → process_manager.py start "code"

3. Hardware Controller (hardware_controller.py)

Control system hardware settings via PowerShell and WMI.

Capabilities:

  • Volume: get, set, mute
  • Screen: brightness (get/set), display info
  • Power: lock, sleep, hibernate, shutdown, restart, cancel
  • Network: list adapters, enable/disable, WiFi scan, network info
  • USB: list devices

Decision flow:

  1. User says "音量/声音" → volume commands
  2. User says "亮度/屏幕" → screen/brightness commands
  3. User says "关机/锁屏/睡眠" → power commands (always confirm)
  4. User says "网络/WiFi" → network commands
  5. User says "USB" → usb list

Common examples:

  • "把音量调到50" → hardware_controller.py volume set --level 50
  • "静音" → hardware_controller.py volume mute
  • "屏幕调暗一点" → hardware_controller.py screen brightness --level 30
  • "锁屏" → hardware_controller.py power lock
  • "扫描WiFi" → hardware_controller.py network wifi

4. Serial Communication (serial_comm.py)

Communicate with Arduino, ESP32, and other serial devices via pyserial.

Capabilities: list ports, detect baud rate, send, receive, chat, monitor

Decision flow:

  1. User says "串口/Arduino/COM" → list ports first
  2. User says "发送到Arduino" → send --port COMx --data "..."
  3. User says "读取传感器" → chat --port COMx --data "READ"

Auto-install: Automatically installs pyserial on first use.

Common examples:

  • "有哪些串口" → serial_comm.py list
  • "给Arduino发指令开灯" → serial_comm.py send --port COM3 --data "LED_ON"
  • "读取温度传感器" → serial_comm.py chat --port COM3 --data "GET_TEMP"
  • "监听串口数据" → serial_comm.py monitor --port COM3 --duration 30

5. IoT Controller (iot_controller.py)

Control smart home devices via Home Assistant REST API, Mijia, or generic HTTP endpoints.

Capabilities:

  • Home Assistant: list entities, get state, turn on/off/toggle, call any service
  • Generic HTTP: GET, POST, PUT to any REST endpoint
  • Mijia: device discovery guidance

Decision flow:

  1. User mentions "智能家居/Home Assistant/灯光/温度" → IoT commands
  2. User says "控制设备/开关灯" → requires URL and token from user
  3. User says "调用API" → generic HTTP commands

Auto-install: Automatically installs requests on first use.

Common examples:

  • "列出所有智能设备" → iot_controller.py homeassistant --url ... --token ... list
  • "打开客厅灯" → iot_controller.py homeassistant --url ... --token ... on --entity-id light.living_room
  • "关掉卧室空调" → iot_controller.py homeassistant --url ... --token ... off --entity-id climate.bedroom
  • "调用这个API" → iot_controller.py http --url ... get --path ...

6. GUI Controller (gui_controller.py)

Full GUI automation: mouse control, keyboard input, screenshots, OCR, and visual recognition.

Capabilities:

  • Mouse: move, click (left/right/double), drag, scroll, get position
  • Keyboard: type text, press hotkeys, key down/up (hold/release)
  • Screenshot: full screen, region, active window, list saved screenshots
  • OCR: extract text from screen regions (requires pytesseract or Windows OCR fallback)
  • Visual: find image template on screen, click by image, find by color, get pixel color

Auto-install: Automatically installs pyautogui and pillow on first use.

Decision flow:

  1. User says "click/鼠标点击" → determine position (by coordinates, image template, or color), then click
  2. User says "type/输入文字" → keyboard type --text "..."
  3. User says "screenshot/截图" → screenshot full or screenshot active-window
  4. User says "read screen/OCR/识别文字" → visual ocr on the relevant region
  5. User says "find/查找图标" → visual find --template "icon.png"
  6. User says "scroll/滚动" → mouse scroll
  7. User says "drag/拖拽" → mouse drag --start-x ... --start-y ... --end-x ... --end-y ...

Common examples:

  • "截图" → gui_controller.py screenshot full
  • "截取当前窗口" → gui_controller.py screenshot active-window
  • "鼠标移到(500,300)" → gui_controller.py mouse move --x 500 --y 300
  • "点击(500,300)" → gui_controller.py mouse click --x 500 --y 300
  • "右键点击" → gui_controller.py mouse right-click --x 500 --y 300
  • "双击" → gui_controller.py mouse double-click --x 500 --y 300
  • "拖拽文件从(100,200)到(500,400)" → gui_controller.py mouse drag --start-x 100 --start-y 200 --end-x 500 --end-y 400
  • "向下滚动" → gui_controller.py mouse scroll --direction down --clicks 10
  • "输入Hello World" → gui_controller.py keyboard type --text "Hello World"
  • "按Ctrl+C" → gui_controller.py keyboard press --keys "ctrl+c"
  • "按Alt+Tab" → gui_controller.py keyboard press --keys "alt+tab"
  • "识别屏幕上的文字" → gui_controller.py visual ocr
  • "识别(100,100,800,600)区域的文字" → gui_controller.py visual ocr --x 100 --y 100 --width 800 --height 600
  • "在屏幕上找这个图标" → gui_controller.py visual find --template "button.png"
  • "找到并点击这个图片" → gui_controller.py visual click-image --template "submit.png"
  • "获取(200,200)位置的颜色" → gui_controller.py visual pixel --x 200 --y 200
  • "获取鼠标位置" → gui_controller.py mouse position
  • "获取屏幕分辨率" → gui_controller.py screenshot size

Safety Rules:

  • Mouse and keyboard operations affect whatever is on screen — always screenshot first if unsure.
  • The failsafe is enabled: moving mouse to any screen corner will abort all pyautogui operations.
  • OCR and image recognition are best-effort — accuracy depends on screen resolution, language, and image quality.
  • For OCR, install Tesseract for best results: choco install tesseract then pip install pytesseract.

Handling Unknown Devices

When the user requests control of a device or software not directly covered:

  1. Check if it can be started as a process: Use process_manager.py start "app_name"
  2. Check if it has windows: Use window_manager.py list to find it
  3. Take a screenshot: Use gui_controller.py screenshot full to see what's on screen
  4. Use OCR to read text: Use gui_controller.py visual ocr to extract text from screen
  5. Click by image matching: Save a template, then gui_controller.py visual click-image --template icon.png
  6. Use mouse/keyboard: gui_controller.py mouse click --x 100 --y 200 for direct control
  7. Check if it has an API: Use iot_controller.py http to interact
  8. Check if it's USB-connected: Use hardware_controller.py usb list then serial_comm.py list
  9. Suggest alternatives: If none of the above work, explain the limitation and suggest MCP Server or custom script

Quick Reference

For detailed command syntax, read references/command_reference.md.

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

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

04

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

能力 5

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

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

平台分布

OpenClaw

70.44%
按下载量换算1,077

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

通过

权限和风险

需要联网

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

安装前确认

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

来源信息

继续浏览同类 Skills