📦 Screen Vision — AI屏幕控制

v1.1.0

让AI代理实时截屏、识别界面元素,并自动执行鼠标/键盘操作,实现桌面级无人值守自动化。

0· 99·2 当前·2 累计
by @guitu917·MIT-0
下载技能包
License
MIT-0
最后更新
2026/4/13
0
安全扫描
VirusTotal
可疑
查看报告
OpenClaw
可疑
high confidence
该技能基本符合其宣称用途(截屏+桌面自动化),但存在多处不一致与风险:缺少声明的环境依赖、系统级安装时默认创建带弱密码的VNC/noVNC并暴露网络,且安全检查可被绕过,需谨慎使用。
评估建议
安装前请考虑: - 元数据不匹配:注册表未声明需 vision API 密钥,实际必须提供 SV_VISION_* 或 config.json;需本地存储 API 令牌。 - 网络暴露:无头模式默认创建 VNC+noVNC,默认密码 screen123 且可能以 -localhost no 启动,允许远程访问;勿在公网直接运行,务必改密并限制访问。 - 高权限安装:脚本会调用 apt/yum/dnf 并写入 /usr/local/bin,需要 sudo,安装前请审阅脚本,优先在隔离 VM/容器内执行。 - 敏感数据处理:截图(含密码等隐私)保存在 /tmp/screen-vision/logs/,并以 base64 上传至外部视觉 API;如注重隐私,请使用本地模型。 - 安全检查可绕过:阻止/确认规则基于正则匹配模型返回的动作文本,可被精心构造的响应绕过;勿在敏感主机上给予无限制自主权限。 - 建议:检查并修改安装脚本(改 VNC 密码、移除 -localhost no、限制 noVNC 绑定),在隔离环境运行,使用本地视觉服务,并安全存储 API 密钥。若无法自行加固,请勿在生产或...
详细分析 ▾
用途与能力
SKILL.md 与代码明确需要 vision API 凭据(baseUrl、apiKey、model)并在 ~/.openclaw/... 或 /etc 读写 config.json,但注册表元数据却声明“所需环境变量:无”“所需配置路径:无”,属明显元数据遗漏。技能确实需要 API 密钥与本地显示权限以实现其功能,但元数据误导。安装脚本会装系统包并可能创建系统服务/脚本(sv-start/sv-stop),系统占用超出纯指令助手范畴。
指令范围
运行时指令与脚本执行全屏截屏,将截图 base64 编码后发送至外部视觉 API,运行分析->执行循环,可驱动 xdotool/cliclick/pyautogui,并将所有截图保存于 /tmp/screen-vision/logs/。安全检查仅对模型生成的动作文本/理由做正则匹配,因动作来自外部 LLM/视觉模型,恶意或畸形响应可绕过意图限制。SKILL.md 还说明可启动无头 XFCE+VNC+noVNC 堆栈,暴露远程桌面,使攻击面从本地自动化扩展至远程访问。
安装机制
虽未远程下载任意二进制,但附带的安装/设置脚本会执行包管理器安装(apt/yum/dnf)、pip 安装,在 /usr/local/bin 创建文件(sv-start/sv-stop),写入 VNC 配置(~/.vnc)并可能配置 noVNC/websockify。安装脚本设置默认 VNC 密码“screen123”并以“-localhost no”启动 vncserver,允许非本地连接,属危险默认。安装需 sudo 并写入系统级脚本,安装时影响较大。
凭证需求
技能确实需要 vision API 密钥/baseUrl/model(config.json 或环境变量 SV_VISION_*),与其用途相符。但注册表元数据未反映该需求(声明无)。技能不会索要无关云凭据,但会在本地生成并存储截图与 VNC 密码文件,应视为敏感数据。
持久化与权限
技能未设 always:true,但其安装器会创建持久系统产物:安装软件包、写入 /usr/local/bin 脚本、用户主目录与可能的 /etc 下的配置文件,并可启动监听网络端口的 VNC/noVNC 服务。这些产物在单次调用后仍存在,且可能以弱密码暴露桌面。默认允许模型自主调用(disable-model-invocation 为 false),结合网络暴露的 VNC 扩大了潜在影响范围。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.1.02026/4/5

测试

可疑

安装命令

点击复制
官方npx clawhub@latest install ai-screen-vision
镜像加速npx clawhub@latest install ai-screen-vision --registry https://cn.longxiaskill.com

技能文档

