dsh_omnivision:OmniParser 驅動的 GUI 智能體插件

前言

在開發需要操作桌面的智能體時,讓模型直接理解屏幕內容往往依賴多模態模型。下面介紹 OmniVision 插件,它通過 OmniParser 將屏幕轉化爲結構化數據,使模型無需原生多模態視覺能力即可“看見”並操作界面。

介紹

OmniVision 是一個基於 OmniParser 的 GUI 智能體插件,由 xiaozhengdeng 維護。它將桌面或任意圖片變成結構化元素(文本 + 圖標 + 像素座標),解決了模型在無多模態能力時難以進行 GUI 交互的問題。

核心功能

插件提供以下核心能力:
* 屏幕識別:截取桌面或解析圖片,通過 OmniParser 提取帶像素座標的可交互元素。
* 桌面自動化:支持點擊、雙擊、右鍵、拖拽、輸入、按鍵、熱鍵及滾輪操作,可按元素 ID 或原始座標執行。
* 實時識別 Dock:提供帶有 SOM 標註的實時識別視圖,支持懸停高亮和點擊放大。
* 識別記錄:記錄歷史識別結果,並展示與最新結果相比的增刪改情況。
* 一鍵總結:將當前識別的結構化信息發送至會話,由模型進行總結。
* 圖片解析:通過 Dock 選擇本地圖片文件進行解析,繞開模型多模態限制。
* 調用記錄:追蹤每次 gui_* 工具調用與具體的動作執行情況。

安裝與啓用

安裝命令如下:

dsh plugin --profile web add dsh_omnivision

安裝完成後,必須重啓 web 進程以加載插件。插件作爲 profile bundle 層加載,分爲 Host 半(註冊工具)和 Client 半(提供瀏覽器界面)。

前置依賴

使用前需滿足以下條件:
* 平臺:僅支持 Windows。
* OmniParser 服務:需確保 OmniParser FastAPI 服務運行在 127.0.0.1:8000。
* Python 依賴:運行環境的 Python venv 需安裝 pyautogui,用於截圖和輸入自動化。

工具說明

插件向共享工具註冊表註冊了以下 gui_* 工具:
* gui_capture:截屏並運行 OmniParser,提取交互元素,刷新視覺狀態。
* gui_act:在桌面上執行真實的鼠標/鍵盤操作。
* gui_find:根據文本或類型搜索上一次識別的元素。
* gui_state:查看當前視覺狀態而不重新解析。
* gui_verify:重新截屏解析,反覆確認特定文本的出現或消失。
* gui_task:執行多步驟 UI 計劃,步驟間支持重新解析與斷言。
* gui_open_app:通過 Windows AUMID 啓動已安裝的桌面應用。
* gui_parse_image:解析會話中的第三方圖片(附件)進入共享視覺狀態。

使用方法

模型側直接調用上述 gui_* 工具與插件交互。瀏覽器側的 OmniVision Dock 提供了可視化的操作面板,包括智能識別視圖、解析圖片、一鍵總結、識別記錄和調用記錄。

注意事項

  • 插件運行在當前 dsh 進程的權限下,請確保對目標應用有操作權限。
  • 使用前務必檢查源碼與許可證,確保符合使用規範。

結語

OmniVision 爲 DeepSeek Harness 提供了標準化的 GUI 操作接口,適合需要處理桌面任務的智能體開發場景。更多細節可查閱官方目錄或GitHub 倉庫。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