System Controller 技能全面介绍 一句话定位:这是一个能让你用自然语言,统一控制Windows桌面
一句话定位:这是一个能让你用自然语言,统一控制Windows桌面软件、系统硬件、串口设备和智能家居的“中枢神经”。
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
它的工作流非常清晰:用户说出指令 → AI理解意图 → 选择对应模块和动作 → 执行背后的Python脚本 → 系统完成操作。
整个系统由6个独立的模块构成,每个模块对应一个脚本。模块之间零依赖,设计上高度解耦,这意味着任何一个模块都可以单独拿出来运行,非常灵活。
| # | 模块 | 脚本 | 职责 |
|---|---|---|---|
| 1 | Window Manager | window_manager.py | 桌面窗口控制 |
| 2 | Process Manager | process_manager.py | 系统进程管理 |
| 3 | Hardware Controller | hardware_controller.py | 系统硬件设置 |
| 4 | Serial Communication | serial_comm.py | Arduino / 串口通信 |
| 5 | IoT Controller | iot_controller.py | 智能家居 / HTTP API |
| 6 | GUI Controller ???? | gui_controller.py | 鼠标键盘自动化、截图、OCR、视觉识别 |
能做什么:列出所有窗口、激活(切换到前台)、关闭、最小化、最大化、调整窗口大小、向指定窗口发送按键指令。
技术路线:核心是借助PowerShell内嵌C#代码来调用Win32 API,主要用到user32.dll里的SetForegroundWindow、ShowWindow、SetWindowPos等函数,实现对窗口的底层控制。
典型场景:
activate动作。maximize。能做什么:列出系统进程、结束指定进程、启动新程序、查看进程的详细信息、以及查看系统整体状态(CPU、内存、磁盘使用率)。
技术路线:主要依靠PowerShell原生的Get-Process和Get-CimInstance命令,获取和管理进程及系统信息。
典型场景:
kill --name notepad。start “code”。system命令。能做什么:覆盖5大类共13种硬件操作,相当全面:
| 类别 | 操作 |
|---|---|
| ???? 音量 | 获取、设置、静音 |
| ???? 屏幕 | 获取亮度、设置亮度、获取显示器信息 |
| ⚡ 电源 | 锁屏、睡眠、休眠、关机、重启、取消关机/重启 |
| ???? 网络 | 列出网卡、启用/禁用网卡、扫描WiFi、获取网络信息 |
| ???? USB | 列出已连接的USB设备 |
技术路线:组合拳。基础功能用PowerShell和WMI/CIM接口,对于需要精确控制的音量调节,则引入了轻量级工具nircmd作为补充。
安全规则:涉及电源的操作(如关机、重启、睡眠)必须经过用户二次确认,防止误触。
能做什么:列出可用串口、自动检测设备波特率、发送数据、接收数据、进行双向对话、持续监听串口数据流。
技术路线:基于成熟的pyserial库进行开发。首次使用时,如果检测到环境缺失,会自动安装这个库。
典型场景:
list命令。send --port COM3 --data “LED_ON”。chat --port COM3 --data “GET_TEMP”进行交互。能做什么:
技术路线:核心是requests库(同样支持自动安装),通过标准的REST API调用来与各类物联网平台或设备交互。
典型场景:
homeassistant on --entity-id light.living_room。homeassistant off --entity-id climate.bedroom。http get/post等命令。能做什么:这是本次升级的核心,提供了5大类共24种界面级操作:
| 类别 | 操作 |
|---|---|
| ????️ 鼠标 | 获取位置、移动、左键点击、右键点击、双击、拖拽、滚动 |
| ⌨️ 键盘 | 输入文字、按快捷键、按下/释放(实现长按) |
| ???? 截图 | 截取全屏、活动窗口、指定区域、获取屏幕分辨率、列出已保存截图 |
| ???? OCR | 识别屏幕上的文字(优先使用pytesseract,Windows OCR作为备用方案) |
| ????️ 视觉 | 模板匹配找图、找到图片并点击、按颜色查找、获取指定像素颜色 |
技术路线:基于pyautogui和pillow库构建。这两个库会被自动安装到一个独立的虚拟环境(venv)中,避免污染主环境。所有截图默认保存在screenshots/目录下。
安全机制:
pyautogui的内置安全特性,当鼠标被快速移动到屏幕的任意一个角落时,所有自动化操作会立即中止。全部模块加起来,共提供了66种具体操作。经验表明,这已经能够覆盖大约70-80%的日常Windows桌面控制需求。
当然,没有工具是万能的。以下是目前难以覆盖或无法覆盖的场景及原因:
| 场景 | 原因 | 替代方案 |
|---|---|---|
| 浏览器内部DOM操作 | 需要操控网页内部元素,超出了系统级范畴。 | 使用内置的Browser Automation技能或Playwright等浏览器自动化插件。 |
| 游戏操控 | 多数游戏有反作弊机制,且涉及DirectX等图形接口拦截。 | 无法直接覆盖。 |
| 需要人机验证的操作 | 出于安全限制,无法自动化绕过验证码等。 | 无法覆盖。 |
| 复杂3D软件(如Blender, Maya) | 其图形引擎和自定义界面阻挡了部分自动化。 | 部分基础操作(如窗口切换)可用,结合截图和OCR可能覆盖更多。 |
所有脚本都通过统一的execute_command函数调用,模式固定为:
{python路径} {脚本路径} {动作} {参数}
这里有两个Python环境路径:
C:\Users\wa ve\.workbuddy\binaries\python\versions\3.13.12\python.exe。C:\Users\wa ve\.workbuddy\binaries\python\envs\default\Scripts\python.exe,其中已安装好pyautogui和pillow。依赖结构清晰,维护方便:
common.py ← 所有模块依赖(封装了PowerShell执行、编码处理等通用功能)
window_manager.py — 零外部Python库依赖
process_manager.py — 零外部Python库依赖
hardware_controller.py — 零外部Python库依赖(nircmd为可选外部工具)
serial_comm.py — 依赖pyserial(自动安装)
iot_controller.py — 依赖requests(自动安装)
gui_controller.py — 依赖pyautogui + pillow(自动安装到独立venv)
当遇到一个全新的、不知道如何控制的设备或软件时,可以遵循以下排查思路:
process_manager start尝试启动。window_manager list看看有没有对应窗口。gui_controller screenshot截取界面。gui_controller visual ocr识别界面上的文字信息。gui_controller visual click-image尝试点击已知的按钮图片。gui_controller mouse/keyboard模拟手动操作。iot_controller http调用可能存在的网络接口。hardware_controller usb list查看,再尝试serial_comm串口通信。至此,新版System Controller的完整面貌就清晰了。可以说,核心升级点就在于新增的GUI Controller模块。它补齐了视觉识别和鼠标键盘模拟这一层能力,让整个技能从原先的“系统级控制”,真正扩展到了“界面级操作”,实用性得到了质的飞跃。
菜鸟下载发布此文仅为传递信息,不代表菜鸟下载认同其观点或证实其描述。