详细分析 ▾
运行时依赖
版本
测试
安装命令
点击复制技能文档
# 屏幕视觉 通过视觉控制桌面:截图 → 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.json 到 config.json 并填入你的视觉 API 凭证。必须设置 baseUrl、apiKey 和 model——支持任意 OpenAI 兼容 API。 `json { "vision": { "baseUrl": "https://api.siliconflow.cn/v1", "apiKey": "sk-your-key", "model": "Qwen/Qwen3-VL-32B" } } ` 环境变量同样有效:SV_VISION_API_KEY、SV_VISION_BASE_URL、SV_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` | 截图间隔(秒) |