# 屏幕视觉 通过视觉控制桌面:截图 → AI 视觉分析 → 执行动作 → 循环直到完成。 ## 快速开始 ### 1. 环境准备(一次性) 检测平台并安装依赖: ``bash bash scripts/setup/setup-linux.sh --headless # Linux 服务器(无桌面) bash scripts/setup/setup-linux.sh --desktop # Linux 带桌面 bash scripts/setup/setup-mac.sh # macOS python scripts/setup/setup-win.py # Windows ` ### 2. 配置 API 复制 config.example.jsonconfig.json 并填入你的视觉 API 凭证。必须设置 baseUrlapiKeymodel——支持任意 OpenAI 兼容 API。 `json { "vision": { "baseUrl": "https://api.siliconflow.cn/v1", "apiKey": "sk-your-key", "model": "Qwen/Qwen3-VL-32B" } } ` 环境变量同样有效:SV_VISION_API_KEYSV_VISION_BASE_URLSV_VISION_MODEL。详见 references/API_CONFIG.md 了解全部支持的提供商及详细配置。 ### 3. 使用方式 该技能通过“截图-分析-执行”循环工作: 1. 截图bash scripts/platform/screenshot.sh [output_path] [display] 2. AI 分析python3 scripts/vision/analyze.py --image --task "" 3. 执行动作python3 scripts/platform/execute.py --action [options] 4. 完整任务循环python3 scripts/core/run_task.py --task "" ## 架构 ` 用户任务 → run_task.py(调度器) ├── screenshot.sh(截屏) ├── diff_check.py(检测变化,无变化则跳过 → 节省 token) ├── analyze.py(将截图+任务发送给视觉 API) ├── safety_check.py(拦截危险操作) ├── execute.py(xdotool/cliclick/pyautogui) └── 循环直到完成或超时 ` ## 平台工具 | 平台 | 截图 | 鼠标/键盘 | 备注 | |------|------|-----------|------| | Linux | scrot | xdotool | 无桌面:XFCE4 + VNC | | macOS | screencapture | cliclick | 需开启辅助功能权限 | | Windows | pyautogui | pyautogui | 无需额外配置 | 详见 references/PLATFORM_GUIDE.md 获取各平台专用命令。 ## 视觉提供商 支持任意 OpenAI 兼容视觉 API。你可自由选择提供商与模型。 ### 推荐模型 | 模型 | 提供商 | 单次成本 | 质量 | |------|--------|----------|------| | Qwen3-VL-32B | SiliconFlow | 低 | ★★★★ | | GLM-4V-Plus | 智谱 BigModel | 低 | ★★★★ | | GPT-5.4-Mini | OpenAI / 转发 | 中 | ★★★★★ | | GPT-5.4 CUA | OpenAI | 高 | ★★★★★ | | Llama 3.2 Vision | Ollama(本地) | 免费 | ★★ | 详见 references/API_CONFIG.md 获取各提供商配置示例。未硬编码任何默认凭证——使用前必须自行配置 API。 ## 动作类型 - click —— 在 (x, y) 处点击,支持左/右/双击。 - type —— 输入文本字符串。 - key —— 按下某个键(Return、Tab、Escape 等)。 - scroll —— 向上或向下滚动。 - drag —— 从 (x1,y1) 拖动到 (x2,y2)。 - wait —— 等待屏幕更新。 - done —— 任务完成。 - failed —— 无法完成任务。 ## 安全机制 - 已拦截:rm -rf、格式化磁盘、关机、drop database 等。 - 需确认:删除、sudo、支付相关操作。 - 限制:单任务最长 5 分钟,最多 100 个动作。 - 日志:所有截图保存至 /tmp/screen-vision/logs/。 - 自动停止:出错或 API 失败时立即停止。 ## 示例 详见 references/EXAMPLES.md 获取使用示例。 ## 配置项 | 变量 | 默认值 | 说明 | |------|--------|------| | SV_VISION_API_KEY | — | 视觉 API 密钥 | | SV_VISION_BASE_URL | — | API 端点(必填) | | SV_VISION_MODEL | — | 视觉模型名称(必填) | | SV_DISPLAY | :1 | X11 显示编号(Linux) | | SV_MAX_DURATION | 5 | 单任务最大时长(分钟) | | SV_MAX_ACTIONS | 100 | 单任务最大动作数 | | SV_SCREENSHOT_INTERVAL | 1.0` | 截图间隔(秒) |

数据来源ClawHub ↗ · 中文优化:龙虾技能库