返回 Skill 列表
extension
分类: 开发与工程无需 API Key

屏幕视觉感知技能

一款专为 Intel AI PC 打造的本地化屏幕视觉感知技能。

person作者: showdaihubModelScope

ScreenVision Skill 使用说明

1. 技能概述 (Overview)

ScreenVision Skill 是一款专为 Intel AI PC 打造的本地化屏幕视觉感知技能。它通过调用本地 NPU 加速的 Qwen2-VL-7B 视觉大模型,能够实时理解用户的屏幕内容(如代码报错、复杂图表、聊天记录等),并将其转化为结构化知识,安全地存储在本地向量数据库中。

核心优势

  • 极致隐私:全程纯本地运行,原始截图阅后即焚,数据绝对不出机。
  • 异构加速:基于 OpenVINO 与 Optimum-intel 框架,深度释放 Intel NPU 算力,INT4 量化下流畅运行。
  • 即插即用:提供自动化部署脚本,一键完成环境配置与服务拉起。

2. 触发条件 (Trigger Conditions)

当用户的指令涉及以下意图时,Agent 应优先调用本技能:

  • 询问过去或当前屏幕上看到的内容(例如:"刚才那个报错是什么?"、"帮我总结一下刚才看到的微信聊天")。
  • 要求提取当前屏幕的文本或数据(例如:"把当前屏幕上的表格提取出来")。
  • 要求解释当前屏幕上的代码或图表。
  • 明确要求"记住当前屏幕"或"记录当前上下文"。
  • 询问本技能的安装状态或初始化环境。

3. 可用工具与接口 (Available Tools)

本技能通过本地 Client/Server 架构提供以下 API 接口,Agent 可通过 HTTP 请求进行调用:

3.1 capture_and_index(捕获并索引当前屏幕)

  • 描述:截取当前活动窗口,利用本地 NPU 加速的 VLM 提取核心信息,生成结构化摘要并存入本地向量库。原始截图在解析后自动销毁以保护隐私。
  • 调用方式POST http://localhost:8000/capture_and_index
  • 参数:需通过 multipart/form-data 上传名为 file 的图片文件。
  • 返回示例
{
  "status": "success",
  "memory_id": "mem_20231024_1530_a1b2",
  "summary": "当前处于 VS Code 界面,终端显示 Python 运行报错:ModuleNotFoundError: No module named 'openvino'。"
}

3.2 search_memory(检索历史屏幕记忆)

  • 描述:根据用户的自然语言查询,从本地向量库中检索最相关的历史屏幕记忆。
  • 调用方式GET http://localhost:8000/search_memory?query={用户查询内容}
  • 返回示例
{
  "status": "success",
  "results": [
    "浏览器显示 GitHub 仓库页面,标题为 'intel/openvino',README 中提到了 NPU 加速配置方法。"
  ]
}

3.3 health(健康检查)

  • 描述:检查本地视觉感知服务是否正在运行。
  • 调用方式GET http://localhost:8000/health

4. 初始化与安装引导 (Setup & Initialization)

重要提示:本技能依赖本地 AI 服务,首次使用前必须完成环境初始化。

当用户首次安装本 Skill,或尝试调用但服务未启动时,Agent 应执行以下操作:

  1. 访问 GET http://localhost:8000/health 检查本地服务状态。
  2. 若服务未运行,提示用户:"检测到视觉感知服务未启动,正在为您初始化环境..."
  3. 自动执行 Skill 根目录下的 setup.bat (Windows) 脚本。
  4. 脚本将自动检测并安装 Python 环境、拉取 OpenVINO 依赖、转换 Qwen2-VL-7B 模型并启动后台 FastAPI 服务。
  5. 初始化完成后,提示用户:"本地视觉服务已就绪,您可以随时让我记录或检索屏幕内容。"

5. 最佳实践示例 (Best Practices)

  • 用户:"帮我找一下昨天下午写代码时遇到的报错截图内容。" Agent 动作:调用 search_memory 接口 -> 提取摘要 -> 结合 LLM 推理给出报错原因及修复建议。
  • 用户:"记住现在的界面,我要去开会了。" Agent 动作:调用 capture_and_index 接口 -> 返回确认信息:"已为您保存当前屏幕记忆,祝您开会顺利!"

6. 项目文件结构 (Project Structure)

ScreenVision_Skill/
├── SKILL.md              # 技能说明书(Agent 的"大脑")
├── setup.bat             # 一键初始化脚本(自动安装 Python + 依赖 + 启动服务)
├── auto_capture.py       # 本地客户端(快捷键监听与截图触发)
├── server.py             # 本地服务端(VLM 推理、向量存储与 API 封装)
└── screen_memory_db/     # 本地向量数据库目录(自动生成)

7. 运行流程说明 (Run Flow)

首次使用

  1. 双击运行 setup.bat,脚本将自动完成以下操作:
    • 检测并自动安装 Python 3.11 环境(如未安装)
    • 通过清华镜像源安装所有 AI 依赖(OpenVINO、Optimum-intel、ChromaDB 等)
    • 创建本地向量数据库目录
    • 后台静默启动 FastAPI 服务
  2. 等待 setup.bat 提示"部署完成"后,server.py 将在后台运行。
  3. 首次运行 server.py 时,程序会自动下载 Qwen2-VL-7B 模型并转换为 INT4 量化格式(约 5-15 分钟,仅首次)。
  4. 模型转换完成后,后续启动均为秒级响应。

日常使用

  • 记录屏幕:运行 auto_capture.py 后,按 Ctrl+Shift+M 截取当前活动窗口并送入 VLM 解析。
  • 退出客户端:按 Esc 键退出 auto_capture.py
  • 停止服务:关闭运行 server.py 的命令行窗口即可。

开机自启(可选)

如需开机自动启动服务,可使用 Windows 任务计划程序将 server.py 配置为登录时自动运行,或使用 start_hidden.vbs 脚本实现静默自启。详见项目技术文档。

8. 硬件与环境要求 (Requirements)

| 项目 | 最低要求 | 推荐配置 | |------|---------|---------| | 处理器 | Intel Core Ultra(支持 NPU) | Intel Core Ultra 9 | | 内存 | 16 GB | 32 GB 以上 | | 磁盘空间 | 30 GB 可用空间 | 50 GB 以上 SSD | | 操作系统 | Windows 11 22H2+ | Windows 11 24H2+ | | Python | 3.11(脚本自动安装) | 3.11(脚本自动安装) | | NPU 驱动 | Intel NPU Driver 最新稳定版 | Intel NPU Driver 最新稳定版 |

9. 故障排查 (Troubleshooting)

| 问题 | 可能原因 | 解决方案 | |------|---------|---------| | setup.bat 提示未检测到 Python | Python 未安装或不在 PATH 中 | 脚本会自动下载并静默安装 Python 3.11 | | 模型下载失败/超时 | 网络连接 HuggingFace 受限 | 已配置 hf-mirror.com 国内镜像,如仍失败请检查网络代理设置 | | NPU 加载失败 | NPU 驱动未安装或版本过旧 | 将 server.pydevice="NPU" 改为 device="GPU"device="CPU" 降级运行 | | pip install 失败 | 镜像源不可用 | 可手动替换为 https://pypi.org/simple 官方源 | | 端口 8000 被占用 | 其他服务占用该端口 | 修改 server.pyuvicorn.runport 参数 |