插件目录 / UI & Skins / dsh_omnivision
dsh_omnivision
已验证 · 实测可装 xiaozhengdeng
功能简介
GUI agent plugin for DeepSeek Harness: OmniParser screen recognition, desktop automation, and an OmniVision vision dock
可用 — 实测通过,早期项目
GUI agent plugin for DeepSeek Harness: OmniParser screen recognition, desktop automation, and an OmniVision vision dock 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
English
OmniVision is an OmniParser-powered GUI agent plugin for DeepSeek Harness. It turns the desktop or any image into structured elements (text + icons with pixel coordinates), so the model can see and operate the screen without multimodal vision.
Screenshots
| Vision view (智能识别) | Recognition history (识别记录) |
|---|---|
![]() |
![]() |
Features
| Feature | Description |
|---|---|
| 🖥 Screen recognition | Capture the desktop (or parse an image) and get interactive elements with pixel coordinates via OmniParser |
| 🖱 Desktop automation | Click, double-click, right-click, drag, type (unicode-safe), key, hotkey, scroll — by element id or raw x/y |
| 👁 Live vision dock | Real-time recognition view with SOM-annotated overlay, hover highlight, click-to-zoom |
| 🕘 Recognition history | Thumbnails per capture, diff vs latest (added / removed / moved) |
| 📋 One-click summary | Sends the recognized elements to the session for the model to summarize |
| 🖼 File parsing | Parse local images from the dock, bypassing model multimodal limits |
| 📊 Call log | Tracks every gui_* tool call and action for inspection |
Tools
The plugin registers these gui_* tools into the shared tools registry:
gui_capture— capture the desktop screen and run OmniParser to extract interactive elements (text + icons with pixel coordinates), refreshing the shared vision state and saving the SOM-annotated overlaygui_act— perform a real mouse/keyboard action on the desktop: click / double-click / right-click / move / type / press / hotkey / scroll / draggui_find— search the elements from the last capture by text or typegui_state— show the current vision state without parsinggui_verify— re-capture and check whether a text is present or absent, retrying until it settlesgui_task— execute a scripted multi-step UI plan with re-parse between steps and optional assertionsgui_open_app— launch an installed desktop app by name via its Windows AUMIDgui_parse_image— parse a third-party image (from a conversation attachment) into the shared vision state
Installation
dsh plugin --profile web add dsh_omnivision
# or a local path:
dsh plugin --profile web add G:\deepseek\plugins\dsh_omnivision
Restart the web process after installing. The plugin loads as a profile bundle layer:
- Host half registers the
gui_*tools into the sharedtoolsregistry and serves the browser half over an HTTP route (/dsh-omnivision/<method>) - Client half mounts the OmniVision dock into
shell.overlayand a toggle into the sidebar footer
Prerequisites
- Windows with an OmniParser FastAPI server on
http://127.0.0.1:8000(e.g. viaG:\omni\OmniParser\start_server.bat) - The Python venv needs
pyautoguifor screenshots and input automation
Usage
Call the gui_* tools from the model side; the OmniVision dock in the browser provides the visual surface:
| Control | Description |
|---|---|
| 智能识别 | Live element list + SOM-annotated image (hover to highlight, click to zoom) |
| 🖼 解析图片 | Pick a local image file to parse (bypasses model multimodal limits) |
| 📋 总结 | Send the current recognition info to the session for the model to summarize |
| 识别记录 | History with thumbnails + diff vs latest (added / removed / moved) |
| 调用记录 | Recent gui_* tool calls and action log |
| 探测 | Check OmniParser server connectivity |
Development
pnpm build # tsc (host) + tsc (client) + tsdown (client bundle)
pnpm typecheck
License
MIT
中文
OmniVision 是 DeepSeek Harness 的 OmniParser 驱动的 GUI 智能体插件。它把桌面或任意图片变成结构化元素(文本 + 图标 + 像素坐标),让模型无需多模态能力就能「看见」并操作屏幕。
界面截图
| 智能识别视图 | 识别记录视图 |
|---|---|
![]() |
![]() |
功能
| 功能 | 说明 |
|---|---|
| 🖥 屏幕识别 | 截取桌面(或解析图片),经 OmniParser 提取带像素坐标的可交互元素 |
| 🖱 桌面自动化 | 点击 / 双击 / 右键 / 拖拽 / 输入(Unicode 安全)/ 按键 / 热键 / 滚轮,按元素 id 或原始坐标操作 |
| 👁 实时识别 Dock | 实时识别视图 + SOM 标注图(悬停高亮、点击放大) |
| 🕘 识别记录 | 每次识别的缩略图 + 与最新对比(新增 / 移除 / 位移) |
| 📋 一键总结 | 把当前识别信息发到会话,由模型按提示词总结 |
| 🖼 图片解析 | 从 Dock 选择本地图片解析,绕开模型多模态限制 |
| 📊 调用记录 | 记录每次 gui_* 工具调用与动作,便于排查 |
工具
插件向共享工具注册表注册以下 gui_* 工具:
gui_capture— 以原生分辨率截取桌面,运行 OmniParser 提取可交互元素(文本 + 图标 + 像素坐标),刷新共享视觉状态并保存 SOM 标注图gui_act— 在桌面上执行真实鼠标/键盘操作:点击 / 双击 / 右键 / 移动 / 输入 / 按键 / 热键 / 滚轮 / 拖拽gui_find— 按文本或类型搜索上一次识别的元素gui_state— 查看当前视觉状态(不重新解析)gui_verify— 重新截屏解析,反复确认某文本出现或消失gui_task— 按脚本执行多步 UI 计划,步骤间重新解析并支持断言gui_open_app— 通过 Windows AUMID 按名称启动已安装的桌面应用gui_parse_image— 解析会话中的第三方图片(附件)进入共享视觉状态
安装
dsh plugin --profile web add dsh_omnivision
# 或本地路径:
dsh plugin --profile web add G:\deepseek\plugins\dsh_omnivision
安装后重启 web 进程。插件作为 profile bundle 层加载:
- Host 半把
gui_*工具注册进共享tools注册表,并通过 HTTP 路由(/dsh-omnivision/<method>)为浏览器半提供数据 - Client 半把 OmniVision Dock 挂到
shell.overlay,侧栏底部挂开关按钮
前置依赖
- Windows + 运行在
http://127.0.0.1:8000的 OmniParser FastAPI 服务(如G:\omni\OmniParser\start_server.bat) - Python venv 需安装
pyautogui(截图与输入自动化)
使用
模型侧直接调用 gui_* 工具;浏览器里的 OmniVision Dock 提供可视化操作:
| 控件 | 说明 |
|---|---|
| 智能识别 | 实时元素列表 + SOM 标注图(悬停高亮、点击放大) |
| 🖼 解析图片 | 选择本地图片文件解析(绕开模型多模态限制) |
| 📋 总结 | 把当前识别信息发到会话,由模型按提示词总结 |
| 识别记录 | 历史缩略图 + 与最新对比(新增 / 移除 / 位移) |
| 调用记录 | 最近 gui_* 工具调用与动作日志 |
| 探测 | 检查 OmniParser 服务连通性 |
开发
pnpm build # tsc (host) + tsc (client) + tsdown (client bundle)
pnpm typecheck
许可证
MIT
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh_omnivision」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:xiaozhengdeng/dsh_omnivision Headless(CLI)profile:
dsh plugin --profile headless add github:xiaozhengdeng/dsh_omnivision 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。

