Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.
Coding
Linux System Controller
Try itLinux系统控制能力包;当用户需要控制桌面窗口、管理进程、调整音量亮度、管理电源网络、与串口设备通信、控制智能家居设备、进行鼠标键盘自动化、截图OCR或视觉识别时使用
What it does
Linux系统统一控制接口,支持桌面应用、系统硬件、串口设备和IoT平台的综合控制。
The skill document
System Controller
Linux系统统一控制接口,支持桌面应用、系统硬件、串口设备和IoT平台的综合控制。
架构
用户请求 → 自然语言理解 → 脚本执行 → 系统操作
六个控制模块,每个模块都有专用的Python脚本:
| 模块 | 脚本 | 功能范围 |
|---|---|---|
| Window Manager | scripts/window_manager.py | 桌面窗口控制 |
| Process Manager | scripts/process_manager.py | 系统进程管理 |
| Hardware Controller | scripts/hardware_controller.py | 系统硬件设置 |
| Serial Communication | scripts/serial_comm.py | Arduino / 串口设备 |
| IoT Controller | scripts/iot_controller.py | 智能家居 / HTTP APIs |
| GUI Controller | scripts/gui_controller.py | 鼠标、键盘、截图、OCR |
所有脚本都是独立的CLI工具,无脚本间依赖。
执行模型
前置条件
- 操作系统: Linux (支持X11/Wayland)
- Python: 3.6+
- 必需工具:
xdotool: 窗口和GUI自动化wmctrl: 窗口管理tesseract-ocr: 文字识别alsa-utils: 音量控制
- Python依赖: 自动安装(见dependency)
脚本路径
所有脚本位于:scripts/
执行模式
使用 execute_command 运行脚本。模式:
python3 scripts/.py [flags]
安全规则
- 执行破坏性操作前必须用户确认(关机、重启、结束进程、关闭窗口、禁用网卡)
- 先列表/查询再操作。例如:先
list再close,先list --name再kill - 电源操作前警告用户(关机、重启、睡眠、休眠)并要求明确确认
- 禁用关键网卡前警告(正在使用的互联网连接)
- 串口通信前先列表端口以确认正确的端口名称
模块详情
1. Window Manager (window_manager.py)
通过xdotool和wmctrl控制桌面应用窗口。
功能: list, activate, close, minimize, maximize, resize, move
决策流程:
- 用户说"打开/关闭/聚焦X" →
list查找窗口 → 确认 → 执行操作 - 用户说"调整/移动X" →
list查找窗口ID →resize/move - 用户说"发送/输入X到Y" →
activate目标窗口 →type
常见示例:
- "打开记事本" →
process_manager.py start "gedit" - "关闭Chrome" →
window_manager.py list→ 查找Chrome →window_manager.py close --title "Chrome" - "把微信调到前台" →
window_manager.py activate --title "WeChat" - "全屏当前窗口" →
window_manager.py maximize --title "..."
2. Process Manager (process_manager.py)
列表、启动、停止和监控系统进程。
功能: list, kill, start, info, system
决策流程:
- 用户说"查看进程" →
list或list --name - 用户说"结束X进程" →
list --name X→ 确认 →kill --name X - 用户说"启动X" →
start "X" - 用户说"系统状态" →
system
常见示例:
- "有哪些程序在运行" →
process_manager.py system - "关掉所有gedit" →
process_manager.py kill --name gedit - "启动VS Code" →
process_manager.py start "code"
3. Hardware Controller (hardware_controller.py)
通过Linux系统工具控制硬件设置。
功能:
- 音量: get, set, mute, unmute
- 屏幕: 亮度(get/set), 显示器信息
- 电源: lock, sleep, hibernate, shutdown, restart
- 网络: 列表网卡, 启用/禁用, WiFi扫描, 网络信息
- USB: 列出设备
决策流程:
- 用户说"音量/声音" → 音量命令
- 用户说"亮度/屏幕" → 屏幕/亮度命令
- 用户说"关机/锁屏/睡眠" → 电源命令(总是确认)
- 用户说"网络/WiFi" → 网络命令
- 用户说"USB" → usb list
常见示例:
- "把音量调到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)
通过pyserial与Arduino、ESP32等串口设备通信。
功能: 列表端口, 检测波特率, 发送, 接收, 聊天, 监听
决策流程:
- 用户说"串口/Arduino/tty" → 先
list端口 - 用户说"发送到Arduino" →
send --port /dev/ttyUSB0 --data "..." - 用户说"读取传感器" →
chat --port /dev/ttyUSB0 --data "READ"
自动安装: 首次使用时自动安装pyserial。
常见示例:
- "有哪些串口" →
serial_comm.py list - "给Arduino发指令开灯" →
serial_comm.py send --port /dev/ttyUSB0 --data "LED_ON" - "读取温度传感器" →
serial_comm.py chat --port /dev/ttyUSB0 --data "GET_TEMP" - "监听串口数据" →
serial_comm.py monitor --port /dev/ttyUSB0 --duration 30
5. IoT Controller (iot_controller.py)
通过Home Assistant REST API、Mijia或通用HTTP端点控制智能家居设备。
功能:
- Home Assistant: 列出实体, 获取状态, 开启/关闭/切换, 调用任何服务
- 通用HTTP: GET, POST, PUT到任何REST端点
- Mijia: 设备发现指导
决策流程:
- 用户提到"智能家居/Home Assistant/灯光/温度" → IoT命令
- 用户说"控制设备/开关灯" → 需要用户提供URL和token
- 用户说"调用API" → 通用HTTP命令
自动安装: 首次使用时自动安装requests。
常见示例:
- "列出所有智能设备" →
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)
完整的GUI自动化:鼠标控制、键盘输入、截图、OCR和视觉识别。
功能:
- 鼠标: 移动, 点击(左/右/双击), 拖拽, 滚动, 获取位置
- 键盘: 输入文本, 按热键, 按键组合
- 截图: 全屏, 区域, 活动窗口, 列出已保存截图
- OCR: 从屏幕区域提取文字(需要tesseract-ocr)
- 视觉: 在屏幕上查找图像模板, 点击图像, 按颜色查找, 获取像素颜色
自动安装: 首次使用时自动安装pyautogui和pillow。
决策流程:
- 用户说"click/点击" → 确定位置(坐标/图像模板/颜色) → 点击
- 用户说"type/输入文字" →
keyboard type --text "..." - 用户说"screenshot/截图" →
screenshot full或screenshot active-window - 用户说"read screen/OCR/识别文字" → 在相关区域
visual ocr - 用户说"find/查找图标" →
visual find --template "icon.png" - 用户说"scroll/滚动" →
mouse scroll - 用户说"drag/拖拽" →
mouse drag --start-x ... --start-y ... --end-x ... --end-y ...
常见示例:
- "截图" →
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
安全规则:
- 鼠标和键盘操作影响屏幕上的任何内容 - 不确定时先截图
- 已启用故障保护:将鼠标移到任何屏幕角落将中止所有pyautogui操作
- OCR和图像识别是尽力而为 - 准确度取决于屏幕分辨率、语言和图像质量
- OCR最佳效果需要安装tesseract-ocr
处理未知设备
当用户请求控制未直接涵盖的设备或软件时:
- 检查是否可以作为进程启动: 使用
process_manager.py start "app_name" - 检查是否有窗口: 使用
window_manager.py list查找 - 截图查看: 使用
gui_controller.py screenshot full查看屏幕内容 - 使用OCR读取文字: 使用
gui_controller.py visual ocr从屏幕提取文字 - 点击图像匹配: 保存模板,然后
gui_controller.py visual click-image --template icon.png - 使用鼠标/键盘:
gui_controller.py mouse click --x 100 --y 200直接控制 - 检查是否有API: 使用
iot_controller.py http交互 - 检查是否USB连接: 使用
hardware_controller.py usb list然后serial_comm.py list - 建议替代方案: 如果以上都不行,解释限制并建议自定义脚本
快速参考
详细命令语法,阅读 references/command_reference.md。
Related skills
Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.
Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.
Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.
Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.
Write, debug, and tune Playwright specs with locator strategy, trace diagnosis, and CI-aware timeouts.
More from wangjiaocheng
Browse all skillsCAD制图编辑器 — 用自然语言生成工程图纸(建筑平面图/机械零件/电气布置/管道系统/结构详图)。 支持DXF文件创建、渲染预览、批量导出。触发词:画平面图、CAD、工程图、建筑图、机械图、电气图、 管道图、结构图、画线/圆/矩形/多边形、尺寸标注、DXF、AutoCAD、施工图、配筋图、齿轮、轴承、 阀门、弯...
Control Windows desktop software, hardware, and IoT devices. This skill should be used when the user wants to open/close/resize windows, start/stop/monitor p...
一人公司操作系统。核心能力:工作流重构——将任何领域的复杂工作流重构为AI辅助一人简易完成的方法(拆解人的局限补偿层→消除→基于AI能力模型重整)。执行轴为6维能力调用而非角色分工,管线为IPO基元链而非流水线传递。内容轴提供清单法与样本法的OPC适配规则,创新轴适配一人公司独特约束的突破路径。领域负载物覆盖7域...
认知执行技能 — 整合认知套件与执行框架两大能力层,并配备编排引擎。 认知层:四种思维操作码(直用/改进/迁移/构建)覆盖所有思考任务; 执行层:大语言模型 + 命令执行工具,自动化代码生成与脚本执行; 编排引擎:将所有操作统一为基元,自由组合为任意复杂度的执行链条。 此技能应用于认知与代码执行类任务。
全知全能技能 — 整合认知套件、执行框架、系统控制三大能力层,并配备编排引擎。 认知层:四种思维操作码(直用/改进/迁移/构建)覆盖所有思考任务; 执行层:大语言模型 + 命令执行工具,自动化代码生成与脚本执行; 操控层:Linux桌面软件、系统硬件、串口设备、物联网平台、图形界面自动化、蓝牙设备、GPU显卡、存...
全知全能技能 — 整合认知套件、执行框架、系统控制三大能力层,并配备编排引擎。 认知层:四种思维操作码(直用/改进/迁移/构建)覆盖所有思考任务; 执行层:大语言模型 + 命令执行工具,自动化代码生成与脚本执行; 操控层:Windows桌面软件、系统硬件、串口设备、物联网平台、图形界面自动化、蓝牙设备、GPU显卡...