A simple screen parsing tool towards pure vision based GUI agentOmniParser: Screen Parsing tool for Pure Vision Based GUI Agent π’ [Project Page] [V2 Blog Post] [Models V2] [Models V1.5] [huggingface space (to be updated)] OmniParser is a comprehensive method for parsing user interface screenshots into structured and easy-to-understand elements, which significantly enhances the ability of GPT-4V to generate actions that can be accurately grounded in the corresponding regions of the interfβ¦
Π ΠΎΡΠ²Π΅Ρ Π½Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π±ΡΠ²ΡΠ΅Π³ΠΎ Π°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠΎΠ³ΠΎ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ°ΡΠ° ΠΠ°ΡΠΊΠ° Π€ΠΎΠ³Π΅Π»Ρ ΠΈΠ· ΡΠΎΡΡΠΈΠΉΡΠΊΠΎΠΉ ΡΡΡΡΠΌΡ, Π°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠΈΠ΅ Π²Π»Π°ΡΡΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΊΡΠΈΠΏΡΠΎΠ±ΠΈΡΠΆΠΈ BTC-e ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡΠ° ΠΠΈΠ½Π½ΠΈΠΊΠ°.
ΠΡΠ»Π΅Π΄ Π·Π° Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π½ΠΊΡΠΈΠΉ ΠΏΡΠΎΡΠΈΠ² Β«ΠΏΡΠ»Π΅Π½Π΅ΠΏΡΠΎΠ±ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎΒ» Ρ ΠΎΡΡΠΈΠ½Π³-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ° Zservers Π½Π°ΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ»ΠΈΡΠΈΡ ΠΠΈΠ΄Π΅ΡΠ»Π°Π½Π΄ΠΎΠ² (Politie) ΡΠΎΠΎΠ±ΡΠΈΠ»Π° ΠΎΠ± ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΈ ΠΊΠΎΠ½ΡΠΈΡΠΊΠ°ΡΠΈΠΈ 127 ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Π²ΡΠΈΡ Zservers/XHost.
ΠΠ»Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠΎΠ²ΠΡΠΎ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ°Ρ Π³Π»Π°Π²Π° ΠΏΡΠΈΠΊΠ»ΡΡΠ΅Π½ΡΠ΅ΡΠΊΠΎβΡΠ°Π½ΡΠ°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈΡΡΠΎΡΠΈΠΈ Β«Π₯Π°ΠΊΠ΅ΡΡ.RUΒ». ΠΠ°ΠΆΠ΄ΡΡ ΡΡΠ±Π±ΠΎΡΡ ΠΌΡ ΠΏΡΠ±Π»ΠΈΠΊΡΠ΅ΠΌ ΠΏΠΎΒ ΠΎΠ΄Π½ΠΎΠΉ Π³Π»Π°Π²Π΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π΄Π»ΡΒ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠΎΠ² Β«Π₯Π°ΠΊΠ΅ΡΠ°Β». ΠΡΠ»ΠΈ ΡΡ Π΅ΡΠ΅Β Π½Π΅ ΡΠΈΡΠ°Π΅ΡΡ, Π½Π°ΡΠΈΠ½Π°ΠΉ ΡΒ ΠΏΠ΅ΡΠ²ΠΎΠΉ!
ΠΠ°Π²Π΅ΡΠ½ΠΎΠ΅, ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²ΡΠΎΡΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π° ΠΠΠΠ‘ Π² Π½Π°ΡΠ°Π»Π΅ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΡΠΈ ΠΏΡΡΠ°Π»ΡΡ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠ²ΠΎΠΈΡ ΡΡ Π΅ΠΌ. ΠΡΠΎ-ΡΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π» TFT-Π΄ΠΈΡΠΏΠ»Π΅ΠΉ, ΠΊΡΠΎ-ΡΠΎ β VGA ΠΌΠΎΠ½ΠΈΡΠΎΡ. Π Ρ ΠΌΠ΅Π½Ρ ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠΉ ΠΎΠΊΠ°Π·Π°Π»ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»Π΅Π²ΠΈΠ·ΠΎΡ Ρ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΡΠΌ Π²Ρ ΠΎΠ΄ΠΎΠΌ. ΠΡ ΡΡΠΎ ΠΆ, ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π΅ΡΡΡ! ΠΠΈΡΠΊΠ»Π΅ΠΉΠΌΠ΅ΡΠ‘ΡΠ°Π·Ρ ΡΠΊΠ°ΠΆΡ, ΡΡΠΎ ΡΡΠ°ΡΡΡ ΡΠ°ΡΡΡΠΈΡΠ°Π½Π° Π½Π° Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΡΠ»ΠΈ ΡΡΠ΄Π° ΡΠΎ ΡΡΠ°ΡΡΠΎΠ²ΡΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π·Π° ΠΏΠ»Π΅ΡΠ°ΠΌΠΈ ΠΈ ΡΠΎΠΆΠ΅ Ρ ΠΎΡΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΌΡΠ»ΡΡΠΈΠΊΠΈ Π½Π° ΠΠΠΠ‘. ΠΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠΎΡΠΈΠ°Π»ΠΎΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ ΡΠΏΠΎΡΠ½ΡΠ΅, ΡΠ°ΡΡβ¦
Π’Π΅ΠΊΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ° Π² Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ Π΄Π΅ΡΠ΅Π²Π΅Π½ΡΠΊΠΎΠΉ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠΈΠΈ-ΠΌΠ°ΡΡΠ΅ΡΡΠΊΠΎΠΉ, ΠΈΠΌΠ΅ΡΡΠ°Ρ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ΅Π»ΡΡ Π·Π°ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°Π²ΡΠΊΠΎΠ². Π ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΡΠΎ ΠΈ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ»Π° ΠΌΠΎΠ»ΠΈΠ±Π΄Π΅Π½ΠΎΠ²ΠΎΠΉ Π³ΡΡΠΏΠΏΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π½Π° ΠΏΡΠΎΡΡΠΎΠΉ Π³Π°Π·ΠΎΡΠ²Π°ΡΠΎΡΠ½ΠΎΠΉ Π³ΠΎΡΠ΅Π»ΠΊΠ΅, ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² Π»Π°ΠΌΠΏΠ°Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ΄ΠΎΠ² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΡΠΎΡΠ½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡ, ΠΈ ΡΠΏΡΠΎΡΡΠ½Π½Π°Ρ ΠΎΡΠΊΠ°ΡΠΊΠ°-Π½Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π»Π°ΠΌΠΏ ΠΈΠ½Π΅ΡΡΠ½ΡΠΌ Π³Π°Π·ΠΎΠΌ. Π§Π°ΡΡΡ ΡΡΠ΅ΠΊΠ»ΠΎΠ΄ΡΠ²Π½Π°Ρ ΠΡΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈΠ·Π³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΡΠΎΠΉ Π»Π°ΠΌΠΏΡ Ρ Π³ΡΠ΅Π±Π΅ΡΠΊΠΎΠ²ΠΎΠΉ Π½ΠΎΠΆΠΊΠΎΠΉ ΡΡΠ΅Π±ΡΡΡΡΡ Π·Π°Π³ΠΎΡΠΎΠ²ΠΊΠΈ-ΡΡΡΠ±ΠΊΠΈ ΡΡβ¦
ΠΡΠΎ ΠΌΠΎΡ ΠΏΠ΅ΡΠ²Π°Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ, ΡΠΈΠ»ΡΠ½ΠΎ Π½Π΅ ΡΡΠ³Π°ΠΉΡΠ΅ΡΡ.Π§Π°ΡΡΡ 1. ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΠΌ Π΄ΠΎΠ²Π΅ΡΡΡΡ ?ΠΠ°ΠΌ Π²Π΄ΡΡΠ³ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΠ»ΠΎΡΡ ΡΠ΅ΡΠΈΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΡΡ Π·Π°Π΄Π°ΡΠΊΡ, Π° ΡΠΊΠΎΠ»ΡΠ½ΡΠΉ ΠΊΡΡΡ ΡΠΈΠ·ΠΈΠΊΠΈ ΠΈ/ΠΈΠ»ΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΈ Π½Π΅ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ (Π½Π΅ Π·Π½Π°Π΅ΡΠ΅ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π·Π½Π°ΡΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Ρ ΠΎΡΠ΅Π»ΠΈ) ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΡΠΈΡΡ ΠΏΠΎΠΌΠΎΡΠΈ Ρ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ ΡΠ΅Ρ Π½Π°ΡΡ, ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠΎΠ²Π°Π½Π½ΡΠΌ Π·Π½Π°ΠΊΠΎΠΌΡΠΌ ΡΠΊΠΎΠ»ΡΠ½ΠΈΠΊΠ°ΠΌ ΡΡΠ°ΡΡΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈΠ»ΠΈ ΠΊ ΡΡΡΠ΄Π΅Π½ΡΠ°ΠΌ, Π½Π°ΠΏΠΈΡΠ°ΡΡ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠΎΡΡΠΌ (ΠΊΠ°ΠΊΠΎΠΉ ΡΠΎΡΡΠΌ Π² 2025 Π³ΠΎΠ΄Ρ, ΡΡΠΎ Π½Π°Π΄ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ, ΠΎΡΠ²Π΅ΡΡΡ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΠΊΠΎΠ³Π΄Π° ΠΈ Ρ.Π΄.), Π½ΠΎβ¦
Omap β ΡΡΠΎ ΠΏΠ°ΠΊΠ΅Ρ Golang Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌΠΈ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΌΠΈ map. Π£ΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½Π°Ρ map ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ map golang, list ΠΈ mutex Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΠΎΠΉ map.Π£ΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½Π°Ρ mapβ ΡΡΠΎ map, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². Map ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ.ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΠ°ΠΊΠ΅Ρ omap GoΠΠ°ΠΊΠ΅Ρ omap Go β ΡΡΠΎ Π»Π΅Π³ΠΊΠ°Ρ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΌΠΈ map Π² Go. Π£ΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½Π°Ρ mapβ ΡΡΠΎ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ β¦
Π ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠ΅Π±ΡΡΡ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ. Π§Π°ΡΡ, ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ, ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ², ΠΎΠ½Π»Π°ΠΉΠ½-ΠΈΠ³ΡΡ β Π²ΡΠ΅ ΠΎΠ½ΠΈ Π½ΡΠΆΠ΄Π°ΡΡΡΡ Π² ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΠΊΠ°Π½Π°Π»Π΅ ΡΠ²ΡΠ·ΠΈ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΡΠΌ, Π·Π°ΡΠ΅ΠΌ Π½ΡΠΆΠ΅Π½ WebSocket, ΠΊΠ°ΠΊ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π² ΡΡΠΌ Π΅Π³ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΠ΅ΠΌΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Socket.IO ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ΄ΠΎΠ±Π½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ .Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ WebSocket?ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ β¦